diff --git a/AUTHORS b/AUTHORS
index 9c646612b264093362aa233db147cd18ccfe8390..b57e57a657d3e9f0f76f43140917dfa7ab897dff 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,8 +1,10 @@
 CURRENT DEVELOPERS:
 
-Yann Le Boulanger (asterix AT lagaule.org)
+Yann Leboulanger (asterix AT lagaule.org)
 Nikos Kouremenos (kourem AT gmail.com)
 Travis Shirk (travis AT pobox.com)
+Stephan Erb (steve-e AT h3c.de)
+Julien Pivotto (roidelapluie AT gmail.com)
 
 PAST DEVELOPERS:
 
diff --git a/COPYING b/COPYING
index e90dfed1a31ed1c0c22befce22c6f37f9cf5f2bb..94a9ed024d3859793618152ea559a168bbcbb5e2 100644
--- a/COPYING
+++ b/COPYING
@@ -1,285 +1,626 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
 
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-			    Preamble
+                            Preamble
 
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
 price.  Our General Public Licenses are designed to make sure that you
 have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
 
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
 
   For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
 
   The precise terms and conditions for copying, distribution and
 modification follow.
 
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
 this License.
 
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
 otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
 be similar in spirit to the present version, but may differ in detail to
 address new problems or concerns.
 
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
 possible use to the public, the best way to achieve this is to make it
@@ -287,15 +628,15 @@ free software which everyone can redistribute and change under these terms.
 
   To do so, attach the following notices to the program.  It is safest
 to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
+state the exclusion of warranty; and each file should have at least
 the "copyright" line and a pointer to where the full notice is found.
 
     <one line to give the program's name and a brief idea of what it does.>
     Copyright (C) <year>  <name of author>
 
-    This program is free software; you can redistribute it and/or modify
+    This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
+    the Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.
 
     This program is distributed in the hope that it will be useful,
@@ -304,37 +645,30 @@ the "copyright" line and a pointer to where the full notice is found.
     GNU General Public License for more details.
 
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 Also add information on how to contact you by electronic and paper mail.
 
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
 
-    Gnomovision version 69, Copyright (C) year  name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     This is free software, and you are welcome to redistribute it
     under certain conditions; type `show c' for details.
 
 The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/ChangeLog b/ChangeLog
index a4fba5334e162e15a5bb8b99aa2345e1e2bcf075..09d38878478915feb02b95ef048ce5fab647f0f2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+Gajim 0.11.4 (06 December 2007)
+
+  * Fix /nick command in groupchats
+  * Better Metacontacts sorting
+  * Fix Ctrl + PageUP/Down behaviour
+  * Fix saving files from filetransfer under windows
+
+Gajim 0.11.3 (17 November 2007)
+
+  * Fix bookmarks support detection
+  * Improve file transfer on windows
+  * Fix some zeroconf bugs
+  * Fix focus bug in chat window
+  * Fix nickname changement behaviour in groupchats
+
+Gajim 0.11.2 (22 September 2007)
+
+  * Improve idle, transports support
+  * Enable ellipsization in roster and chatwindow
+  * Fixed some metacontacts problems (#2156, #2761)
+  * Beter support of XEP-0070 (Verifying HTTP Requests via XMPP)
+  * Make the same height of a banner for all chat tabs
+  * Fix a bug with french translation and invitations (#3043)
+  * Fix a bug with UTF-8 and emoticons
+  * Corrected many bugs with passwords and gnome-keyring
+  * Improve xhtml-im and pictures support
+  * Improve Ad-Hoc support
+  * And many other bufixes
+
 Gajim 0.11.1 (18 February 2007)
   * Fixes in gajim-remote and the way XMPP URI are handled
   * Fix Idle under Windows
diff --git a/Makefile.am b/Makefile.am
index 50329095c35dfa0e1a9ddd2b245d04cd76049838..59a6d995d756e4e4632921907d05aa7a6e565bad 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -48,6 +48,16 @@ MAINTAINERCLEANFILES = \
 	compile \
 	depcomp \
 	config.guess \
+	config.log \
 	config.sub \
+	config.status \
 	aclocal.m4 \
-	libtool
+	libtool \
+	po/POTFILES.in \
+	src/trayicon_la-eggtrayicon.loT \
+	m4/intltool.m4
+
+MAINTAINERCLEANDIRS = \
+	autom4te.cache \
+	build \
+	dist
diff --git a/README.html b/README.html
index c59ac15a9a328c8a373e4b032214d9662efc2337..f1f224896985122470d4edb8120163b8974142ac 100644
--- a/README.html
+++ b/README.html
@@ -16,7 +16,7 @@ Welcome to Gajim and thank you for trying out our client.
 <h2>Runtime Requirements</h2>
 <ul>
 <li>python2.4 or higher</li>
-<li>pygtk2.6 or higher</li>
+<li>pygtk2.8 or higher</li>
 <li>python-libglade</li>
 <li>pysqlite2 (if you have python 2.5, you already have this)</li>
 </ul>
@@ -29,6 +29,7 @@ Gajim is a GTK+ app that loves GNOME. You can do 'make' so you don't require gno
 <h2>Optional Runtime Requirements</h2>
 <ul>
 <li><a href="http://pyopenssl.sourceforge.net/">PyOpenSSL</a> (python-pyopenssl package in Debian) for <em>secure</em> SSL/TLS. Python's default SSL is insecure, so this package is highly recommended!</li>
+<li>python-crypto to enable End to end encryption</li>
 <li>For zeroconf (bonjour), the "enable link-local messaging" checkbox, you need dbus-glib, python-avahi</li>
 <li>dnsutils (or whatever package provides the nslookup binary) for SRV support; if you don't know what that is, you don't need it</li>
 <li>gtkspell and aspell-LANG where lang is your locale eg. en, fr etc</li>
@@ -37,6 +38,7 @@ Gajim is a GTK+ app that loves GNOME. You can do 'make' so you don't require gno
 <li>notification-daemon or notify-python (and D-Bus) to get cooler popups</li>
 <li>D-Bus running to have gajim-remote working</li>
 <li>python-dbus bindings</li>
+<li>python-sexy to have clickable URLs in chat windows</li>
 </ul>
 
 <p>
diff --git a/README.osx b/README.osx
new file mode 100644
index 0000000000000000000000000000000000000000..64c45ad858017d7f7aeabd5324ddcc746f92e1c9
--- /dev/null
+++ b/README.osx
@@ -0,0 +1,99 @@
+Introduction
+------------
+
+This is an alpha release of Gajim for OS/X using native GTK+. It is not finished
+nor is it relatively stable. The native port of GTK+ is alpha and not stable
+yet, though it has proven to be usable for Gajim. Having said that it is usable,
+basic functionality works. See the TODO file for a list of what is and is not
+working.
+
+
+
+Installing
+----------
+
+Install the GTK+ framework into your /Library/Frameworks directory. It can be
+found at http://codepunks.org/misc/gtk/osx.
+
+Copy the Gajim.app into the /Applications directory or any other directory.
+
+
+Installing language dictionaries
+--------------------------------
+
+The codepunks.org build of the GTK+ framework comes with the US English
+dictionary pre-installed. If you wish to install a different dictionary download
+the appropriate dictionary from here:
+
+http://ftp.gnu.org/gnu/aspell/dict/
+
+Then follow these instructions:
+
+source /Library/Frameworks/GTK+.framework/Versions/Current/bin/env
+tar -jxf aspell-<lang>-<version>.tbz2
+cd aspell-<lang>-<version>
+./configure
+make
+make install
+
+
+Compiling Requirements
+----------------------
+These instructions were gathered for building a universal binary on a PPC. The
+steps for building on an i386 should be essentially the same.
+
+Requirements:
+- OS/X 10.4, i386 or ppc
+- Universal MacPython 2.5
+    http://www.pythonmac.org/packages/py25-fat/index.html
+- Latest XCode (2.4.0 or greater)
+- py2app
+    http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html
+
+Install all of the requirements. Make sure that the universal MacPython is
+installed before py2app. Then ensure that this is the first python in your
+PATH.
+
+    export PATH=/Library/Frameworks/Python.framework/Versions/2.5/bin:$PATH
+
+Then install py2app.
+
+
+Compiling
+---------
+
+In the top level run the configure script. If this is source is from subversion
+then run the autogen.sh script. Follow it up with a make:
+
+    ./configure
+        or
+    ./autogen.sh
+    make
+
+Once that is done Gajim can be run from the source tree. You may also create an
+app bundle suitable for use or distribution. To do that run:
+
+    python setup_osx.py build
+
+The Gajim.app bundle is created in the dist directory. This bundle is ready
+for use as is. Copy it to your /Applications directory and you're good to go.
+
+You now have a self contained (almost, requires GTK+.framework still) universal
+native build of Gajim.
+
+Optionally to create a distribution of the Gajim app bundle do:
+
+    python setup_osx.py dist
+
+
+
+Development
+-----------
+
+It is possible to run Gajim correctly from the app bundle but still use the 
+python code in the source tree. This line must be added to the _run() function 
+in the Gajim.app/Resources/__boot__.py file. It needs to be located just after
+the sys module is imported. Font forget to fix the path to match your
+environment.
+
+sys.path = ["/Users/user/Source/gajim/src"] + sys.path
diff --git a/THANKS b/THANKS
index 4e1288a786e8d55f959a90200644dde7c40eeef7..e00eaa901b391e8c547942de4727a2228fa890d4 100644
--- a/THANKS
+++ b/THANKS
@@ -20,7 +20,6 @@ Guillaume Morin
 Gustavo J. A. M. Carneiro
 Ivo Anjo
 Josef Vybíral
-Julien Pivotto
 Juraj Michalek
 Luis Peralta
 Michael Scherer
diff --git a/TODO.osx b/TODO.osx
new file mode 100644
index 0000000000000000000000000000000000000000..b5c332299de2efa7e6b894d6b070dfb04b6b387b
--- /dev/null
+++ b/TODO.osx
@@ -0,0 +1,36 @@
+The bits that work
+------------------
+
+-idle checking
+-dbus and gajim-remote, using dbus from GTK+.framework.
+-systray icon
+-app bundle with universal binaries. Depends on the GTK+.framework.
+-notifications through growl, internal fallback works fine as well
+-spell checking
+-running apps and opening files/urls
+-playing sounds
+-Network monitoring
+-Mostly everything else except for whats below.
+
+
+
+The bits that dont work
+-----------------------
+
+-Application start/stop/doc/DnD handling
+-finish the .app bundle
+   - setup gajim-remote, maybe install it to /usr/local
+   - fix user session management
+-integrate the Gajim and gajim-remote scripts with autoconf and add GTK
+ framework detection
+-Maybe setup the pasteboard services for an OS/X alternative to the
+ gajim_remote
+-CFBundleDocumentTypes.NSDocument
+-zeroconf has a parsing problem with the MDNS result.
+
+
+Native GTK bugs
+----------------
+
+-cut and paste blows up Finder and the os/x GUI server. very very nasty.
+-with mutiple displays, popup menus show up on the wrong display
diff --git a/autogen.sh b/autogen.sh
index dbf2cc8121d60ecb1369d8d3ff711139d62f9a35..97eb8bbce18658cddd96fa3ff0dc45f7ce6d499f 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,4 +1,12 @@
 #!/usr/bin/env bash
+  AM_ARGS="--add-missing --gnu --copy"
+  CONF_ARGS=""
+  if test x`uname -s 2>/dev/null` = 'xDarwin';then
+    . /Library/Frameworks/GTK+.framework/Versions/Current/env
+    AM_ARGS="${AM_ARGS} --ignore-deps"
+    CONF_ARGS="${CONF_ARGS} --disable-idle --without-x"
+  fi
+
   echo "[encoding: UTF-8]" > po/POTFILES.in \
   && ls -1 -U data/gajim.desktop.in.in data/glade/*.glade \
   src/*py src/common/*py src/common/zeroconf/*.py >> \
@@ -8,11 +16,11 @@
 	echo "See README.html for build requirements."
 	exit 1
   fi
-  set -x
+
   intltoolize --force --automake \
   && aclocal -I ./m4 \
   && libtoolize --copy --force --automake \
   && autoheader \
   && autoconf  \
-  && automake --add-missing --gnu --copy \
-  && ./configure $@
+  && automake ${AM_ARGS} \
+  && ./configure ${CONF_ARGS} $@
diff --git a/configure.ac b/configure.ac
index c4bdb142e214fccb486317774fa7e6e05758175d..68f3e9ada8ccf7660ae75c23abb2130bfaed57b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,11 +1,14 @@
 AC_INIT([Gajim - A Jabber Instant Messager],
-		[0.11.1.5],[http://trac.gajim.org/],[gajim])
+		[0.11.4.0-svn],[http://trac.gajim.org/],[gajim])
 AC_PREREQ([2.59])
 AM_INIT_AUTOMAKE([1.8])
 AC_CONFIG_HEADER(config.h)
 AC_CONFIG_MACRO_DIR([m4])
 AM_MAINTAINER_MODE
 
+dnl Make Objective-C work with automake
+AM_CONDITIONAL([am__fastdepOBJC], false)
+
 IT_PROG_INTLTOOL([0.35.0])
 PKG_PROG_PKG_CONFIG([0.19])
 
@@ -33,7 +36,7 @@ AM_NLS
 dnl ****
 dnl pygtk and gtk+
 dnl ****
-PKG_CHECK_MODULES([PYGTK], [gtk+-2.0 >= 2.6.0 pygtk-2.0 >= 2.6.0])
+PKG_CHECK_MODULES([PYGTK], [gtk+-2.0 >= 2.8.0 pygtk-2.0 >= 2.8.0])
 AC_SUBST(PYGTK_CFLAGS)
 AC_SUBST(PYGTK_LIBS)
 PYGTK_DEFS=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
@@ -128,6 +131,75 @@ AC_ARG_ENABLE(trayicon,
 test "x$enable_trayicon" = "xyes" && have_trayicon=true || have_trayicon=false
 AM_CONDITIONAL(BUILD_TRAYICON, $have_trayicon)
 
+dnl ****
+dnl Cocoa
+dnl ****
+AC_ARG_ENABLE([cocoa],
+  [  --disable-cocoa         build cocoa integration [default auto]],
+  enable_cocoa=$enableval, enable_cocoa=yes)
+
+if test "x$enable_cocoa" = "xyes";then 
+  dnl There is no pkgconfig for cocoa; lets do a header check
+  temp_save_cflags="$CFLAGS"
+  CFLAGS="$CFLAGS -ObjC"
+  AC_CHECK_HEADER(Cocoa/Cocoa.h, [have_cocoa=true], [have_cocoa=false])
+  AC_CHECK_HEADER(AppKit/AppKit.h, [have_appkit=true], [have_appkit=false])
+  CFLAGS="$temp_save_cflags"
+
+  if test "x$have_cocoa" = "xtrue";then
+     COCOA_LIBS="$COCOA_LIBS -Xlinker -framework -Xlinker Cocoa"
+  fi
+  if test "x$have_appkit" = "xtrue";then
+     COCOA_LIBS="$COCOA_LIBS -Xlinker -framework -Xlinker AppKit"
+  fi
+  if test "x$COCOA_LIBS" != "x";then
+	 AC_SUBST(COCOA_LIBS)
+     true
+  fi
+fi
+AM_CONDITIONAL(BUILD_COCOA, $have_cocoa)
+
+dnl ****
+dnl Carbon
+dnl ****
+AC_ARG_ENABLE([carbon],
+  [  --disable-carbon        build with carbon [default auto]],
+  enable_carbon=$enableval, enable_carbon=yes)
+
+if test "x$enable_carbon" = "xyes";then 
+  dnl There is no pkgconfig for carbon; lets do a header check
+  AC_CHECK_HEADER(Carbon/Carbon.h, [have_carbon=true], [have_carbon=false])
+  AC_CHECK_HEADER(IOKit/IOKitLib.h, [have_iokit=true], [have_iokit=false])
+
+  if test "x$have_carbon" = "xtrue";then
+     CARBON_LIBS="$CARBON_LIBS -Xlinker -framework -Xlinker Carbon"
+  fi
+  if test "x$have_iokit" = "xtrue";then
+     CARBON_LIBS="$CARBON_LIBS -Xlinker -framework -Xlinker IOKit"
+  fi
+  if test "x$CARBON_LIBS" != "x";then
+	 AC_SUBST(CARBON_LIBS)
+     have_idle_osx=true
+     dnl Disable X11 idle
+     have_idle=false
+     AM_CONDITIONAL(BUILD_IDLE, false)
+     dnl Disable custom trayicon
+     have_trayicon=gtk+
+     AM_CONDITIONAL(BUILD_TRAYICON, false)
+     dnl Hack to work around failure in gettext package detection on OS/X
+     if test "x$GMSGFMT" = "x";then
+        AC_SUBST(GMSGFMT, msgfmt)
+        AC_SUBST(MSGFMT, msgfmt)
+        AC_SUBST(XGETTEXT, xgettext)
+     fi
+  else
+	 have_carbon=false
+     have_idle_osx=false
+  fi
+fi
+AM_CONDITIONAL(BUILD_IDLE_OSX, $have_carbon)
+AM_CONDITIONAL(BUILD_CARBON, $have_carbon)
+
 ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
 AC_SUBST(ACLOCAL_AMFLAGS)
 
@@ -159,6 +231,9 @@ AC_CONFIG_FILES([
 	data/defs.py
 	src/Makefile
 	src/common/Makefile
+    src/osx/Makefile
+    src/osx/growl/Makefile
+    src/osx/syncmenu/Makefile
 	scripts/gajim
 	scripts/gajim-remote
 	po/Makefile.in
@@ -171,4 +246,6 @@ echo "
     idle module ...... ${have_idle}
     remote control ... ${have_remote}
     trayicon ......... ${have_trayicon}
+    idle module OSX .. ${have_idle_osx}
+    cocoa ............ ${have_cocoa}
 *****************************"
diff --git a/data/Makefile.am b/data/Makefile.am
index 9b6abc349cf9c9517f89c773864fbf1b8f63b874..c34b2916ff5846f3c71fe0f3c73fef6d381155bd 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -12,7 +12,7 @@ soundsdir = $(pkgdatadir)/data/sounds
 sounds_DATA = $(srcdir)/sounds/*.wav
 
 otherdir = $(pkgdatadir)/data/other
-other_DATA = other/servers.xml
+other_DATA = other/servers.xml other/cacerts.pem
 
 man_MANS = gajim.1 gajim-remote.1
 
diff --git a/data/emoticons/animated/emoticons.py b/data/emoticons/animated/emoticons.py
index 336124ee6cbb26708c84ef19623d45a7ee781de2..90d2c301134f4a934b965c4b0828061c10ae4513 100644
--- a/data/emoticons/animated/emoticons.py
+++ b/data/emoticons/animated/emoticons.py
@@ -1,3 +1,4 @@
+# coding=utf-8
 emoticons = {
 	':-[': 'bat.gif',
 	':[': 'bat.gif',
diff --git a/data/emoticons/static-big/emoticons.py b/data/emoticons/static-big/emoticons.py
index 50505816a8d2cd86c14e977a50b095f7af527436..977ce6ff20c545313b93d67c4eb88cf3e8760323 100644
--- a/data/emoticons/static-big/emoticons.py
+++ b/data/emoticons/static-big/emoticons.py
@@ -1,3 +1,4 @@
+# coding=utf-8
 emoticons = {
 	':-)': 'smile.png',
 	':)': 'smile.png',
@@ -54,6 +55,9 @@ emoticons = {
 #		
 	':-[': 'bat.png',
 	':[': 'bat.png',
+#
+	'>:3': 'lion.png',
+	':3': 'lion.png',
 #
 	#MSN ones
 	'(@)': 'pussy.png',
diff --git a/data/emoticons/static-big/lion.png b/data/emoticons/static-big/lion.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae10ca7bf7ad37bd8f3b0aa0fd3a2e16281a11e1
Binary files /dev/null and b/data/emoticons/static-big/lion.png differ
diff --git a/data/emoticons/static/emoticons.py b/data/emoticons/static/emoticons.py
index 50505816a8d2cd86c14e977a50b095f7af527436..977ce6ff20c545313b93d67c4eb88cf3e8760323 100644
--- a/data/emoticons/static/emoticons.py
+++ b/data/emoticons/static/emoticons.py
@@ -1,3 +1,4 @@
+# coding=utf-8
 emoticons = {
 	':-)': 'smile.png',
 	':)': 'smile.png',
@@ -54,6 +55,9 @@ emoticons = {
 #		
 	':-[': 'bat.png',
 	':[': 'bat.png',
+#
+	'>:3': 'lion.png',
+	':3': 'lion.png',
 #
 	#MSN ones
 	'(@)': 'pussy.png',
diff --git a/data/emoticons/static/lion.png b/data/emoticons/static/lion.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ab9e7d05d9a82a115bc81fbd1aa2dfdb83d961a
Binary files /dev/null and b/data/emoticons/static/lion.png differ
diff --git a/data/gajim-remote.1 b/data/gajim-remote.1
index 8b13ff1a84a70be54ca19ba56836dbe79170ab2a..9bbbc721414f1bb0d647be4c013951769742969a 100644
--- a/data/gajim-remote.1
+++ b/data/gajim-remote.1
@@ -1,7 +1,7 @@
 .\" 20050818
 .TH "Gajim-remote" "1" "August  18, 2005" "Gajim dev team" ""
 .SH "NAME"
-Gajim-remote
+Gajim-remote \- tool to communicate with a running instance of Gajim
 .SH "SYNOPSIS"
 .B gajim-remote [help] [toggle_roster_appearance] [show_next_unread] [list_contacts] [list_accounts] [change_status] [open_chat] [send_message] [send_file] [contact_info] [account_info] [send_file] [prefs_list] [prefs_put] [prefs_del] [prefs_store] [remove_contact] [add_contact] [get_status] [get_status_message] [get_unread_msgs_number] [start_chat] 
 .SH "DESCRIPTION"
diff --git a/data/gajim.desktop.in.in b/data/gajim.desktop.in.in
index 55b50e3ecb97b17d981e3ca8535739d042be5fc3..858078e09f8836238e5a2fc9f570e91f86a288ba 100644
--- a/data/gajim.desktop.in.in
+++ b/data/gajim.desktop.in.in
@@ -1,12 +1,11 @@
 [Desktop Entry]
-Categories=Network;InstantMessaging;Application;GTK;GNOME;
+Categories=Network;InstantMessaging;GTK;GNOME;
 _Name=Gajim Instant Messenger
 _GenericName=Jabber IM Client
 _Comment=A GTK+ Jabber client
-Version=@VERSION@
-Encoding=UTF-8
+Version=1.0
 Exec=gajim
-Icon=gajim.png
+Icon=gajim
 StartupNotify=true
 StartupWMClass=Gajim
 Terminal=false
diff --git a/data/glade/account_context_menu.glade b/data/glade/account_context_menu.glade
index f853d133b0aca908743ccb54d9be77b6111c92b8..4316c5f0c59c8656b006b05f257635444843967c 100644
--- a/data/glade/account_context_menu.glade
+++ b/data/glade/account_context_menu.glade
@@ -32,21 +32,31 @@
       </widget>
     </child>
     <child>
-      <widget class="GtkSeparatorMenuItem" id="seperator">
+      <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
         <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
       </widget>
     </child>
     <child>
-      <widget class="GtkMenuItem" id="open_gmail_inbox_menuitem">
+      <widget class="GtkImageMenuItem" id="start_chat_menuitem">
         <property name="visible">True</property>
-        <property name="label" translatable="yes">_Open Gmail Inbox</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="label" translatable="yes">_Start Chat...</property>
         <property name="use_underline">True</property>
+        <child internal-child="image">
+          <widget class="GtkImage" id="menu-item-image7">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="stock">gtk-jump-to</property>
+            <property name="icon_size">1</property>
+          </widget>
+        </child>
       </widget>
     </child>
     <child>
       <widget class="GtkImageMenuItem" id="join_group_chat_menuitem">
         <property name="visible">True</property>
-        <property name="label" translatable="yes">_Group Chat</property>
+        <property name="label" translatable="yes">Join _Group Chat...</property>
         <property name="use_underline">True</property>
         <child internal-child="image">
           <widget class="GtkImage" id="image1236">
@@ -57,6 +67,25 @@
         </child>
       </widget>
     </child>
+    <child>
+      <widget class="GtkSeparatorMenuItem" id="seperator">
+        <property name="visible">True</property>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkImageMenuItem" id="add_contact_menuitem">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">_Add Contact...</property>
+        <property name="use_underline">True</property>
+        <child internal-child="image">
+          <widget class="GtkImage" id="image1238">
+            <property name="visible">True</property>
+            <property name="stock">gtk-add</property>
+            <property name="icon_size">1</property>
+          </widget>
+        </child>
+      </widget>
+    </child>
     <child>
       <widget class="GtkImageMenuItem" id="service_discovery_menuitem">
         <property name="visible">True</property>
@@ -74,7 +103,7 @@
     <child>
       <widget class="GtkImageMenuItem" id="execute_command_menuitem">
         <property name="visible">True</property>
-        <property name="label" translatable="yes">_Execute Command</property>
+        <property name="label" translatable="yes">_Execute Command...</property>
         <property name="use_underline">True</property>
         <child internal-child="image">
           <widget class="GtkImage" id="image1246">
@@ -86,28 +115,21 @@
       </widget>
     </child>
     <child>
-      <widget class="GtkSeparatorMenuItem" id="seperator">
+      <widget class="GtkMenuItem" id="open_gmail_inbox_menuitem">
         <property name="visible">True</property>
+        <property name="label" translatable="yes">_Open Gmail Inbox</property>
+        <property name="use_underline">True</property>
       </widget>
     </child>
     <child>
-      <widget class="GtkImageMenuItem" id="add_contact_menuitem">
+      <widget class="GtkSeparatorMenuItem" id="seperator">
         <property name="visible">True</property>
-        <property name="label" translatable="yes">_Add Contact</property>
-        <property name="use_underline">True</property>
-        <child internal-child="image">
-          <widget class="GtkImage" id="image1238">
-            <property name="visible">True</property>
-            <property name="stock">gtk-add</property>
-            <property name="icon_size">1</property>
-          </widget>
-        </child>
       </widget>
     </child>
     <child>
       <widget class="GtkImageMenuItem" id="edit_account_menuitem">
         <property name="visible">True</property>
-        <property name="label" translatable="yes">_Modify Account...</property>
+        <property name="label" translatable="yes">_Modify Account</property>
         <property name="use_underline">True</property>
         <child internal-child="image">
           <widget class="GtkImage" id="image1240">
diff --git a/data/glade/account_creation_wizard_window.glade b/data/glade/account_creation_wizard_window.glade
index 93ba1cb8b100a974e1940e46ba878a58502367d8..38997769fafb7a5e4d73de628f009c854d2c9b30 100644
--- a/data/glade/account_creation_wizard_window.glade
+++ b/data/glade/account_creation_wizard_window.glade
@@ -35,7 +35,6 @@ to the Jabber network.</property>
                 <child>
                   <widget class="GtkFrame" id="frame33">
                     <property name="visible">True</property>
-                    <property name="label_xalign">0</property>
                     <property name="shadow_type">GTK_SHADOW_NONE</property>
                     <child>
                       <widget class="GtkAlignment" id="alignment68">
@@ -51,7 +50,7 @@ to the Jabber network.</property>
                               <widget class="GtkRadioButton" id="use_existing_account_radiobutton">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="label" translatable="yes">I already have an account I want to use</property>
+                                <property name="label" translatable="yes">I already have an account I want to _use</property>
                                 <property name="use_underline">True</property>
                                 <property name="response_id">0</property>
                                 <property name="draw_indicator">True</property>
@@ -99,9 +98,6 @@ to the Jabber network.</property>
                   </packing>
                 </child>
               </widget>
-              <packing>
-                <property name="tab_expand">False</property>
-              </packing>
             </child>
             <child>
               <widget class="GtkLabel" id="label259">
@@ -109,7 +105,6 @@ to the Jabber network.</property>
               </widget>
               <packing>
                 <property name="type">tab</property>
-                <property name="tab_expand">False</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
@@ -294,7 +289,6 @@ to the Jabber network.</property>
               </widget>
               <packing>
                 <property name="position">1</property>
-                <property name="tab_expand">False</property>
               </packing>
             </child>
             <child>
@@ -304,7 +298,6 @@ to the Jabber network.</property>
               <packing>
                 <property name="type">tab</property>
                 <property name="position">1</property>
-                <property name="tab_expand">False</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
@@ -526,7 +519,6 @@ to the Jabber network.</property>
               </widget>
               <packing>
                 <property name="position">2</property>
-                <property name="tab_expand">False</property>
               </packing>
             </child>
             <child>
@@ -536,7 +528,69 @@ to the Jabber network.</property>
               <packing>
                 <property name="type">tab</property>
                 <property name="position">2</property>
-                <property name="tab_expand">False</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="ssl_vbox">
+                <property name="visible">True</property>
+                <child>
+                  <widget class="GtkHBox" id="hbox1">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <widget class="GtkImage" id="image1">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="stock">gtk-dialog-warning</property>
+                        <property name="icon_size">5</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="ssl_label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkCheckButton" id="ssl_checkbutton">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">Add this certificate to the list of trusted certificates.
+SHA1 fingerprint of the certificate:
+</property>
+                    <property name="response_id">0</property>
+                    <property name="draw_indicator">True</property>
+                  </widget>
+                  <packing>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label482">
+                <property name="visible">True</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">3</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
@@ -548,8 +602,7 @@ to the Jabber network.</property>
                 </child>
               </widget>
               <packing>
-                <property name="position">3</property>
-                <property name="tab_expand">False</property>
+                <property name="position">4</property>
               </packing>
             </child>
             <child>
@@ -558,8 +611,7 @@ to the Jabber network.</property>
               </widget>
               <packing>
                 <property name="type">tab</property>
-                <property name="position">3</property>
-                <property name="tab_expand">False</property>
+                <property name="position">4</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
@@ -592,8 +644,7 @@ Please wait...</property>
                 </child>
               </widget>
               <packing>
-                <property name="position">4</property>
-                <property name="tab_expand">False</property>
+                <property name="position">5</property>
               </packing>
             </child>
             <child>
@@ -602,8 +653,7 @@ Please wait...</property>
               </widget>
               <packing>
                 <property name="type">tab</property>
-                <property name="position">4</property>
-                <property name="tab_expand">False</property>
+                <property name="position">5</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
@@ -671,8 +721,7 @@ Please wait...</property>
                 </child>
               </widget>
               <packing>
-                <property name="position">5</property>
-                <property name="tab_expand">False</property>
+                <property name="position">6</property>
               </packing>
             </child>
             <child>
@@ -681,8 +730,7 @@ Please wait...</property>
               </widget>
               <packing>
                 <property name="type">tab</property>
-                <property name="position">5</property>
-                <property name="tab_expand">False</property>
+                <property name="position">6</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
diff --git a/data/glade/accounts_window.glade b/data/glade/accounts_window.glade
index ecd00cea64244ba851a279a23742fed258292b70..4915193f989c023b10e61d9c8cd3edd679a98a98 100644
--- a/data/glade/accounts_window.glade
+++ b/data/glade/accounts_window.glade
@@ -780,42 +780,19 @@
                                       </packing>
                                     </child>
                                     <child>
-                                      <widget class="GtkHBox" id="hbox4">
+                                      <widget class="GtkCheckButton" id="use_gpg_agent_checkbutton1">
                                         <property name="visible">True</property>
-                                        <property name="spacing">6</property>
-                                        <child>
-                                          <widget class="GtkCheckButton" id="gpg_save_password_checkbutton1">
-                                            <property name="visible">True</property>
-                                            <property name="sensitive">False</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="tooltip" translatable="yes">If checked, Gajim will store the password in ~/.gajim/config with 'read' permission only for you</property>
-                                            <property name="label" translatable="yes">Save _passphrase (insecure)</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="draw_indicator">True</property>
-                                            <signal name="toggled" handler="on_gpg_save_password_checkbutton_toggled"/>
-                                          </widget>
-                                          <packing>
-                                            <property name="expand">False</property>
-                                            <property name="fill">False</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <widget class="GtkEntry" id="gpg_password_entry1">
-                                            <property name="visible">True</property>
-                                            <property name="sensitive">False</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="visibility">False</property>
-                                            <property name="invisible_char">*</property>
-                                            <signal name="changed" handler="on_gpg_password_entry_changed"/>
-                                          </widget>
-                                          <packing>
-                                            <property name="position">1</property>
-                                          </packing>
-                                        </child>
+                                        <property name="sensitive">False</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="tooltip" translatable="yes">If checked, Gajim will get the password from a GPG agent like seahorse</property>
+                                        <property name="label" translatable="yes">Use GPG _Agent</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="draw_indicator">True</property>
+                                        <signal name="toggled" handler="on_use_gpg_agent_checkbutton_toggled"/>
                                       </widget>
                                       <packing>
                                         <property name="expand">False</property>
-                                        <property name="position">1</property>
+                                        <property name="fill">False</property>
                                       </packing>
                                     </child>
                                   </widget>
@@ -1218,40 +1195,18 @@ You might consider to change possible firewall settings.</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkHBox" id="hbox7">
+                                  <widget class="GtkCheckButton" id="use_gpg_agent_checkbutton2">
                                     <property name="visible">True</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <widget class="GtkCheckButton" id="gpg_save_password_checkbutton2">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="tooltip" translatable="yes">If checked, Gajim will store the password in ~/.gajim/config with 'read' permission only for you</property>
-                                        <property name="label" translatable="yes">Save _passphrase (insecure)</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                        <signal name="toggled" handler="on_gpg_save_password_checkbutton_toggled"/>
-                                      </widget>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <widget class="GtkEntry" id="gpg_password_entry2">
-                                        <property name="visible">True</property>
-                                        <property name="sensitive">False</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="visibility">False</property>
-                                        <property name="invisible_char">*</property>
-                                        <signal name="changed" handler="on_gpg_password_entry_changed"/>
-                                      </widget>
-                                      <packing>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
+                                    <property name="can_focus">True</property>
+                                    <property name="tooltip" translatable="yes">If checked, Gajim will get the password from a GPG agent like seahorse</property>
+                                    <property name="label" translatable="yes">Use GPG _Agent</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="draw_indicator">True</property>
+                                    <signal name="toggled" handler="on_use_gpg_agent_checkbutton_toggled"/>
                                   </widget>
                                   <packing>
-                                    <property name="position">2</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
                                   </packing>
                                 </child>
                               </widget>
diff --git a/data/glade/add_new_contact_window.glade b/data/glade/add_new_contact_window.glade
index cd10d283e2faa78201415364c7c47988166b9514..004d86963024bcaba3d5fed8e25eab3879fe1e59 100644
--- a/data/glade/add_new_contact_window.glade
+++ b/data/glade/add_new_contact_window.glade
@@ -206,6 +206,7 @@
           <widget class="GtkCheckButton" id="auto_authorize_checkbutton">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
+            <property name="no_show_all">True</property>
             <property name="label" translatable="yes">A_llow this contact to view my status</property>
             <property name="use_underline">True</property>
             <property name="response_id">0</property>
diff --git a/data/glade/advanced_menuitem_menu.glade b/data/glade/advanced_menuitem_menu.glade
index b331dbb3ed9d5ed76371427d7c3bb32023c14512..f90116d8144d105260adffa83e37e1474fa8763a 100644
--- a/data/glade/advanced_menuitem_menu.glade
+++ b/data/glade/advanced_menuitem_menu.glade
@@ -1,142 +1,80 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-
-<widget class="GtkMenu" id="advanced_menuitem_menu">
-
-  <child>
-    <widget class="GtkImageMenuItem" id="send_single_message_menuitem">
-      <property name="label" translatable="yes">_Send Single Message</property>
-      <property name="use_underline">True</property>
-
-      <child internal-child="image">
-	<widget class="GtkImage" id="image1466">
-	  <property name="visible">True</property>
-	  <property name="stock">gtk-new</property>
-	  <property name="icon_size">1</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-      </child>
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkMenuItem" id="xml_console_menuitem">
-      <property name="label" translatable="yes">Show _XML Console</property>
-      <property name="use_underline">True</property>
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkImageMenuItem" id="blocked_contacts_menuitem">
-      <property name="visible">True</property>
-      <property name="label" translatable="yes">_Blocked Contacts</property>
-      <property name="use_underline">True</property>
-      <signal name="activate" handler="on_blocked_contacts_menuitem_activate" last_modification_time="Thu, 19 Apr 2007 15:32:47 GMT"/>
-
-      <child internal-child="image">
-	<widget class="GtkImage" id="image1467">
-	  <property name="visible">True</property>
-	  <property name="stock">gtk-stop</property>
-	  <property name="icon_size">1</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-      </child>
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkMenuItem" id="privacy_lists_menuitem">
-      <property name="label" translatable="yes">_Privacy Lists</property>
-      <property name="use_underline">True</property>
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkSeparatorMenuItem" id="separator8">
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkMenuItem" id="administrator_menuitem">
-      <property name="label" translatable="yes">_Administrator</property>
-      <property name="use_underline">True</property>
-
-      <child>
-	<widget class="GtkMenu" id="administrator_menuitem_menu">
-
-	  <child>
-	    <widget class="GtkImageMenuItem" id="send_server_message_menuitem">
-	      <property name="tooltip" translatable="yes">Sends a message to users currently connected to this server</property>
-	      <property name="label" translatable="yes">_Send Server Message</property>
-	      <property name="use_underline">True</property>
-
-	      <child internal-child="image">
-		<widget class="GtkImage" id="image1468">
-		  <property name="visible">True</property>
-		  <property name="stock">gtk-new</property>
-		  <property name="icon_size">1</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkSeparatorMenuItem" id="separator9">
-	      <property name="visible">True</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkMenuItem" id="set_motd_menuitem">
-	      <property name="tooltip" translatable="yes">Sets Message of the Day</property>
-	      <property name="label" translatable="yes">Set MOTD</property>
-	      <property name="use_underline">True</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkMenuItem" id="update_motd_menuitem">
-	      <property name="tooltip" translatable="yes">Updates Message of the Day</property>
-	      <property name="label" translatable="yes">Update MOTD</property>
-	      <property name="use_underline">True</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkImageMenuItem" id="delete_motd_menuitem">
-	      <property name="tooltip" translatable="yes">Deletes Message of the Day</property>
-	      <property name="label" translatable="yes">Delete MOTD</property>
-	      <property name="use_underline">True</property>
-
-	      <child internal-child="image">
-		<widget class="GtkImage" id="image1469">
-		  <property name="visible">True</property>
-		  <property name="stock">gtk-clear</property>
-		  <property name="icon_size">1</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		</widget>
-	      </child>
-	    </widget>
-	  </child>
-	</widget>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+  <widget class="GtkMenu" id="advanced_menuitem_menu">
+    <child>
+      <widget class="GtkMenuItem" id="xml_console_menuitem">
+        <property name="label" translatable="yes">Show _XML Console</property>
+        <property name="use_underline">True</property>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkMenuItem" id="privacy_lists_menuitem">
+        <property name="label" translatable="yes">Edit _Privacy Lists...</property>
+        <property name="use_underline">True</property>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkSeparatorMenuItem" id="separator8">
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkMenuItem" id="administrator_menuitem">
+        <property name="label" translatable="yes">_Administrator</property>
+        <property name="use_underline">True</property>
+        <child>
+          <widget class="GtkMenu" id="administrator_menuitem_menu">
+            <child>
+              <widget class="GtkImageMenuItem" id="send_server_message_menuitem">
+                <property name="tooltip" translatable="yes">Sends a message to users currently connected to this server</property>
+                <property name="label" translatable="yes">_Send Server Message...</property>
+                <property name="use_underline">True</property>
+                <child internal-child="image">
+                  <widget class="GtkImage" id="image1468">
+                    <property name="visible">True</property>
+                    <property name="stock">gtk-new</property>
+                    <property name="icon_size">1</property>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkSeparatorMenuItem" id="separator9">
+                <property name="visible">True</property>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="set_motd_menuitem">
+                <property name="tooltip" translatable="yes">Sets Message of the Day</property>
+                <property name="label" translatable="yes">Set MOTD...</property>
+                <property name="use_underline">True</property>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkMenuItem" id="update_motd_menuitem">
+                <property name="tooltip" translatable="yes">Updates Message of the Day</property>
+                <property name="label" translatable="yes">Update MOTD...</property>
+                <property name="use_underline">True</property>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkImageMenuItem" id="delete_motd_menuitem">
+                <property name="tooltip" translatable="yes">Deletes Message of the Day</property>
+                <property name="label" translatable="yes">Delete MOTD</property>
+                <property name="use_underline">True</property>
+                <child internal-child="image">
+                  <widget class="GtkImage" id="image1469">
+                    <property name="visible">True</property>
+                    <property name="stock">gtk-clear</property>
+                    <property name="icon_size">1</property>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+          </widget>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff --git a/data/glade/chat_context_menu.glade b/data/glade/chat_context_menu.glade
index 4bfa143a0c5f607a6ec86aa5be9eaa83cf6651f8..7a0179187e0c7eb9e68109df30b17954342c48b8 100644
--- a/data/glade/chat_context_menu.glade
+++ b/data/glade/chat_context_menu.glade
@@ -135,7 +135,7 @@
   <child>
     <widget class="GtkImageMenuItem" id="add_to_roster_menuitem">
       <property name="visible">True</property>
-      <property name="label" translatable="yes">_Add to Roster</property>
+      <property name="label" translatable="yes">_Add to Roster...</property>
       <property name="use_underline">True</property>
 
       <child internal-child="image">
diff --git a/data/glade/chat_control_popup_menu.glade b/data/glade/chat_control_popup_menu.glade
index c3ebb1e2451605e4a49450af9525004211d5989d..36dd58801ec45ca703653669d085e4d78791dfd8 100644
--- a/data/glade/chat_control_popup_menu.glade
+++ b/data/glade/chat_control_popup_menu.glade
@@ -1,90 +1,104 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-
-<widget class="GtkMenu" id="chat_control_popup_menu">
-
-  <child>
-    <widget class="GtkImageMenuItem" id="history_menuitem">
-      <property name="visible">True</property>
-      <property name="tooltip" translatable="yes">Click to see past conversations with this contact</property>
-      <property name="label" translatable="yes">_History</property>
-      <property name="use_underline">True</property>
-
-      <child internal-child="image">
-	<widget class="GtkImage" id="image1370">
-	  <property name="visible">True</property>
-	  <property name="stock">gtk-justify-fill</property>
-	  <property name="icon_size">1</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-      </child>
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkImageMenuItem" id="information_menuitem">
-      <property name="visible">True</property>
-      <property name="label">gtk-info</property>
-      <property name="use_stock">True</property>
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkImageMenuItem" id="send_file_menuitem">
-      <property name="visible">True</property>
-      <property name="label" translatable="yes">Send _File</property>
-      <property name="use_underline">True</property>
-      <signal name="activate" handler="_on_send_file_menuitem_activate" last_modification_time="Tue, 03 Jan 2006 04:26:55 GMT"/>
-
-      <child internal-child="image">
-	<widget class="GtkImage" id="image1371">
-	  <property name="visible">True</property>
-	  <property name="stock">gtk-file</property>
-	  <property name="icon_size">1</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-      </child>
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkCheckMenuItem" id="toggle_gpg_menuitem">
-      <property name="visible">True</property>
-      <property name="label" translatable="yes">Toggle Open_PGP Encryption</property>
-      <property name="use_underline">True</property>
-      <property name="active">False</property>
-      <signal name="activate" handler="_on_toggle_gpg_menuitem_activate" last_modification_time="Tue, 03 Jan 2006 04:26:46 GMT"/>
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkImageMenuItem" id="add_to_roster_menuitem">
-      <property name="visible">True</property>
-      <property name="label" translatable="yes">_Add to Roster</property>
-      <property name="use_underline">True</property>
-      <signal name="activate" handler="_on_add_to_roster_menuitem_activate" last_modification_time="Tue, 03 Jan 2006 04:26:37 GMT"/>
-
-      <child internal-child="image">
-	<widget class="GtkImage" id="image1372">
-	  <property name="visible">True</property>
-	  <property name="stock">gtk-add</property>
-	  <property name="icon_size">1</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+  <widget class="GtkMenu" id="chat_control_popup_menu">
+    <child>
+      <widget class="GtkImageMenuItem" id="add_to_roster_menuitem">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">_Add to Roster</property>
+        <property name="use_underline">True</property>
+        <signal name="activate" handler="_on_add_to_roster_menuitem_activate"/>
+        <child internal-child="image">
+          <widget class="GtkImage" id="image1372">
+            <property name="visible">True</property>
+            <property name="stock">gtk-add</property>
+            <property name="icon_size">1</property>
+          </widget>
+        </child>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkImageMenuItem" id="send_file_menuitem">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">Send _File</property>
+        <property name="use_underline">True</property>
+        <signal name="activate" handler="_on_send_file_menuitem_activate"/>
+        <child internal-child="image">
+          <widget class="GtkImage" id="image1371">
+            <property name="visible">True</property>
+            <property name="stock">gtk-save</property>
+            <property name="icon_size">1</property>
+          </widget>
+        </child>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkImageMenuItem" id="convert_to_groupchat">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="label" translatable="yes">Invite _Contacts</property>
+        <property name="use_underline">True</property>
+        <child internal-child="image">
+          <widget class="GtkImage" id="menu-item-image4">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="stock">gtk-missing-image</property>
+          </widget>
+        </child>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkSeparatorMenuItem" id="separatormenuitem2">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkCheckMenuItem" id="toggle_gpg_menuitem">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">Toggle Open_PGP Encryption</property>
+        <property name="use_underline">True</property>
+        <signal name="activate" handler="_on_toggle_gpg_menuitem_activate"/>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkCheckMenuItem" id="toggle_e2e_menuitem">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="label" translatable="yes">Toggle End to End Encryption</property>
+        <property name="use_underline">True</property>
+        <signal name="activate" handler="_on_toggle_e2e_menuitem_activate"/>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkImageMenuItem" id="information_menuitem">
+        <property name="visible">True</property>
+        <property name="label">gtk-info</property>
+        <property name="use_underline">True</property>
+        <property name="use_stock">True</property>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkImageMenuItem" id="history_menuitem">
+        <property name="visible">True</property>
+        <property name="tooltip" translatable="yes">Click to see past conversations with this contact</property>
+        <property name="label" translatable="yes">_History</property>
+        <property name="use_underline">True</property>
+        <child internal-child="image">
+          <widget class="GtkImage" id="image1370">
+            <property name="visible">True</property>
+            <property name="stock">gtk-justify-fill</property>
+            <property name="icon_size">1</property>
+          </widget>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff --git a/data/glade/chat_to_muc_window.glade b/data/glade/chat_to_muc_window.glade
new file mode 100644
index 0000000000000000000000000000000000000000..745b3d00602d8a8efff80870a430d1e9ad1773c8
--- /dev/null
+++ b/data/glade/chat_to_muc_window.glade
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
+<glade-interface>
+  <widget class="GtkWindow" id="chat_to_muc_window">
+    <property name="visible">True</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Invite Friends !</property>
+    <signal name="key_press_event" handler="on_chat_to_muc_window_key_press_event"/>
+    <signal name="destroy" handler="on_chat_to_muc_window_destroy"/>
+    <child>
+      <widget class="GtkVBox" id="general_vbox">
+        <property name="visible">True</property>
+        <property name="spacing">6</property>
+        <child>
+          <widget class="GtkLabel" id="label3">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="label" translatable="yes">You are going to begin a Multi-User Chat.
+Select the contacts you want to invite</property>
+            <property name="justify">GTK_JUSTIFY_CENTER</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="padding">4</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkScrolledWindow" id="guests_scrolledwindow">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+            <property name="shadow_type">GTK_SHADOW_IN</property>
+            <child>
+              <widget class="GtkTreeView" id="guests_treeview">
+                <property name="height_request">300</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="headers_visible">False</property>
+                <signal name="drag_data_get" handler="on_guests_treeview_drag_data_get"/>
+                <signal name="drag_data_received" handler="on_guests_treeview_drag_data_received"/>
+                <signal name="drag_end" handler="on_guests_treeview_drag_end"/>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="padding">4</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkExpander" id="expander1">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <child>
+              <widget class="GtkVBox" id="vbox1">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <child>
+                  <widget class="GtkLabel" id="server_select_label">
+                    <property name="visible">True</property>
+                    <property name="label" translatable="yes">Please select a MUC server.</property>
+                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                    <property name="wrap">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="padding">4</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkComboBoxEntry" id="server_list_comboboxentry">
+                    <property name="visible">True</property>
+                    <child internal-child="entry">
+                      <widget class="GtkEntry" id="comboboxentry-entry1">
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">MUC server</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHButtonBox" id="hbuttonbox1">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="cancel_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="label">gtk-cancel</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_cancel_button_clicked"/>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="padding">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="invite_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_invite_button_clicked"/>
+                <child>
+                  <widget class="GtkAlignment" id="alignment1">
+                    <property name="visible">True</property>
+                    <property name="xscale">0</property>
+                    <property name="yscale">0</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox2">
+                        <property name="visible">True</property>
+                        <property name="spacing">2</property>
+                        <child>
+                          <widget class="GtkImage" id="image1">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-jump-to</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label1">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">In_vite</property>
+                            <property name="use_underline">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="padding">3</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>
diff --git a/data/glade/filetransfers.glade b/data/glade/filetransfers.glade
index 3106b3663081c75d054bb39aa0379fd81c998df5..6f85e0e16428c18a943158912488410d6aee3a35 100644
--- a/data/glade/filetransfers.glade
+++ b/data/glade/filetransfers.glade
@@ -271,7 +271,7 @@
         <child internal-child="image">
           <widget class="GtkImage" id="image1146">
             <property name="visible">True</property>
-            <property name="stock">gtk-missing-image</property>
+            <property name="stock">gtk-directory</property>
             <property name="icon_size">1</property>
           </widget>
         </child>
diff --git a/data/glade/gc_control_popup_menu.glade b/data/glade/gc_control_popup_menu.glade
index 2c2e665e779f6dbc752e7fd4ec77006b970e92ff..7ad038b0689230a95167b3896f749bead5fa6389 100644
--- a/data/glade/gc_control_popup_menu.glade
+++ b/data/glade/gc_control_popup_menu.glade
@@ -5,7 +5,7 @@
   <widget class="GtkMenu" id="gc_control_popup_menu">
     <child>
       <widget class="GtkImageMenuItem" id="change_nick_menuitem">
-        <property name="label" translatable="yes">Change _Nickname</property>
+        <property name="label" translatable="yes">Change _Nickname...</property>
         <property name="use_underline">True</property>
         <child internal-child="image">
           <widget class="GtkImage" id="image1409">
@@ -28,7 +28,7 @@
             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
             <child>
               <widget class="GtkImageMenuItem" id="change_subject_menuitem">
-                <property name="label" translatable="yes">Change _Subject</property>
+                <property name="label" translatable="yes">Change _Subject...</property>
                 <property name="use_underline">True</property>
                 <child internal-child="image">
                   <widget class="GtkImage" id="image1408">
@@ -41,7 +41,7 @@
             </child>
             <child>
               <widget class="GtkImageMenuItem" id="configure_room_menuitem">
-                <property name="label" translatable="yes">Configure _Room</property>
+                <property name="label" translatable="yes">Configure _Room...</property>
                 <property name="use_underline">True</property>
                 <child internal-child="image">
                   <widget class="GtkImage" id="image1406">
diff --git a/data/glade/gc_occupants_menu.glade b/data/glade/gc_occupants_menu.glade
index 044a6bb4fccf7858e9157f5456b5bb2936f6f361..a8b4afbbca25cc48f80cc3b708006bea0364b006 100644
--- a/data/glade/gc_occupants_menu.glade
+++ b/data/glade/gc_occupants_menu.glade
@@ -17,6 +17,20 @@
         </child>
       </widget>
     </child>
+    <child>
+      <widget class="GtkImageMenuItem" id="send_file_menuitem">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="label" translatable="yes">Send _File</property>
+        <property name="use_underline">True</property>
+        <child internal-child="image">
+          <widget class="GtkImage" id="menu-item-image4">
+            <property name="stock">gtk-save</property>
+            <property name="icon_size">1</property>
+          </widget>
+        </child>
+      </widget>
+    </child>
     <child>
       <widget class="GtkMenuItem" id="group_chat_actions_menuitem">
         <property name="visible">True</property>
@@ -87,20 +101,6 @@
         </child>
       </widget>
     </child>
-    <child>
-      <widget class="GtkImageMenuItem" id="send_file_menuitem">
-        <property name="visible">True</property>
-        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-        <property name="label" translatable="yes">Send _File</property>
-        <property name="use_underline">True</property>
-        <child internal-child="image">
-          <widget class="GtkImage" id="menu-item-image4">
-            <property name="stock">gtk-save</property>
-            <property name="icon_size">1</property>
-          </widget>
-        </child>
-      </widget>
-    </child>
     <child>
       <widget class="GtkSeparatorMenuItem" id="separator6">
         <property name="visible">True</property>
diff --git a/data/glade/history_manager.glade b/data/glade/history_manager.glade
index 2d7802f95dcd3e367ceb7b709ff4c33e8ec51c9c..0ed565d0851d83c4275b09f2257992892e30bc51 100644
--- a/data/glade/history_manager.glade
+++ b/data/glade/history_manager.glade
@@ -43,18 +43,91 @@
               <widget class="GtkVBox" id="vbox1">
                 <property name="visible">True</property>
                 <child>
-                  <widget class="GtkLabel" id="welcome_label">
+                  <widget class="GtkVBox" id="welcome_vbox">
                     <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;Welcome to Gajim History Logs Manager&lt;/b&gt;&lt;/big&gt;
-
-You can select logs from the left and/or search database from below.
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <widget class="GtkLabel" id="welcome_label">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;big&gt;&lt;b&gt;Welcome to Gajim History Logs Manager&lt;/b&gt;&lt;/big&gt;</property>
+                        <property name="use_markup">True</property>
+                        <property name="justify">GTK_JUSTIFY_CENTER</property>
+                        <property name="wrap">True</property>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox3">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <child>
+                          <widget class="GtkImage" id="image3">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="xalign">1</property>
+                            <property name="yalign">0</property>
+                            <property name="stock">gtk-info</property>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="info_label">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" translatable="yes">This log manager is not intended for log viewing. If you are looking for such functionality, use the history window instead.
 
-&lt;b&gt;WARNING:&lt;/b&gt;
+Use this program to delete or export logs. You can select logs from the left and/or search database from below.</property>
+                            <property name="use_markup">True</property>
+                            <property name="wrap">True</property>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="padding">20</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox2">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <child>
+                          <widget class="GtkImage" id="warning_image">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="xalign">1</property>
+                            <property name="yalign">0</property>
+                            <property name="stock">gtk-dialog-warning</property>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="warning_label">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" translatable="yes">&lt;b&gt;WARNING:&lt;/b&gt;
 If you plan to do massive deletions, please make sure Gajim is not running. Generally avoid deletions with contacts you currently chat with.</property>
-                    <property name="use_markup">True</property>
-                    <property name="wrap">True</property>
+                            <property name="use_markup">True</property>
+                            <property name="wrap">True</property>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="padding">20</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
                   </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
                 </child>
                 <child>
                   <widget class="GtkScrolledWindow" id="logs_scrolledwindow">
@@ -115,7 +188,6 @@ If you plan to do massive deletions, please make sure Gajim is not running. Gene
               <widget class="GtkEntry" id="search_entry">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
-                <property name="invisible_char">*</property>
                 <property name="activates_default">True</property>
               </widget>
             </child>
diff --git a/data/glade/history_window.glade b/data/glade/history_window.glade
index b475f03b4351936e344f583a2d7a3b0b295fd761..ba74ec04ce95e922b2021444d1d292c98fbc0a94 100644
--- a/data/glade/history_window.glade
+++ b/data/glade/history_window.glade
@@ -1,346 +1,283 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-
-<widget class="GtkWindow" id="history_window">
-  <property name="title" translatable="yes">Conversation History</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="default_width">650</property>
-  <property name="default_height">350</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="role">history</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <signal name="destroy" handler="on_history_window_destroy" last_modification_time="Tue, 01 Mar 2005 16:30:31 GMT"/>
-
-  <child>
-    <widget class="GtkVBox" id="vbox">
-      <property name="border_width">6</property>
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child>
-	<widget class="GtkHPaned" id="hpaned">
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="position">165</property>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkCalendar" id="calendar">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="display_options">GTK_CALENDAR_SHOW_HEADING|GTK_CALENDAR_SHOW_DAY_NAMES</property>
-		  <signal name="day_selected" handler="on_calendar_day_selected" last_modification_time="Sun, 20 Nov 2005 19:26:58 GMT"/>
-		  <signal name="month_changed" handler="on_calendar_month_changed" last_modification_time="Thu, 24 Nov 2005 00:49:22 GMT"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="shrink">True</property>
-	      <property name="resize">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-		<placeholder/>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="shrink">True</property>
-	      <property name="resize">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkCheckButton" id="log_history_checkbutton">
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="label" translatable="yes">_Log conversation history</property>
-	  <property name="use_underline">True</property>
-	  <property name="relief">GTK_RELIEF_NORMAL</property>
-	  <property name="focus_on_click">True</property>
-	  <property name="active">True</property>
-	  <property name="inconsistent">False</property>
-	  <property name="draw_indicator">True</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkExpander" id="search_expander">
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="expanded">False</property>
-	  <property name="spacing">0</property>
-	  <signal name="activate" handler="on_search_expander_activate" last_modification_time="Tue, 29 Nov 2005 13:43:41 GMT"/>
-
-	  <child>
-	    <widget class="GtkVBox" id="expander_vbox">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkHBox" id="query_hbox">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkEntry" id="query_entry">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="invisible_char">*</property>
-		      <property name="activates_default">True</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="search_button">
-		      <property name="visible">True</property>
-		      <property name="can_default">True</property>
-		      <property name="has_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="on_search_button_clicked" last_modification_time="Tue, 29 Nov 2005 11:40:15 GMT"/>
-
-		      <child>
-			<widget class="GtkAlignment" id="alignment99">
-			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">0</property>
-			  <property name="yscale">0</property>
-			  <property name="top_padding">0</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">0</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox3004">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">2</property>
-
-			      <child>
-				<widget class="GtkImage" id="image1327">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-find</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label372">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Search</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="query_builder_button">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Build custom query</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Query Builder...</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="on_query_builder_button_clicked" last_modification_time="Tue, 29 Nov 2005 11:40:18 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="results_scrolledwindow">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		  <property name="shadow_type">GTK_SHADOW_IN</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkTreeView" id="results_treeview">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">True</property>
-		      <property name="rules_hint">True</property>
-		      <property name="reorderable">False</property>
-		      <property name="enable_search">True</property>
-		      <property name="fixed_height_mode">False</property>
-		      <property name="hover_selection">False</property>
-		      <property name="hover_expand">False</property>
-		      <signal name="row_activated" handler="on_results_treeview_row_activated" last_modification_time="Tue, 29 Nov 2005 21:05:37 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label368">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">_Search</property>
-	      <property name="use_underline">True</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">label_item</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHButtonBox" id="hbuttonbox">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkButton" id="close_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-close</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_close_button_clicked" last_modification_time="Tue, 01 Mar 2005 16:21:16 GMT"/>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+  <widget class="GtkWindow" id="history_window">
+    <property name="title" translatable="yes">Conversation History</property>
+    <property name="role">history</property>
+    <property name="default_width">650</property>
+    <property name="default_height">350</property>
+    <signal name="key_press_event" handler="on_history_window_key_press_event"/>
+    <signal name="destroy" handler="on_history_window_destroy"/>
+    <child>
+      <widget class="GtkVBox" id="vbox">
+        <property name="visible">True</property>
+        <property name="border_width">6</property>
+        <property name="spacing">6</property>
+        <child>
+          <widget class="GtkFrame" id="frame1">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="shadow_type">GTK_SHADOW_NONE</property>
+            <child>
+              <widget class="GtkAlignment" id="alignment1">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkVBox" id="vbox1">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <widget class="GtkEntry" id="jid_entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="tooltip" translatable="yes">Choose the chatlog you want to view. 
+Enter the jid of a groupchat or a contact here. For online accounts you can even enter a a contact's nickname.</property>
+                        <signal name="activate" handler="on_jid_entry_activate"/>
+                      </widget>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">&lt;b&gt;JID Selection&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="padding">8</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkFrame" id="frame2">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="shadow_type">GTK_SHADOW_NONE</property>
+            <child>
+              <widget class="GtkAlignment" id="alignment2">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <widget class="GtkHPaned" id="hpaned">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="position">165</property>
+                    <child>
+                      <widget class="GtkVBox" id="vbox">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkCalendar" id="calendar">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <signal name="month_changed" handler="on_calendar_month_changed"/>
+                            <signal name="day_selected" handler="on_calendar_day_selected"/>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="resize">False</property>
+                        <property name="shrink">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkScrolledWindow" id="scrolledwindow">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                        <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="resize">True</property>
+                        <property name="shrink">False</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">&lt;b&gt;History Viewer&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkCheckButton" id="log_history_checkbutton">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="label" translatable="yes">_Log conversation history</property>
+            <property name="use_underline">True</property>
+            <property name="response_id">0</property>
+            <property name="active">True</property>
+            <property name="draw_indicator">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkExpander" id="search_expander">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <signal name="activate" handler="on_search_expander_activate"/>
+            <child>
+              <widget class="GtkVBox" id="expander_vbox">
+                <property name="visible">True</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkHBox" id="query_hbox">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkLabel" id="label3">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">Search</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="query_entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="activates_default">True</property>
+                        <signal name="activate" handler="on_query_entry_activate"/>
+                      </widget>
+                      <packing>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label4">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">in</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkComboBox" id="query_combobox">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="focus_on_click">False</property>
+                        <property name="items" translatable="yes">Current History
+All Chat Histories</property>
+                        <signal name="changed" handler="on_query_combobox_changed"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="pack_type">GTK_PACK_END</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkScrolledWindow" id="results_scrolledwindow">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <child>
+                      <widget class="GtkTreeView" id="results_treeview">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="rules_hint">True</property>
+                        <signal name="row_activated" handler="on_results_treeview_row_activated"/>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label368">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">_Search</property>
+                <property name="use_underline">True</property>
+              </widget>
+              <packing>
+                <property name="type">label_item</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHButtonBox" id="hbuttonbox">
+            <property name="visible">True</property>
+            <property name="spacing">6</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="close_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_close_button_clicked"/>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">4</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff --git a/data/glade/message_window.glade b/data/glade/message_window.glade
index 77d9028b118f35e0e8047c94cb16de9df4406a4e..07d39763c53f8c950940e5bad745d0efbbe59c6f 100644
--- a/data/glade/message_window.glade
+++ b/data/glade/message_window.glade
@@ -1,1216 +1,784 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-
-<widget class="GtkWindow" id="message_window">
-  <property name="title" translatable="yes"></property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="default_width">480</property>
-  <property name="default_height">440</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-
-  <child>
-    <widget class="GtkAlignment" id="msg_window_alignment">
-      <property name="visible">True</property>
-      <property name="xalign">0.5</property>
-      <property name="yalign">0.5</property>
-      <property name="xscale">1</property>
-      <property name="yscale">1</property>
-      <property name="top_padding">2</property>
-      <property name="bottom_padding">0</property>
-      <property name="left_padding">0</property>
-      <property name="right_padding">0</property>
-
-      <child>
-	<widget class="GtkNotebook" id="notebook">
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="show_tabs">True</property>
-	  <property name="show_border">True</property>
-	  <property name="tab_pos">GTK_POS_TOP</property>
-	  <property name="scrollable">True</property>
-	  <property name="enable_popup">False</property>
-
-	  <child>
-	    <widget class="GtkVBox" id="chat_child_vbox">
-	      <property name="border_width">3</property>
-	      <property name="can_focus">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">1</property>
-
-	      <child>
-		<widget class="GtkAlignment" id="alignment">
-		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">1</property>
-		  <property name="yscale">1</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">0</property>
-		  <property name="left_padding">3</property>
-		  <property name="right_padding">3</property>
-
-		  <child>
-		    <widget class="GtkEventBox" id="banner_eventbox">
-		      <property name="visible">True</property>
-		      <property name="visible_window">True</property>
-		      <property name="above_child">False</property>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox3004">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkImage" id="banner_status_image">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">5</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">5</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkImage" id="banner_typing_image">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="banner_name_label">
-			      <property name="visible">True</property>
-			      <property name="label">&lt;span weight=&quot;heavy&quot; size=&quot;large&quot;&gt;Contact name&lt;/span&gt;
-Status message</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.0500000007451</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">5</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkEventBox" id="avatar_eventbox">
-			      <property name="visible">True</property>
-			      <property name="visible_window">False</property>
-			      <property name="above_child">False</property>
-
-			      <child>
-				<widget class="GtkImage" id="avatar_image">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox106">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkScrolledWindow" id="conversation_scrolledwindow">
-		      <property name="border_width">3</property>
-		      <property name="height_request">60</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="shadow_type">GTK_SHADOW_IN</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkScrolledWindow" id="message_scrolledwindow">
-		      <property name="border_width">3</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
-		      <property name="shadow_type">GTK_SHADOW_IN</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="actions_hbox">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox3006">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">1</property>
-
-		      <child>
-			<widget class="GtkEventBox" id="gpg_eventbox">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">OpenPGP Encryption</property>
-			  <property name="visible_window">True</property>
-			  <property name="above_child">False</property>
-
-			  <child>
-			    <widget class="GtkToggleButton" id="gpg_togglebutton">
-			      <property name="visible">True</property>
-			      <property name="relief">GTK_RELIEF_NONE</property>
-			      <property name="focus_on_click">False</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-
-			      <child>
-				<widget class="GtkImage" id="image1333">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-dialog-authentication</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVSeparator" id="vseparator4">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox3007">
-		      <property name="border_width">3</property>
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkButton" id="emoticons_button">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Click to insert an emoticon (Alt+M)</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox3008">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkImage" id="emoticons_button_image">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">2</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkArrow" id="arrow3">
-				  <property name="visible">True</property>
-				  <property name="arrow_type">GTK_ARROW_DOWN</property>
-				  <property name="shadow_type">GTK_SHADOW_OUT</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="message_window_actions_button">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment101">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox3009">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">2</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image1338">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-execute</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label372">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes" comments="Make sure the character after &quot;_&quot; is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)">_Actions</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkArrow" id="arrow4">
-				      <property name="visible">True</property>
-				      <property name="arrow_type">GTK_ARROW_DOWN</property>
-				      <property name="shadow_type">GTK_SHADOW_OUT</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVSeparator" id="vseparator5">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="send_button">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment102">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox3010">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">2</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image1339">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-jump-to</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label373">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes" comments="Make sure the character after &quot;_&quot; is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)">_Send</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEventBox" id="chat_tab_ebox">
-	      <property name="visible">True</property>
-	      <property name="visible_window">False</property>
-	      <property name="above_child">False</property>
-
-	      <child>
-		<widget class="GtkHBox" id="tab_hbox">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">4</property>
-
-		  <child>
-		    <widget class="GtkImage" id="tab_image">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="tab_label">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="tab_close_button">
-		      <property name="width_request">20</property>
-		      <property name="height_request">20</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="relief">GTK_RELIEF_NONE</property>
-		      <property name="focus_on_click">True</property>
-
-		      <child>
-			<widget class="GtkImage" id="image1329">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-close</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">6</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="muc_child_vbox">
-	      <property name="border_width">3</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">0</property>
-
-	      <child>
-		<widget class="GtkAlignment" id="alignment103">
-		  <property name="visible">True</property>
-		  <property name="xalign">0.5</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xscale">1</property>
-		  <property name="yscale">1</property>
-		  <property name="top_padding">0</property>
-		  <property name="bottom_padding">1</property>
-		  <property name="left_padding">3</property>
-		  <property name="right_padding">3</property>
-
-		  <child>
-		    <widget class="GtkEventBox" id="banner_eventbox">
-		      <property name="visible">True</property>
-		      <property name="visible_window">True</property>
-		      <property name="above_child">False</property>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox3024">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkImage" id="gc_banner_status_image">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">5</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="banner_name_label">
-			      <property name="visible">True</property>
-			      <property name="label">&lt;span weight=&quot;heavy&quot; size=&quot;large&quot;&gt;room jid&lt;/span&gt;
-topic</property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">True</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.0500000007451</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">6</property>
-			      <property name="ypad">6</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHPaned" id="hpaned">
-		  <property name="border_width">3</property>
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="position">495</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox108">
-		      <property name="width_request">150</property>
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox109">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">6</property>
-
-			  <child>
-			    <widget class="GtkScrolledWindow" id="conversation_scrolledwindow">
-			      <property name="width_request">200</property>
-			      <property name="height_request">60</property>
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="shadow_type">GTK_SHADOW_IN</property>
-			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkScrolledWindow" id="message_scrolledwindow">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-			      <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
-			      <property name="shadow_type">GTK_SHADOW_IN</property>
-			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="shrink">False</property>
-		      <property name="resize">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkScrolledWindow" id="list_scrolledwindow">
-		      <property name="width_request">100</property>
-		      <property name="visible">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="shadow_type">GTK_SHADOW_IN</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		      <child>
-			<widget class="GtkTreeView" id="list_treeview">
-			  <property name="border_width">1</property>
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="headers_visible">False</property>
-			  <property name="rules_hint">False</property>
-			  <property name="reorderable">False</property>
-			  <property name="enable_search">True</property>
-			  <property name="fixed_height_mode">False</property>
-			  <property name="hover_selection">False</property>
-			  <property name="hover_expand">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="shrink">False</property>
-		      <property name="resize">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="actions_hbox">
-		  <property name="border_width">3</property>
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox3023">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<placeholder/>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox3013">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkButton" id="emoticons_button">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Click to insert an emoticon (Alt+M)</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox3014">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkImage" id="emoticons_button_image">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">2</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkArrow" id="arrow5">
-				  <property name="visible">True</property>
-				  <property name="arrow_type">GTK_ARROW_DOWN</property>
-				  <property name="shadow_type">GTK_SHADOW_OUT</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="muc_window_actions_button">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment104">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="gc_actions_hbox">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">2</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image1344">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-execute</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label376">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes" comments="Make sure the character after &quot;_&quot; is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)">_Actions</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkArrow" id="arrow6">
-				      <property name="visible">True</property>
-				      <property name="arrow_type">GTK_ARROW_DOWN</property>
-				      <property name="shadow_type">GTK_SHADOW_OUT</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVSeparator" id="vseparator6">
-			  <property name="visible">True</property>
-			</widget>
-			<packing>
-			  <property name="padding">2</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="send_button">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment105">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox3016">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">2</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image1345">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-jump-to</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label377">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes" comments="Make sure the character after &quot;_&quot; is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)">_Send</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkEventBox" id="muc_tab_ebox">
-	      <property name="visible">True</property>
-	      <property name="visible_window">False</property>
-	      <property name="above_child">False</property>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox3017">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">4</property>
-
-		  <child>
-		    <widget class="GtkImage" id="image1346">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label378">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes"></property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="button34">
-		      <property name="width_request">20</property>
-		      <property name="height_request">20</property>
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="relief">GTK_RELIEF_NONE</property>
-		      <property name="focus_on_click">True</property>
-
-		      <child>
-			<widget class="GtkImage" id="image1347">
-			  <property name="visible">True</property>
-			  <property name="stock">gtk-close</property>
-			  <property name="icon_size">1</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">6</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-	</widget>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+  <widget class="GtkWindow" id="message_window">
+    <property name="default_width">480</property>
+    <property name="default_height">440</property>
+    <child>
+      <widget class="GtkAlignment" id="msg_window_alignment">
+        <property name="visible">True</property>
+        <property name="top_padding">2</property>
+        <child>
+          <widget class="GtkNotebook" id="notebook">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="scrollable">True</property>
+            <child>
+              <widget class="GtkVBox" id="chat_child_vbox">
+                <property name="can_focus">True</property>
+                <property name="border_width">3</property>
+                <property name="spacing">1</property>
+                <child>
+                  <widget class="GtkAlignment" id="alignment">
+                    <property name="visible">True</property>
+                    <property name="left_padding">3</property>
+                    <property name="right_padding">3</property>
+                    <child>
+                      <widget class="GtkEventBox" id="banner_eventbox">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkHBox" id="hbox3004">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkImage" id="banner_status_image">
+                                <property name="visible">True</property>
+                                <property name="ypad">5</property>
+                                <property name="stock">None</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">5</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkVBox" id="banner_vbox">
+                                <property name="visible">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="border_width">5</property>
+                                <child>
+                                  <widget class="GtkLabel" id="banner_name_label">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label">&lt;span weight="heavy" size="large"&gt;Contact name&lt;/span&gt;</property>
+                                    <property name="use_markup">True</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkEventBox" id="avatar_eventbox">
+                                <property name="visible">True</property>
+                                <property name="visible_window">False</property>
+                                <child>
+                                  <widget class="GtkImage" id="avatar_image">
+                                    <property name="visible">True</property>
+                                    <property name="stock">None</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="vbox106">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkScrolledWindow" id="conversation_scrolledwindow">
+                        <property name="height_request">60</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="border_width">3</property>
+                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkScrolledWindow" id="message_scrolledwindow">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="border_width">3</property>
+                        <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                        <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="actions_hbox">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox3006">
+                        <property name="visible">True</property>
+                        <property name="spacing">1</property>
+                        <child>
+                          <widget class="GtkEventBox" id="gpg_eventbox">
+                            <property name="visible">True</property>
+                            <property name="tooltip" translatable="yes">OpenPGP Encryption</property>
+                            <child>
+                              <widget class="GtkToggleButton" id="gpg_togglebutton">
+                                <property name="visible">True</property>
+                                <property name="relief">GTK_RELIEF_NONE</property>
+                                <property name="focus_on_click">False</property>
+                                <property name="response_id">0</property>
+                                <child>
+                                  <widget class="GtkImage" id="image1333">
+                                    <property name="visible">True</property>
+                                    <property name="stock">gtk-dialog-authentication</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVSeparator" id="vseparator4">
+                            <property name="visible">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox3007">
+                        <property name="visible">True</property>
+                        <property name="border_width">3</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkButton" id="emoticons_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">Click to insert an emoticon (Alt+M)</property>
+                            <property name="response_id">0</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox3008">
+                                <property name="visible">True</property>
+                                <child>
+                                  <widget class="GtkImage" id="emoticons_button_image">
+                                    <property name="visible">True</property>
+                                    <property name="xpad">2</property>
+                                    <property name="stock">None</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkArrow" id="arrow3">
+                                    <property name="visible">True</property>
+                                    <property name="arrow_type">GTK_ARROW_DOWN</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="message_window_actions_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="response_id">0</property>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment101">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox3009">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image1338">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-execute</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label372">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes" comments="Make sure the character after &quot;_&quot; is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)">_Actions</property>
+                                        <property name="use_underline">True</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkArrow" id="arrow4">
+                                        <property name="visible">True</property>
+                                        <property name="arrow_type">GTK_ARROW_DOWN</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVSeparator" id="vseparator5">
+                            <property name="visible">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="send_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="response_id">0</property>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment102">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox3010">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image1339">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-jump-to</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label373">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes" comments="Make sure the character after &quot;_&quot; is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)">_Send</property>
+                                        <property name="use_underline">True</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkEventBox" id="chat_tab_ebox">
+                <property name="visible">True</property>
+                <property name="visible_window">False</property>
+                <child>
+                  <widget class="GtkHBox" id="tab_hbox">
+                    <property name="visible">True</property>
+                    <property name="spacing">4</property>
+                    <child>
+                      <widget class="GtkImage" id="tab_image">
+                        <property name="visible">True</property>
+                        <property name="stock">None</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="tab_label">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="use_markup">True</property>
+                        <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="tab_close_button">
+                        <property name="width_request">20</property>
+                        <property name="height_request">20</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="relief">GTK_RELIEF_NONE</property>
+                        <property name="response_id">0</property>
+                        <child>
+                          <widget class="GtkImage" id="image1329">
+                            <property name="visible">True</property>
+                            <property name="ypad">6</property>
+                            <property name="stock">gtk-close</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="muc_child_vbox">
+                <property name="border_width">3</property>
+                <child>
+                  <widget class="GtkAlignment" id="alignment103">
+                    <property name="visible">True</property>
+                    <property name="bottom_padding">1</property>
+                    <property name="left_padding">3</property>
+                    <property name="right_padding">3</property>
+                    <child>
+                      <widget class="GtkEventBox" id="banner_eventbox">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkHBox" id="hbox3024">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkImage" id="gc_banner_status_image">
+                                <property name="visible">True</property>
+                                <property name="stock">None</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="padding">5</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkVBox" id="banner_vbox">
+                                <property name="visible">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="border_width">5</property>
+                                <child>
+                                  <widget class="GtkLabel" id="banner_name_label">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label">&lt;span weight="heavy" size="large"&gt;room jid&lt;/span&gt;</property>
+                                    <property name="use_markup">True</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHPaned" id="hpaned">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">3</property>
+                    <property name="position">495</property>
+                    <child>
+                      <widget class="GtkVBox" id="vbox108">
+                        <property name="width_request">150</property>
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox109">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <widget class="GtkScrolledWindow" id="conversation_scrolledwindow">
+                                <property name="width_request">200</property>
+                                <property name="height_request">60</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkScrolledWindow" id="message_scrolledwindow">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                                <property name="vscrollbar_policy">GTK_POLICY_NEVER</property>
+                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="resize">False</property>
+                        <property name="shrink">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkScrolledWindow" id="list_scrolledwindow">
+                        <property name="width_request">100</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <child>
+                          <widget class="GtkTreeView" id="list_treeview">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="border_width">1</property>
+                            <property name="headers_visible">False</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="resize">False</property>
+                        <property name="shrink">False</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="actions_hbox">
+                    <property name="visible">True</property>
+                    <property name="border_width">3</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox3023">
+                        <property name="visible">True</property>
+                        <child>
+                          <placeholder/>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox3013">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkButton" id="emoticons_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">Click to insert an emoticon (Alt+M)</property>
+                            <property name="response_id">0</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox3014">
+                                <property name="visible">True</property>
+                                <child>
+                                  <widget class="GtkImage" id="emoticons_button_image">
+                                    <property name="visible">True</property>
+                                    <property name="xpad">2</property>
+                                    <property name="stock">None</property>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkArrow" id="arrow5">
+                                    <property name="visible">True</property>
+                                    <property name="arrow_type">GTK_ARROW_DOWN</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="muc_window_actions_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="response_id">0</property>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment104">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <widget class="GtkHBox" id="gc_actions_hbox">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image1344">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-execute</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label376">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes" comments="Make sure the character after &quot;_&quot; is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)">_Actions</property>
+                                        <property name="use_underline">True</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkArrow" id="arrow6">
+                                        <property name="visible">True</property>
+                                        <property name="arrow_type">GTK_ARROW_DOWN</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVSeparator" id="vseparator6">
+                            <property name="visible">True</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="padding">2</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="send_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="response_id">0</property>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment105">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox3016">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image1345">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-jump-to</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label377">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes" comments="Make sure the character after &quot;_&quot; is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)">_Send</property>
+                                        <property name="use_underline">True</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">3</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkEventBox" id="muc_tab_ebox">
+                <property name="visible">True</property>
+                <property name="visible_window">False</property>
+                <child>
+                  <widget class="GtkHBox" id="hbox3017">
+                    <property name="visible">True</property>
+                    <property name="spacing">4</property>
+                    <child>
+                      <widget class="GtkImage" id="image1346">
+                        <property name="visible">True</property>
+                        <property name="stock">None</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label378">
+                        <property name="visible">True</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="button34">
+                        <property name="width_request">20</property>
+                        <property name="height_request">20</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="relief">GTK_RELIEF_NONE</property>
+                        <property name="response_id">0</property>
+                        <child>
+                          <widget class="GtkImage" id="image1347">
+                            <property name="visible">True</property>
+                            <property name="ypad">6</property>
+                            <property name="stock">gtk-close</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </widget>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff --git a/data/glade/passphrase_dialog.glade b/data/glade/passphrase_dialog.glade
index 6d42454b019fd99ba14e54bcb92421875cf28a07..bc49f3475af940bccbc5149d293e6ce37d374049 100644
--- a/data/glade/passphrase_dialog.glade
+++ b/data/glade/passphrase_dialog.glade
@@ -19,6 +19,7 @@
   <property name="focus_on_map">True</property>
   <property name="urgency_hint">False</property>
   <property name="has_separator">True</property>
+  <signal name="destroy" handler="on_passphrase_dialog_destroy" last_modification_time="Sun, 11 Mar 2007 11:32:38 GMT"/>
 
   <child internal-child="vbox">
     <widget class="GtkVBox" id="dialog-vbox4">
diff --git a/data/glade/preferences_window.glade b/data/glade/preferences_window.glade
index 8e59548411f122398a889a33d82561cd152d917f..831599d4b1d5b5a82189471199410a16466f255d 100644
--- a/data/glade/preferences_window.glade
+++ b/data/glade/preferences_window.glade
@@ -1,3678 +1,2268 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-
-<widget class="GtkWindow" id="preferences_window">
-  <property name="border_width">6</property>
-  <property name="title" translatable="yes">Preferences</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="role">preferences</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <signal name="key_press_event" handler="on_preferences_window_key_press_event"/>
-  <signal name="destroy" handler="on_preferences_window_destroy"/>
-
-  <child>
-    <widget class="GtkVBox" id="vbox13">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child>
-	<widget class="GtkNotebook" id="preferences_notebook">
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="show_tabs">True</property>
-	  <property name="show_border">False</property>
-	  <property name="tab_pos">GTK_POS_TOP</property>
-	  <property name="scrollable">False</property>
-	  <property name="enable_popup">False</property>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox41">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkCheckButton" id="trayicon_checkbutton">
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Use t_rayicon (aka. notification area icon)</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_trayicon_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="save_position_checkbutton">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">If checked, Gajim will remember the roster and chat window positions in the screen and the sizes of them next time you run it</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Save _position and size for roster and chat windows</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_save_position_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="show_avatars_in_roster_checkbutton">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">If checked, Gajim will display avatars of contacts in roster window and in group chats</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Display a_vatars of contacts in roster</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_show_avatars_in_roster_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="show_status_msgs_in_roster_checkbutton">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">If checked, Gajim will display status messages of contacts under the contact name in roster window and in group chats</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Display status _messages of contacts in roster</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_show_status_msgs_in_roster_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="sort_by_show_checkbutton">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Sort contacts by status</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_sort_by_show_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkFrame" id="frame35">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment73">
-		      <property name="border_width">6</property>
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">4</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox95">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">12</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox2901">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">12</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label174">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Default status _iconset:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">iconset_combobox</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkComboBox" id="iconset_combobox">
-				  <property name="visible">True</property>
-				  <property name="add_tearoffs">False</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="changed" handler="on_iconset_combobox_changed"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="transports_iconsets_checkbutton">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">If checked, Gajim will use protocol-specific status icons. (eg. A contact from MSN will have the equivalent msn icon for status online, away, busy, etc...)</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use _transports iconsets</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_transports_iconsets_checkbutton_toggled"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox2956">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">12</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label249">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">T_heme:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">theme_combobox</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkComboBox" id="theme_combobox">
-				  <property name="visible">True</property>
-				  <property name="add_tearoffs">False</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="changed" handler="on_theme_combobox_changed"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="manage_theme_button">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Configure color and font of the interface</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Ma_nage...</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="clicked" handler="on_manage_theme_button_clicked"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label326">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Interface Customization&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">12</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label74">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">General</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox58">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox3018">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">5</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label379">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">One message _window:</property>
-		      <property name="use_underline">True</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">1</property>
-		      <property name="ypad">0</property>
-		      <property name="mnemonic_widget">one_window_type_combobox</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkComboBox" id="one_window_type_combobox">
-		      <property name="visible">True</property>
-		      <property name="items" translatable="yes">Never
+  <widget class="GtkWindow" id="preferences_window">
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Preferences</property>
+    <property name="role">preferences</property>
+    <signal name="key_press_event" handler="on_preferences_window_key_press_event"/>
+    <signal name="destroy" handler="on_preferences_window_destroy"/>
+    <child>
+      <widget class="GtkVBox" id="vbox13">
+        <property name="visible">True</property>
+        <property name="spacing">6</property>
+        <child>
+          <widget class="GtkNotebook" id="preferences_notebook">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="show_border">False</property>
+            <child>
+              <widget class="GtkVBox" id="vbox41">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkFrame" id="frame1">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment1">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox1">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="show_avatars_in_roster_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">If checked, Gajim will display avatars of contacts in roster window and in group chats</property>
+                                <property name="label" translatable="yes">Display a_vatars of contacts in roster</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_show_avatars_in_roster_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="show_status_msgs_in_roster_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">If checked, Gajim will display status messages of contacts under the contact name in roster window and in group chats</property>
+                                <property name="label" translatable="yes">Display status _messages of contacts in roster</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_show_status_msgs_in_roster_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="sort_by_show_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">_Sort contacts by status</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_sort_by_show_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label1">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Roster Appearance&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame2">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment2">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkTable" id="table1">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="n_rows">6</property>
+                            <property name="n_columns">2</property>
+                            <property name="column_spacing">6</property>
+                            <property name="row_spacing">6</property>
+                            <child>
+                              <widget class="GtkEventBox" id="eventbox5">
+                                <property name="visible">True</property>
+                                <property name="tooltip" translatable="yes">If not disabled, Gajim will replace ascii smilies like ':)' with equivalent animated or static graphical emoticons</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label381">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="xpad">1</property>
+                                    <property name="label" translatable="yes">Emoticons:</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="emoticons_combobox">
+                                <property name="visible">True</property>
+                                <signal name="changed" handler="on_emoticons_combobox_changed"/>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="speller_checkbutton">
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">_Highlight misspelled words</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_speller_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">5</property>
+                                <property name="bottom_attach">6</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="xhtml_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">Some messages may include rich content (formatting, colors etc). If checked, Gajim will just display the raw message text.</property>
+                                <property name="label" translatable="yes">Ignore rich content in incoming messages</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_xhtml_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">4</property>
+                                <property name="bottom_attach">5</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="compact_view_checkbutton">
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">Hides buttons in chatwindows to </property>
+                                <property name="label" translatable="yes">_Make message windows compact</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_compact_view_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">3</property>
+                                <property name="bottom_attach">4</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="one_window_type_combobox">
+                                <property name="visible">True</property>
+                                <property name="items" translatable="yes">Never
 Always
 Per account
 Per type</property>
-		      <property name="add_tearoffs">False</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="changed" handler="on_one_window_type_combo_changed"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="compact_view_checkbutton">
-		  <property name="tooltip" translatable="yes">Hides buttons in chatwindows to </property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Make message windows compact</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_compact_view_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="xhtml_checkbutton">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Some messages may include rich content (formatting, colors etc). If checked, Gajim will just display the raw message text.</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Ignore rich content in incoming messages</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_xhtml_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="speller_checkbutton">
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Highlight misspelled words</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_speller_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox3024">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">4</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label387">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Treat all incoming messages as:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">1</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkComboBox" id="treat_incoming_messages_combobox">
-		      <property name="visible">True</property>
-		      <property name="items" translatable="yes">Determined by sender
+                                <signal name="changed" handler="on_one_window_type_combo_changed"/>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="treat_incoming_messages_combobox">
+                                <property name="visible">True</property>
+                                <property name="items" translatable="yes">Determined by sender
 Chat message
 Single message</property>
-		      <property name="add_tearoffs">False</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="changed" handler="on_treat_incoming_messages_combobox_changed"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox2947">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">5</property>
-
-		  <child>
-		    <widget class="GtkEventBox" id="eventbox5">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">If not disabled, Gajim will replace ascii smilies like ':)' with equivalent animated or static graphical emoticons</property>
-		      <property name="visible_window">True</property>
-		      <property name="above_child">False</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label381">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Emoticons:</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">1</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkComboBox" id="emoticons_combobox">
-		      <property name="visible">True</property>
-		      <property name="add_tearoffs">False</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="changed" handler="on_emoticons_combobox_changed"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkFrame" id="frame24">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment53">
-		      <property name="border_width">6</property>
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox62">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">12</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox2944">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">6</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label219">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Print time:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkRadioButton" id="time_always_radiobutton">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">On every _message</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_time_always_radiobutton_toggled"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkRadioButton" id="time_sometimes_radiobutton">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Also known as iChat style</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">E_very 5 minutes</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <property name="group">time_always_radiobutton</property>
-				  <signal name="toggled" handler="on_time_sometimes_radiobutton_toggled"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkRadioButton" id="time_never_radiobutton">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">_Never</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <property name="group">time_always_radiobutton</property>
-				  <signal name="toggled" handler="on_time_never_radiobutton_toggled"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkTable" id="table25">
-			      <property name="visible">True</property>
-			      <property name="n_rows">4</property>
-			      <property name="n_columns">4</property>
-			      <property name="homogeneous">False</property>
-			      <property name="row_spacing">6</property>
-			      <property name="column_spacing">12</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="default_chat_font">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Use system _default</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_default_chat_font_toggled"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">2</property>
-				  <property name="right_attach">4</property>
-				  <property name="top_attach">3</property>
-				  <property name="bottom_attach">4</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox3021">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">6</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="font_label">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">_Font:</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="mnemonic_widget">conversation_fontbutton</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkFontButton" id="conversation_fontbutton">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="show_style">True</property>
-				      <property name="show_size">True</property>
-				      <property name="use_font">False</property>
-				      <property name="use_size">False</property>
-				      <property name="focus_on_click">True</property>
-				      <signal name="font_set" handler="on_conversation_fontbutton_font_set"/>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">True</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">3</property>
-				  <property name="bottom_attach">4</property>
-				  <property name="x_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox3022">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label383">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes"></property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">True</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="reset_colors_button">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">False</property>
-				      <signal name="clicked" handler="on_reset_colors_button_clicked"/>
-
-				      <child>
-					<widget class="GtkAlignment" id="alignment52">
-					  <property name="visible">True</property>
-					  <property name="xalign">0.5</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xscale">0</property>
-					  <property name="yscale">0</property>
-					  <property name="top_padding">0</property>
-					  <property name="bottom_padding">0</property>
-					  <property name="left_padding">0</property>
-					  <property name="right_padding">0</property>
-
-					  <child>
-					    <widget class="GtkHBox" id="hbox2936">
-					      <property name="visible">True</property>
-					      <property name="homogeneous">False</property>
-					      <property name="spacing">2</property>
-
-					      <child>
-						<widget class="GtkImage" id="image439">
-						  <property name="visible">True</property>
-						  <property name="stock">gtk-revert-to-saved</property>
-						  <property name="icon_size">4</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-
-					      <child>
-						<widget class="GtkLabel" id="label217">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">_Reset to Default Colors</property>
-						  <property name="use_underline">True</property>
-						  <property name="use_markup">False</property>
-						  <property name="justify">GTK_JUSTIFY_LEFT</property>
-						  <property name="wrap">False</property>
-						  <property name="selectable">False</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-						  <property name="width_chars">-1</property>
-						  <property name="single_line_mode">False</property>
-						  <property name="angle">0</property>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-					    </widget>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">4</property>
-				  <property name="top_attach">2</property>
-				  <property name="bottom_attach">3</property>
-				  <property name="x_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkColorButton" id="url_msg_colorbutton">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="use_alpha">False</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="color_set" handler="on_url_msg_colorbutton_color_set"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">3</property>
-				  <property name="right_attach">4</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label371">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_URL:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">url_msg_colorbutton</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">2</property>
-				  <property name="right_attach">3</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkColorButton" id="status_msg_colorbutton">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="use_alpha">False</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="color_set" handler="on_status_msg_colorbutton_color_set"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label71">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Status message:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_CENTER</property>
-				  <property name="wrap">True</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">status_msg_colorbutton</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkColorButton" id="outgoing_msg_colorbutton">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="use_alpha">False</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="color_set" handler="on_outgoing_msg_colorbutton_color_set"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">3</property>
-				  <property name="right_attach">4</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label70">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Outgoing message:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_CENTER</property>
-				  <property name="wrap">True</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">outgoing_msg_colorbutton</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">2</property>
-				  <property name="right_attach">3</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkColorButton" id="incoming_msg_colorbutton">
-				  <property name="visible">True</property>
-				  <property name="can_default">True</property>
-				  <property name="has_default">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="has_focus">True</property>
-				  <property name="use_alpha">False</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="color_set" handler="on_incoming_msg_colorbutton_color_set"/>
-				</widget>
-				<packing>
-				  <property name="left_attach">1</property>
-				  <property name="right_attach">2</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label72">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Incoming message:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_CENTER</property>
-				  <property name="wrap">True</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">incoming_msg_colorbutton</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">0</property>
-				  <property name="bottom_attach">1</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label228">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Format of a line&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label218">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Chat</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox42">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkFrame" id="frame29">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment58">
-		      <property name="border_width">6</property>
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox67">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">6</property>
-
-			  <child>
-			    <widget class="GtkFrame" id="frame25">
-			      <property name="border_width">2</property>
-			      <property name="visible">True</property>
-			      <property name="label_xalign">0</property>
-			      <property name="label_yalign">0.5</property>
-			      <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment54">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">0</property>
-				  <property name="left_padding">12</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkHBox" id="hbox2949">
-				      <property name="border_width">3</property>
-				      <property name="visible">True</property>
-				      <property name="homogeneous">False</property>
-				      <property name="spacing">6</property>
-
-				      <child>
-					<widget class="GtkRadioButton" id="notify_on_new_message_radiobutton">
-					  <property name="visible">True</property>
-					  <property name="tooltip" translatable="yes">Gajim will notify you for new events via a popup in the bottom right of the screen</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">_Notify me about it</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					  <signal name="toggled" handler="on_notify_on_new_message_radiobutton_toggled"/>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkRadioButton" id="popup_new_message_radiobutton">
-					  <property name="visible">True</property>
-					  <property name="tooltip" translatable="yes">Gajim will automatically show new events by popping up the relevant window</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">_Pop it up</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					  <property name="group">notify_on_new_message_radiobutton</property>
-					  <signal name="toggled" handler="on_popup_new_message_radiobutton_toggled"/>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkRadioButton" id="only_in_roster_radiobutton">
-					  <property name="visible">True</property>
-					  <property name="tooltip" translatable="yes">Gajim will only change the icon of the contact that triggered the new event</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Show only in _roster</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					  <property name="group">notify_on_new_message_radiobutton</property>
-					  <signal name="toggled" handler="on_only_in_roster_radiobutton_toggled"/>
-					</widget>
-					<packing>
-					  <property name="padding">0</property>
-					  <property name="expand">False</property>
-					  <property name="fill">False</property>
-					</packing>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkEventBox" id="eventbox">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">When a new event (message, file transfer request etc..) is received, the following methods may be used to inform you about it. Please note that events about new messages only occur if it is a new message from a contact you are not already chatting with</property>
-				  <property name="visible_window">True</property>
-				  <property name="above_child">False</property>
-
-				  <child>
-				    <widget class="GtkLabel" id="label233">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">When new event is received</property>
-				      <property name="use_underline">False</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="type">label_item</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox2950">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">6</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label241">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Notify me about contacts that: </property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="notify_on_signin_checkbutton">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed in</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Sign _in</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_notify_on_signin_checkbutton_toggled"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkCheckButton" id="notify_on_signout_checkbutton">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed out</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Sign _out</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
-				  <signal name="toggled" handler="on_notify_on_signout_checkbutton_toggled"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="auto_popup_away_checkbutton">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Allow popup/notifications when I'm _away/na/busy/invisible</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_auto_popup_away_checkbutton_toggled"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHBox" id="anc_hbox">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">0</property>
-
-			      <child>
-				<widget class="GtkButton" id="button1">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="clicked" handler="on_open_advanced_notifications_button_clicked"/>
-
-				  <child>
-				    <widget class="GtkAlignment" id="alignment90">
-				      <property name="visible">True</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xscale">0</property>
-				      <property name="yscale">0</property>
-				      <property name="top_padding">0</property>
-				      <property name="bottom_padding">0</property>
-				      <property name="left_padding">0</property>
-				      <property name="right_padding">0</property>
-
-				      <child>
-					<widget class="GtkHBox" id="hbox3019">
-					  <property name="visible">True</property>
-					  <property name="homogeneous">False</property>
-					  <property name="spacing">2</property>
-
-					  <child>
-					    <widget class="GtkImage" id="image1371">
-					      <property name="visible">True</property>
-					      <property name="stock">gtk-open</property>
-					      <property name="icon_size">4</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-
-					  <child>
-					    <widget class="GtkLabel" id="label382">
-					      <property name="visible">True</property>
-					      <property name="label" translatable="yes">_Advanced Notifications Control...</property>
-					      <property name="use_underline">True</property>
-					      <property name="use_markup">False</property>
-					      <property name="justify">GTK_JUSTIFY_LEFT</property>
-					      <property name="wrap">False</property>
-					      <property name="selectable">False</property>
-					      <property name="xalign">0.5</property>
-					      <property name="yalign">0.5</property>
-					      <property name="xpad">0</property>
-					      <property name="ypad">0</property>
-					      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					      <property name="width_chars">-1</property>
-					      <property name="single_line_mode">False</property>
-					      <property name="angle">0</property>
-					    </widget>
-					    <packing>
-					      <property name="padding">0</property>
-					      <property name="expand">False</property>
-					      <property name="fill">False</property>
-					    </packing>
-					  </child>
-					</widget>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-
-			      <child>
-				<placeholder/>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label240">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Visual Notifications&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="ignore_events_from_unknown_contacts_checkbutton">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Check this option, only if someone you don't have in the roster spams/annoys you. Use with caution, because it blocks all messages from any contact that is not in the roster</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">_Ignore events from contacts not in the roster</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="on_ignore_events_from_unknown_contacts_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox2991">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">12</property>
-
-		  <child>
-		    <widget class="GtkEventBox" id="eventbox4">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to send to the other party.</property>
-		      <property name="visible_window">True</property>
-		      <property name="above_child">False</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label354">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Outgoing Chat state noti_fications:</property>
-			  <property name="use_underline">True</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkComboBox" id="outgoing_chat_states_combobox">
-		      <property name="visible">True</property>
-		      <property name="items" translatable="yes">All chat states
+                                <signal name="changed" handler="on_treat_incoming_messages_combobox_changed"/>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label379">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="xpad">1</property>
+                                <property name="label" translatable="yes">Use only one message _window:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">one_window_type_combobox</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label387">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="xpad">1</property>
+                                <property name="label" translatable="yes">Treat all incoming messages as:</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label2">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Chat Appearance&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame3">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment3">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkTable" id="table2">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="n_rows">3</property>
+                            <property name="n_columns">4</property>
+                            <property name="column_spacing">6</property>
+                            <property name="row_spacing">6</property>
+                            <child>
+                              <widget class="GtkLabel" id="label4">
+                                <property name="visible">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">3</property>
+                                <property name="right_attach">4</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="transports_iconsets_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">If checked, Gajim will use protocol-specific status icons. (eg. A contact from MSN will have the equivalent msn icon for status online, away, busy, etc...)</property>
+                                <property name="label" translatable="yes">Use _transports iconsets</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_transports_iconsets_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="right_attach">4</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="iconset_combobox">
+                                <property name="visible">True</property>
+                                <signal name="changed" handler="on_iconset_combobox_changed"/>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label174">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Status _iconset:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">iconset_combobox</property>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="theme_combobox">
+                                <property name="visible">True</property>
+                                <signal name="changed" handler="on_theme_combobox_changed"/>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkButton" id="manage_theme_button">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">Configure color and font of the interface</property>
+                                <property name="label" translatable="yes">Ma_nage...</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <signal name="clicked" handler="on_manage_theme_button_clicked"/>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">2</property>
+                                <property name="right_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label249">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">T_heme:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">theme_combobox</property>
+                              </widget>
+                              <packing>
+                                <property name="x_options">GTK_FILL</property>
+                                <property name="y_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label6">
+                                <property name="visible">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">2</property>
+                                <property name="right_attach">4</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label3">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Themes&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label74">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">General</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox58">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkFrame" id="frame4">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment4">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkTable" id="table3">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="n_rows">3</property>
+                            <property name="n_columns">2</property>
+                            <property name="column_spacing">6</property>
+                            <property name="row_spacing">6</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="ignore_events_from_unknown_contacts_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">Check this option, only if someone you don't have in the roster spams/annoys you. Use with caution, because it blocks all messages from any contact that is not in the roster</property>
+                                <property name="label" translatable="yes">_Ignore events from contacts not in the roster</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_ignore_events_from_unknown_contacts_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">2</property>
+                                <property name="bottom_attach">3</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="displayed_chat_states_combobox">
+                                <property name="visible">True</property>
+                                <property name="items" translatable="yes">All chat states
 Composing only
 Disabled</property>
-		      <property name="add_tearoffs">False</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="changed" handler="on_outgoing_chat_states_combobox_changed"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox3023">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">12</property>
-
-		  <child>
-		    <widget class="GtkEventBox" id="eventbox7">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to display in chat windows.</property>
-		      <property name="visible_window">True</property>
-		      <property name="above_child">False</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label386">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Displayed Chat state noti_fications:</property>
-			  <property name="use_underline">True</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkComboBox" id="displayed_chat_states_combobox">
-		      <property name="visible">True</property>
-		      <property name="items" translatable="yes">All chat states
+                                <signal name="changed" handler="on_displayed_chat_states_combobox_changed"/>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkEventBox" id="eventbox7">
+                                <property name="visible">True</property>
+                                <property name="tooltip" translatable="yes">Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to display in chat windows.</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label386">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Display chat state notifications:</property>
+                                    <property name="use_underline">True</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkEventBox" id="eventbox4">
+                                <property name="visible">True</property>
+                                <property name="tooltip" translatable="yes">Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to send to the other party.</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label354">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Send chat state notifications:</property>
+                                    <property name="use_underline">True</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkComboBox" id="outgoing_chat_states_combobox">
+                                <property name="visible">True</property>
+                                <property name="items" translatable="yes">All chat states
 Composing only
 Disabled</property>
-		      <property name="add_tearoffs">False</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="changed" handler="on_displayed_chat_states_combobox_changed"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkExpander" id="expander2">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="expanded">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox65">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox2946">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">True</property>
-			  <property name="spacing">6</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="play_sounds_checkbutton">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Play _sounds</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_play_sounds_checkbutton_toggled"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHBox" id="soundplayer_hbox">
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">5</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label189">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">_Player:</property>
-				  <property name="use_underline">True</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">soundplayer_entry</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkEntry" id="soundplayer_entry">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">True</property>
-				  <property name="visibility">True</property>
-				  <property name="max_length">0</property>
-				  <property name="text" translatable="yes"></property>
-				  <property name="has_frame">True</property>
-				  <property name="invisible_char">●</property>
-				  <property name="activates_default">False</property>
-				  <signal name="changed" handler="on_soundplayer_entry_changed"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkScrolledWindow" id="sounds_scrolledwindow">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			  <property name="shadow_type">GTK_SHADOW_IN</property>
-			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			  <child>
-			    <widget class="GtkTreeView" id="sounds_treeview">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="headers_visible">True</property>
-			      <property name="rules_hint">False</property>
-			      <property name="reorderable">False</property>
-			      <property name="enable_search">True</property>
-			      <property name="fixed_height_mode">False</property>
-			      <property name="hover_selection">False</property>
-			      <property name="hover_expand">False</property>
-			      <signal name="cursor_changed" handler="on_treeview_sounds_cursor_changed"/>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkHBox" id="browse_sounds_hbox">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">6</property>
-
-			  <child>
-			    <widget class="GtkEntry" id="sounds_entry">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="editable">True</property>
-			      <property name="visibility">True</property>
-			      <property name="max_length">0</property>
-			      <property name="text" translatable="yes"></property>
-			      <property name="has_frame">True</property>
-			      <property name="invisible_char">●</property>
-			      <property name="activates_default">False</property>
-			      <signal name="changed" handler="on_sounds_entry_changed"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkButton" id="browse_for_sounds_button">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label">...</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <signal name="clicked" handler="on_browse_for_sounds_button_clicked"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkButton" id="play_button">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <signal name="clicked" handler="on_play_button_clicked"/>
-
-			      <child>
-				<widget class="GtkImage" id="image1370">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-media-play</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label385">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Sounds&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label76">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Events</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="status_vbox">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkTable" id="autoaway_table">
-		  <property name="visible">True</property>
-		  <property name="n_rows">2</property>
-		  <property name="n_columns">4</property>
-		  <property name="homogeneous">False</property>
-		  <property name="row_spacing">6</property>
-		  <property name="column_spacing">12</property>
-
-		  <child>
-		    <widget class="GtkEntry" id="auto_xa_message_entry">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">The auto not available status message</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="invisible_char">●</property>
-		      <property name="activates_default">False</property>
-		      <signal name="changed" handler="on_auto_xa_message_entry_changed"/>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">3</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="auto_away_message_entry">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">The auto away status message</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text" translatable="yes"></property>
-		      <property name="has_frame">True</property>
-		      <property name="invisible_char">●</property>
-		      <property name="activates_default">False</property>
-		      <signal name="changed" handler="on_auto_away_message_entry_changed"/>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">3</property>
-		      <property name="right_attach">4</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment34">
-		      <property name="visible">True</property>
-		      <property name="xalign">1</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">0</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkSpinButton" id="auto_xa_time_spinbutton">
-			  <property name="width_request">50</property>
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="climb_rate">1</property>
-			  <property name="digits">0</property>
-			  <property name="numeric">False</property>
-			  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-			  <property name="snap_to_ticks">False</property>
-			  <property name="wrap">False</property>
-			  <property name="adjustment">20 1 1440 1 10 10</property>
-			  <signal name="value_changed" handler="on_auto_xa_time_spinbutton_value_changed"/>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options"></property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment33">
-		      <property name="visible">True</property>
-		      <property name="xalign">1</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">0</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkSpinButton" id="auto_away_time_spinbutton">
-			  <property name="width_request">50</property>
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="climb_rate">1</property>
-			  <property name="digits">0</property>
-			  <property name="numeric">False</property>
-			  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-			  <property name="snap_to_ticks">False</property>
-			  <property name="wrap">False</property>
-			  <property name="adjustment">12 1 720 1 10 10</property>
-			  <signal name="value_changed" handler="on_auto_away_time_spinbutton_value_changed"/>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options"></property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label78">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">minutes</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">2</property>
-		      <property name="right_attach">3</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options"></property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label77">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">minutes</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">2</property>
-		      <property name="right_attach">3</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options"></property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkCheckButton" id="auto_xa_checkbutton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Auto _not available after:</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <signal name="toggled" handler="on_auto_xa_checkbutton_toggled"/>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options"></property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkCheckButton" id="auto_away_checkbutton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Auto _away after:</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <signal name="toggled" handler="on_auto_away_checkbutton_toggled"/>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options"></property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox2934">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkLabel" id="label214">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Ask status message when I:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox2934">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">14</property>
-
-		      <child>
-			<widget class="GtkCheckButton" id="prompt_online_status_message_checkbutton">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">Sign _in</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			  <signal name="toggled" handler="on_prompt_online_status_message_checkbutton_toggled"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkCheckButton" id="prompt_offline_status_message_checkbutton">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">Sign _out</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			  <signal name="toggled" handler="on_prompt_offline_status_message_checkbutton_toggled"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="set_status_msg_from_current_music_track_checkbutton">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Works for Rhythmbox and Muine players. For more players, please visit http://trac.gajim.org/wiki/GajimAndMusicPlayer</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Set status message to reflect currently playing _music track</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="set_status_msg_from_current_music_track_checkbutton_toggled"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkEventBox" id="default_status_eventbox">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">An example: If you have enabled status message for away, Gajim won't ask you anymore for a status message when you change your status to away; it will use the default one set here</property>
-		  <property name="visible_window">True</property>
-		  <property name="above_child">False</property>
-
-		  <child>
-		    <widget class="GtkExpander" id="default_status_expander">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="expanded">False</property>
-		      <property name="spacing">0</property>
-		      <signal name="activate" handler="on_default_status_expander_activate"/>
-
-		      <child>
-			<widget class="GtkScrolledWindow" id="scrolledwindow24">
-			  <property name="border_width">6</property>
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			  <property name="shadow_type">GTK_SHADOW_IN</property>
-			  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			  <child>
-			    <widget class="GtkTreeView" id="default_msg_treeview">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="headers_visible">True</property>
-			      <property name="rules_hint">False</property>
-			      <property name="reorderable">False</property>
-			      <property name="enable_search">True</property>
-			      <property name="fixed_height_mode">False</property>
-			      <property name="hover_selection">False</property>
-			      <property name="hover_expand">False</property>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="label384">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Default Status Messages</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="type">label_item</property>
-			</packing>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkFrame" id="frame22">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment49">
-		      <property name="border_width">6</property>
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox56">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">6</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox2933">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">6</property>
-
-			      <child>
-				<widget class="GtkScrolledWindow" id="scrolledwindow22">
-				  <property name="border_width">5</property>
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="shadow_type">GTK_SHADOW_IN</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-				  <child>
-				    <widget class="GtkTreeView" id="msg_treeview">
-				      <property name="visible">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="headers_visible">False</property>
-				      <property name="rules_hint">False</property>
-				      <property name="reorderable">False</property>
-				      <property name="enable_search">True</property>
-				      <property name="fixed_height_mode">False</property>
-				      <property name="hover_selection">False</property>
-				      <property name="hover_expand">False</property>
-				      <signal name="key_press_event" handler="on_msg_treeview_key_press_event"/>
-				      <signal name="cursor_changed" handler="on_msg_treeview_cursor_changed"/>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkVButtonBox" id="vbuttonbox3">
-				  <property name="visible">True</property>
-				  <property name="layout_style">GTK_BUTTONBOX_START</property>
-				  <property name="spacing">0</property>
-
-				  <child>
-				    <widget class="GtkButton" id="new_msg_button">
-				      <property name="border_width">5</property>
-				      <property name="visible">True</property>
-				      <property name="can_default">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label">gtk-new</property>
-				      <property name="use_stock">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <signal name="clicked" handler="on_new_msg_button_clicked"/>
-				    </widget>
-				  </child>
-
-				  <child>
-				    <widget class="GtkButton" id="delete_msg_button">
-				      <property name="border_width">5</property>
-				      <property name="visible">True</property>
-				      <property name="can_default">True</property>
-				      <property name="can_focus">True</property>
-				      <property name="label">gtk-delete</property>
-				      <property name="use_stock">True</property>
-				      <property name="relief">GTK_RELIEF_NORMAL</property>
-				      <property name="focus_on_click">True</property>
-				      <signal name="clicked" handler="on_delete_msg_button_clicked"/>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkScrolledWindow" id="scrolledwindow23">
-			      <property name="border_width">5</property>
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-			      <property name="shadow_type">GTK_SHADOW_IN</property>
-			      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-			      <child>
-				<widget class="GtkTextView" id="msg_textview">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">True</property>
-				  <property name="overwrite">False</property>
-				  <property name="accepts_tab">True</property>
-				  <property name="justification">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap_mode">GTK_WRAP_NONE</property>
-				  <property name="cursor_visible">True</property>
-				  <property name="pixels_above_lines">0</property>
-				  <property name="pixels_below_lines">0</property>
-				  <property name="pixels_inside_wrap">0</property>
-				  <property name="left_margin">0</property>
-				  <property name="right_margin">0</property>
-				  <property name="indent">0</property>
-				  <property name="text" translatable="yes"></property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label213">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Preset Status Messages&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label80">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Status</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox45">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkFrame" id="applications_frame">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment89">
-		      <property name="border_width">6</property>
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox50">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">6</property>
-
-			  <child>
-			    <widget class="GtkComboBox" id="applications_combobox">
-			      <property name="visible">True</property>
-			      <property name="items" translatable="yes">Autodetect on every Gajim startup
+                                <signal name="changed" handler="on_outgoing_chat_states_combobox_changed"/>
+                              </widget>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label5">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Privacy&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame24">
+                    <property name="visible">True</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment53">
+                        <property name="visible">True</property>
+                        <property name="border_width">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox62">
+                            <property name="visible">True</property>
+                            <property name="spacing">12</property>
+                            <child>
+                              <widget class="GtkTable" id="table25">
+                                <property name="visible">True</property>
+                                <property name="n_rows">4</property>
+                                <property name="n_columns">4</property>
+                                <property name="column_spacing">12</property>
+                                <property name="row_spacing">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label72">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Incoming message:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="wrap">True</property>
+                                    <property name="mnemonic_widget">incoming_msg_colorbutton</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkColorButton" id="incoming_msg_colorbutton">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="has_focus">True</property>
+                                    <property name="can_default">True</property>
+                                    <property name="has_default">True</property>
+                                    <property name="response_id">0</property>
+                                    <signal name="color_set" handler="on_incoming_msg_colorbutton_color_set"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="x_options"></property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label70">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Outgoing message:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="wrap">True</property>
+                                    <property name="mnemonic_widget">outgoing_msg_colorbutton</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkColorButton" id="outgoing_msg_colorbutton">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                    <signal name="color_set" handler="on_outgoing_msg_colorbutton_color_set"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">3</property>
+                                    <property name="right_attach">4</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label71">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Status message:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="justify">GTK_JUSTIFY_CENTER</property>
+                                    <property name="wrap">True</property>
+                                    <property name="mnemonic_widget">status_msg_colorbutton</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkColorButton" id="status_msg_colorbutton">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                    <signal name="color_set" handler="on_status_msg_colorbutton_color_set"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options"></property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label371">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_URL:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">url_msg_colorbutton</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">3</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkColorButton" id="url_msg_colorbutton">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                    <signal name="color_set" handler="on_url_msg_colorbutton_color_set"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">3</property>
+                                    <property name="right_attach">4</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox3022">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label383">
+                                        <property name="visible">True</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="reset_colors_button">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="focus_on_click">False</property>
+                                        <property name="response_id">0</property>
+                                        <signal name="clicked" handler="on_reset_colors_button_clicked"/>
+                                        <child>
+                                          <widget class="GtkAlignment" id="alignment52">
+                                            <property name="visible">True</property>
+                                            <property name="xscale">0</property>
+                                            <property name="yscale">0</property>
+                                            <child>
+                                              <widget class="GtkHBox" id="hbox2936">
+                                                <property name="visible">True</property>
+                                                <property name="spacing">2</property>
+                                                <child>
+                                                  <widget class="GtkImage" id="image439">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-revert-to-saved</property>
+                                                  </widget>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">False</property>
+                                                  </packing>
+                                                </child>
+                                                <child>
+                                                  <widget class="GtkLabel" id="label217">
+                                                    <property name="visible">True</property>
+                                                    <property name="label" translatable="yes">_Reset to Default Colors</property>
+                                                    <property name="use_underline">True</property>
+                                                  </widget>
+                                                  <packing>
+                                                    <property name="expand">False</property>
+                                                    <property name="fill">False</property>
+                                                    <property name="position">1</property>
+                                                  </packing>
+                                                </child>
+                                              </widget>
+                                            </child>
+                                          </widget>
+                                        </child>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="right_attach">4</property>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox3021">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">6</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="font_label">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Font:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">conversation_fontbutton</property>
+                                      </widget>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkFontButton" id="conversation_fontbutton">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="response_id">0</property>
+                                        <signal name="font_set" handler="on_conversation_fontbutton_font_set"/>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">3</property>
+                                    <property name="bottom_attach">4</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkCheckButton" id="default_chat_font">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="label" translatable="yes">Use system _default</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="response_id">0</property>
+                                    <property name="draw_indicator">True</property>
+                                    <signal name="toggled" handler="on_default_chat_font_toggled"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">4</property>
+                                    <property name="top_attach">3</property>
+                                    <property name="bottom_attach">4</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"></property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label228">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Format of a line&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label218">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Privacy</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox42">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">12</property>
+                <child>
+                  <widget class="GtkFrame" id="frame29">
+                    <property name="visible">True</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment58">
+                        <property name="visible">True</property>
+                        <property name="border_width">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox67">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox1">
+                                <property name="visible">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label7">
+                                    <property name="visible">True</property>
+                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">When new event is received:</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkComboBox" id="on_event_combobox">
+                                    <property name="visible">True</property>
+                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                    <property name="items" translatable="yes">Pop it up
+Notify me about it
+Show only in roster</property>
+                                    <signal name="changed" handler="on_on_event_combobox_changed"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="notify_on_signin_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" translatable="yes">Notify me about contacts that sign _in</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_notify_on_signin_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="notify_on_signout_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed out</property>
+                                <property name="label" translatable="yes">Notify me about contacts that sign _out</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_notify_on_signout_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="auto_popup_away_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Allow popup/notifications when I'm _away/na/busy/invisible</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_auto_popup_away_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">3</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkHBox" id="anc_hbox">
+                                <property name="visible">True</property>
+                                <property name="no_show_all">True</property>
+                                <child>
+                                  <widget class="GtkButton" id="button1">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                    <signal name="clicked" handler="on_open_advanced_notifications_button_clicked"/>
+                                    <child>
+                                      <widget class="GtkAlignment" id="alignment90">
+                                        <property name="visible">True</property>
+                                        <property name="xscale">0</property>
+                                        <property name="yscale">0</property>
+                                        <child>
+                                          <widget class="GtkHBox" id="hbox3019">
+                                            <property name="visible">True</property>
+                                            <property name="spacing">2</property>
+                                            <child>
+                                              <widget class="GtkImage" id="image1371">
+                                                <property name="visible">True</property>
+                                                <property name="stock">gtk-open</property>
+                                              </widget>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <widget class="GtkLabel" id="label382">
+                                                <property name="visible">True</property>
+                                                <property name="label" translatable="yes">_Advanced Notifications Control...</property>
+                                                <property name="use_underline">True</property>
+                                              </widget>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                                <property name="position">1</property>
+                                              </packing>
+                                            </child>
+                                          </widget>
+                                        </child>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">4</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label240">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Visual Notifications&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame5">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment5">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox65">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox2946">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <property name="homogeneous">True</property>
+                                <child>
+                                  <widget class="GtkCheckButton" id="play_sounds_checkbutton">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="label" translatable="yes">Play _sounds</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="response_id">0</property>
+                                    <property name="draw_indicator">True</property>
+                                    <signal name="toggled" handler="on_play_sounds_checkbutton_toggled"/>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkHBox" id="soundplayer_hbox">
+                                    <property name="spacing">5</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label189">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">_Player:</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">soundplayer_entry</property>
+                                      </widget>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkEntry" id="soundplayer_entry">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <signal name="changed" handler="on_soundplayer_entry_changed"/>
+                                      </widget>
+                                      <packing>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkScrolledWindow" id="sounds_scrolledwindow">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <child>
+                                  <widget class="GtkTreeView" id="sounds_treeview">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <signal name="cursor_changed" handler="on_treeview_sounds_cursor_changed"/>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkHBox" id="browse_sounds_hbox">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <widget class="GtkEntry" id="sounds_entry">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <signal name="changed" handler="on_sounds_entry_changed"/>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="browse_for_sounds_button">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="label">...</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="response_id">0</property>
+                                    <signal name="clicked" handler="on_browse_for_sounds_button_clicked"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="play_button">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="response_id">0</property>
+                                    <signal name="clicked" handler="on_play_button_clicked"/>
+                                    <child>
+                                      <widget class="GtkImage" id="image1370">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-media-play</property>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label8">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Sounds&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label76">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Events</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">2</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="status_vbox">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">12</property>
+                <child>
+                  <widget class="GtkTable" id="autoaway_table">
+                    <property name="visible">True</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">4</property>
+                    <property name="column_spacing">12</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <widget class="GtkCheckButton" id="auto_away_checkbutton">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="label" translatable="yes">Auto _away after:</property>
+                        <property name="use_underline">True</property>
+                        <property name="response_id">0</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="on_auto_away_checkbutton_toggled"/>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkCheckButton" id="auto_xa_checkbutton">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="label" translatable="yes">Auto _not available after:</property>
+                        <property name="use_underline">True</property>
+                        <property name="response_id">0</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="on_auto_xa_checkbutton_toggled"/>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label77">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">minutes</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label78">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">minutes</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment33">
+                        <property name="visible">True</property>
+                        <property name="xalign">1</property>
+                        <property name="xscale">0</property>
+                        <child>
+                          <widget class="GtkSpinButton" id="auto_away_time_spinbutton">
+                            <property name="width_request">50</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="adjustment">12 1 720 1 10 10</property>
+                            <property name="climb_rate">1</property>
+                            <signal name="value_changed" handler="on_auto_away_time_spinbutton_value_changed"/>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment34">
+                        <property name="visible">True</property>
+                        <property name="xalign">1</property>
+                        <property name="xscale">0</property>
+                        <child>
+                          <widget class="GtkSpinButton" id="auto_xa_time_spinbutton">
+                            <property name="width_request">50</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="adjustment">20 1 1440 1 10 10</property>
+                            <property name="climb_rate">1</property>
+                            <signal name="value_changed" handler="on_auto_xa_time_spinbutton_value_changed"/>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="auto_away_message_entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip" translatable="yes">The auto away status message</property>
+                        <signal name="changed" handler="on_auto_away_message_entry_changed"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">3</property>
+                        <property name="right_attach">4</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="auto_xa_message_entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip" translatable="yes">The auto not available status message</property>
+                        <signal name="changed" handler="on_auto_xa_message_entry_changed"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">3</property>
+                        <property name="right_attach">4</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox2934">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkLabel" id="label214">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Ask status message when I:</property>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox2934">
+                        <property name="visible">True</property>
+                        <property name="spacing">14</property>
+                        <child>
+                          <widget class="GtkCheckButton" id="prompt_online_status_message_checkbutton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Sign _in</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                            <signal name="toggled" handler="on_prompt_online_status_message_checkbutton_toggled"/>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkCheckButton" id="prompt_offline_status_message_checkbutton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="label" translatable="yes">Sign _out</property>
+                            <property name="use_underline">True</property>
+                            <property name="response_id">0</property>
+                            <property name="draw_indicator">True</property>
+                            <signal name="toggled" handler="on_prompt_offline_status_message_checkbutton_toggled"/>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkCheckButton" id="set_status_msg_from_current_music_track_checkbutton">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="tooltip" translatable="yes">Works for Rhythmbox and Muine players. For more players, please visit http://trac.gajim.org/wiki/GajimAndMusicPlayer</property>
+                    <property name="label" translatable="yes">Set status message to reflect currently playing _music track</property>
+                    <property name="use_underline">True</property>
+                    <property name="response_id">0</property>
+                    <property name="draw_indicator">True</property>
+                    <signal name="toggled" handler="set_status_msg_from_current_music_track_checkbutton_toggled"/>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkEventBox" id="default_status_eventbox">
+                    <property name="visible">True</property>
+                    <property name="tooltip" translatable="yes">An example: If you have enabled status message for away, Gajim won't ask you anymore for a status message when you change your status to away; it will use the default one set here</property>
+                    <child>
+                      <widget class="GtkExpander" id="default_status_expander">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <signal name="activate" handler="on_default_status_expander_activate"/>
+                        <child>
+                          <widget class="GtkScrolledWindow" id="scrolledwindow24">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="border_width">6</property>
+                            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                            <property name="shadow_type">GTK_SHADOW_IN</property>
+                            <child>
+                              <widget class="GtkTreeView" id="default_msg_treeview">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label384">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">Default Status Messages</property>
+                          </widget>
+                          <packing>
+                            <property name="type">label_item</property>
+                          </packing>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame22">
+                    <property name="visible">True</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment49">
+                        <property name="visible">True</property>
+                        <property name="border_width">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox56">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox2933">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <widget class="GtkScrolledWindow" id="scrolledwindow22">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="border_width">5</property>
+                                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                                    <child>
+                                      <widget class="GtkTreeView" id="msg_treeview">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="headers_visible">False</property>
+                                        <signal name="key_press_event" handler="on_msg_treeview_key_press_event"/>
+                                        <signal name="cursor_changed" handler="on_msg_treeview_cursor_changed"/>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkVButtonBox" id="vbuttonbox3">
+                                    <property name="visible">True</property>
+                                    <property name="layout_style">GTK_BUTTONBOX_START</property>
+                                    <child>
+                                      <widget class="GtkButton" id="new_msg_button">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="can_default">True</property>
+                                        <property name="border_width">5</property>
+                                        <property name="label">gtk-new</property>
+                                        <property name="use_stock">True</property>
+                                        <property name="response_id">0</property>
+                                        <signal name="clicked" handler="on_new_msg_button_clicked"/>
+                                      </widget>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="delete_msg_button">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="can_default">True</property>
+                                        <property name="border_width">5</property>
+                                        <property name="label">gtk-delete</property>
+                                        <property name="use_stock">True</property>
+                                        <property name="response_id">0</property>
+                                        <signal name="clicked" handler="on_delete_msg_button_clicked"/>
+                                      </widget>
+                                      <packing>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkScrolledWindow" id="scrolledwindow23">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="border_width">5</property>
+                                <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                                <property name="shadow_type">GTK_SHADOW_IN</property>
+                                <child>
+                                  <widget class="GtkTextView" id="msg_textview">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label213">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Preset Status Messages&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label80">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Status</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">3</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox45">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkFrame" id="applications_frame">
+                    <property name="visible">True</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment89">
+                        <property name="visible">True</property>
+                        <property name="border_width">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox50">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <widget class="GtkComboBox" id="applications_combobox">
+                                <property name="visible">True</property>
+                                <property name="items" translatable="yes">Autodetect on every Gajim startup
 Always use GNOME default applications
 Always use KDE default applications
-Always use XFCE4 default applications
+Always use Xfce default applications
 Custom</property>
-			      <property name="add_tearoffs">False</property>
-			      <property name="focus_on_click">True</property>
-			      <signal name="changed" handler="on_applications_combobox_changed"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkFrame" id="custom_apps_frame">
-			      <property name="label_xalign">0</property>
-			      <property name="label_yalign">0.5</property>
-			      <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-			      <child>
-				<widget class="GtkAlignment" id="alignment43">
-				  <property name="border_width">6</property>
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">0</property>
-				  <property name="left_padding">12</property>
-				  <property name="right_padding">0</property>
-
-				  <child>
-				    <widget class="GtkTable" id="table22">
-				      <property name="visible">True</property>
-				      <property name="n_rows">3</property>
-				      <property name="n_columns">2</property>
-				      <property name="homogeneous">False</property>
-				      <property name="row_spacing">6</property>
-				      <property name="column_spacing">12</property>
-
-				      <child>
-					<widget class="GtkEntry" id="custom_file_manager_entry">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="editable">True</property>
-					  <property name="visibility">True</property>
-					  <property name="max_length">0</property>
-					  <property name="text" translatable="yes"></property>
-					  <property name="has_frame">True</property>
-					  <property name="invisible_char">●</property>
-					  <property name="activates_default">False</property>
-					  <signal name="changed" handler="on_custom_file_manager_entry_changed"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">2</property>
-					  <property name="bottom_attach">3</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label355">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">_File manager:</property>
-					  <property name="use_underline">True</property>
-					  <property name="use_markup">False</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="mnemonic_widget">custom_file_manager_entry</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">2</property>
-					  <property name="bottom_attach">3</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkEntry" id="custom_browser_entry">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="editable">True</property>
-					  <property name="visibility">True</property>
-					  <property name="max_length">0</property>
-					  <property name="text" translatable="yes"></property>
-					  <property name="has_frame">True</property>
-					  <property name="invisible_char">●</property>
-					  <property name="activates_default">False</property>
-					  <signal name="changed" handler="on_custom_browser_entry_changed"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkEntry" id="custom_mail_client_entry">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="editable">True</property>
-					  <property name="visibility">True</property>
-					  <property name="max_length">0</property>
-					  <property name="text" translatable="yes"></property>
-					  <property name="has_frame">True</property>
-					  <property name="invisible_char">●</property>
-					  <property name="activates_default">False</property>
-					  <signal name="changed" handler="on_custom_mail_client_entry_changed"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label200">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">_Mail client:</property>
-					  <property name="use_underline">True</property>
-					  <property name="use_markup">False</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="mnemonic_widget">custom_mail_client_entry</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkLabel" id="label199">
-					  <property name="visible">True</property>
-					  <property name="label" translatable="yes">_Browser:</property>
-					  <property name="use_underline">True</property>
-					  <property name="use_markup">False</property>
-					  <property name="justify">GTK_JUSTIFY_LEFT</property>
-					  <property name="wrap">False</property>
-					  <property name="selectable">False</property>
-					  <property name="xalign">0</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xpad">0</property>
-					  <property name="ypad">0</property>
-					  <property name="mnemonic_widget">custom_browser_entry</property>
-					  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-					  <property name="width_chars">-1</property>
-					  <property name="single_line_mode">False</property>
-					  <property name="angle">0</property>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="x_options"></property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label198">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes" comments="a header for custom browser/client/file manager. so translate sth like: Custom Settings">&lt;b&gt;Custom&lt;/b&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="type">label_item</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label355">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Applications&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkFrame" id="frame_gmail">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment_gmail">
-		      <property name="border_width">6</property>
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox_gmail">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">6</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="notify_gmail_checkbutton">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Notify on new _GMail email</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_notify_gmail_checkbutton_toggled"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="notify_gmail_extra_checkbutton">
-			      <property name="visible">True</property>
-			      <property name="tooltip" translatable="yes">If checked, Gajim will also include information about the sender of the new emails</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Display _extra email details</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_notify_gmail_extra_checkbutton_toggled"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="gmail_options_label">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;GMail Options&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkFrame" id="frame27">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment56">
-		      <property name="border_width">6</property>
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox66">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">6</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="log_show_changes_checkbutton">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">_Log status changes of contacts</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_log_show_changes_checkbutton_toggled"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="send_os_info_checkbutton">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Allow _OS information to be sent</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_send_os_info_checkbutton_toggled"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="check_default_client_checkbutton">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Always check to see if Gajim is the _default Jabber client on startup</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_check_default_client_checkbutton_toggled"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label235">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Miscellaneous&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkFrame" id="frame31">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment64">
-		      <property name="border_width">6</property>
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">0</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">335</property>
-
-		      <child>
-			<widget class="GtkButton" id="open_advanced_editor_button">
-			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="on_open_advanced_editor_button_clicked"/>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment70">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox2962">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">2</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image597">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-open</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label296">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">_Open...</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label247">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Advanced Configuration Editor&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label169">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Advanced</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox96">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkFrame" id="frame36">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment91">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox97">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="pub_mood">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Publish Mood</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_pub_mood_toggled" last_modification_time="Thu, 09 Aug 2007 19:58:35 GMT"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="pub_activity">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Publish Activity</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_pub_activity_toggled" last_modification_time="Thu, 09 Aug 2007 19:58:29 GMT"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="pub_tune">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Publish Tune</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_pub_tune_toggled" last_modification_time="Thu, 09 Aug 2007 19:58:23 GMT"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label389">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Publish Personal Events&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkFrame" id="frame37">
-		  <property name="visible">True</property>
-		  <property name="label_xalign">0</property>
-		  <property name="label_yalign">0.5</property>
-		  <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment92">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">1</property>
-		      <property name="yscale">1</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">12</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkVBox" id="vbox98">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">0</property>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="sub_mood">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Subscribe Mood</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">False</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_sub_mood_toggled" last_modification_time="Thu, 09 Aug 2007 19:57:37 GMT"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="sub_activity">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Subscribe Activity</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">True</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_sub_activity_toggled" last_modification_time="Thu, 09 Aug 2007 19:58:03 GMT"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCheckButton" id="sub_tune">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">Subscribe Tune</property>
-			      <property name="use_underline">True</property>
-			      <property name="relief">GTK_RELIEF_NORMAL</property>
-			      <property name="focus_on_click">True</property>
-			      <property name="active">True</property>
-			      <property name="inconsistent">False</property>
-			      <property name="draw_indicator">True</property>
-			      <signal name="toggled" handler="on_sub_tune_toggled" last_modification_time="Thu, 09 Aug 2007 19:58:12 GMT"/>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="label390">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">&lt;b&gt;Subscribe Personal Events&lt;/b&gt;</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">True</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="type">label_item</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label388">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Personal Events</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.449999988079</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHButtonBox" id="hbuttonbox7">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-	  <property name="spacing">15</property>
-
-	  <child>
-	    <widget class="GtkButton" id="close_button">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-close</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <signal name="clicked" handler="on_close_button_clicked"/>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+                                <signal name="changed" handler="on_applications_combobox_changed"/>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkFrame" id="custom_apps_frame">
+                                <property name="label_xalign">0</property>
+                                <property name="shadow_type">GTK_SHADOW_NONE</property>
+                                <child>
+                                  <widget class="GtkAlignment" id="alignment43">
+                                    <property name="visible">True</property>
+                                    <property name="border_width">6</property>
+                                    <property name="left_padding">12</property>
+                                    <child>
+                                      <widget class="GtkTable" id="table22">
+                                        <property name="visible">True</property>
+                                        <property name="n_rows">3</property>
+                                        <property name="n_columns">2</property>
+                                        <property name="column_spacing">12</property>
+                                        <property name="row_spacing">6</property>
+                                        <child>
+                                          <widget class="GtkLabel" id="label199">
+                                            <property name="visible">True</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Browser:</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="mnemonic_widget">custom_browser_entry</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="x_options">GTK_FILL</property>
+                                            <property name="y_options"></property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkLabel" id="label200">
+                                            <property name="visible">True</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_Mail client:</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="mnemonic_widget">custom_mail_client_entry</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="top_attach">1</property>
+                                            <property name="bottom_attach">2</property>
+                                            <property name="x_options">GTK_FILL</property>
+                                            <property name="y_options"></property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkEntry" id="custom_mail_client_entry">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <signal name="changed" handler="on_custom_mail_client_entry_changed"/>
+                                          </widget>
+                                          <packing>
+                                            <property name="left_attach">1</property>
+                                            <property name="right_attach">2</property>
+                                            <property name="top_attach">1</property>
+                                            <property name="bottom_attach">2</property>
+                                            <property name="y_options"></property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkEntry" id="custom_browser_entry">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <signal name="changed" handler="on_custom_browser_entry_changed"/>
+                                          </widget>
+                                          <packing>
+                                            <property name="left_attach">1</property>
+                                            <property name="right_attach">2</property>
+                                            <property name="y_options"></property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkLabel" id="label355">
+                                            <property name="visible">True</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">_File manager:</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="mnemonic_widget">custom_file_manager_entry</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="top_attach">2</property>
+                                            <property name="bottom_attach">3</property>
+                                            <property name="x_options">GTK_FILL</property>
+                                            <property name="y_options"></property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkEntry" id="custom_file_manager_entry">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                            <signal name="changed" handler="on_custom_file_manager_entry_changed"/>
+                                          </widget>
+                                          <packing>
+                                            <property name="left_attach">1</property>
+                                            <property name="right_attach">2</property>
+                                            <property name="top_attach">2</property>
+                                            <property name="bottom_attach">3</property>
+                                            <property name="y_options"></property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                </child>
+                                <child>
+                                  <widget class="GtkLabel" id="label198">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes" comments="a header for custom browser/client/file manager. so translate sth like: Custom Settings">&lt;b&gt;Custom&lt;/b&gt;</property>
+                                    <property name="use_markup">True</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="type">label_item</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label355">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Applications&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame_gmail">
+                    <property name="visible">True</property>
+                    <property name="no_show_all">True</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment_gmail">
+                        <property name="visible">True</property>
+                        <property name="border_width">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox_gmail">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="notify_gmail_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Notify on new _GMail email</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_notify_gmail_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="notify_gmail_extra_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="tooltip" translatable="yes">If checked, Gajim will also include information about the sender of the new emails</property>
+                                <property name="label" translatable="yes">Display _extra email details</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_notify_gmail_extra_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="gmail_options_label">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;GMail Options&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame27">
+                    <property name="visible">True</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment56">
+                        <property name="visible">True</property>
+                        <property name="border_width">6</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox66">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="log_show_changes_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">_Log status changes of contacts</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_log_show_changes_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="send_os_info_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Allow _OS information to be sent</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_send_os_info_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="check_default_client_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Always check to see if Gajim is the _default Jabber client on startup</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_check_default_client_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label235">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Miscellaneous&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame31">
+                    <property name="visible">True</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment64">
+                        <property name="visible">True</property>
+                        <property name="border_width">6</property>
+                        <property name="yscale">0</property>
+                        <property name="left_padding">12</property>
+                        <property name="right_padding">335</property>
+                        <child>
+                          <widget class="GtkButton" id="open_advanced_editor_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="response_id">0</property>
+                            <signal name="clicked" handler="on_open_advanced_editor_button_clicked"/>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment70">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox2962">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image597">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-open</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label296">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">_Open...</property>
+                                        <property name="use_underline">True</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label247">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Advanced Configuration Editor&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">4</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label169">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Advanced</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">4</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox2">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkFrame" id="frame6">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment6">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox3">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="publish_mood_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" translatable="yes">Publish _Mood</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_publish_mood_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="publish_activity_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" translatable="yes">Publish _Activity</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_publish_activity_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="publish_tune_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" translatable="yes">Publish _Tune</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_publish_tune_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label10">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Publish Personal Events&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkFrame" id="frame7">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment7">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <widget class="GtkVBox" id="vbox4">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <child>
+                              <widget class="GtkCheckButton" id="subscribe_mood_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" translatable="yes">Subscribe to M_ood</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_subscribe_mood_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="subscribe_activity_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" translatable="yes">Subscribe to A_ctivity</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_subscribe_activity_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkCheckButton" id="subscribe_tune_checkbutton">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" translatable="yes">Subscribe to T_une</property>
+                                <property name="use_underline">True</property>
+                                <property name="response_id">0</property>
+                                <property name="draw_indicator">True</property>
+                                <signal name="toggled" handler="on_subscribe_tune_checkbutton_toggled"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="label11">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Subscribe to Personal Events&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </widget>
+                      <packing>
+                        <property name="type">label_item</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">5</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label9">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">Personal Events</property>
+              </widget>
+              <packing>
+                <property name="type">tab</property>
+                <property name="position">5</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </widget>
+        </child>
+        <child>
+          <widget class="GtkHButtonBox" id="hbuttonbox7">
+            <property name="visible">True</property>
+            <property name="spacing">15</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkButton" id="close_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <property name="response_id">0</property>
+                <signal name="clicked" handler="on_close_button_clicked"/>
+              </widget>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff --git a/data/glade/roster_contact_context_menu.glade b/data/glade/roster_contact_context_menu.glade
index 0d35d74a62c7e57ffdc7e1572dd0c3f48b388f28..f873e7f773e345f986ad61668492dd4d6080b13e 100644
--- a/data/glade/roster_contact_context_menu.glade
+++ b/data/glade/roster_contact_context_menu.glade
@@ -20,7 +20,7 @@
     <child>
       <widget class="GtkImageMenuItem" id="send_single_message_menuitem">
         <property name="visible">True</property>
-        <property name="label" translatable="yes">Send Single _Message</property>
+        <property name="label" translatable="yes">Send Single _Message...</property>
         <property name="use_underline">True</property>
         <child internal-child="image">
           <widget class="GtkImage" id="image1703">
@@ -34,12 +34,12 @@
     <child>
       <widget class="GtkImageMenuItem" id="send_file_menuitem">
         <property name="visible">True</property>
-        <property name="label" translatable="yes">Send _File</property>
+        <property name="label" translatable="yes">Send _File...</property>
         <property name="use_underline">True</property>
         <child internal-child="image">
           <widget class="GtkImage" id="image1706">
             <property name="visible">True</property>
-            <property name="stock">gtk-floppy</property>
+            <property name="stock">gtk-save</property>
             <property name="icon_size">1</property>
           </widget>
         </child>
@@ -103,7 +103,7 @@
             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
             <child>
               <widget class="GtkImageMenuItem" id="rename_menuitem">
-                <property name="label" translatable="yes">_Rename</property>
+                <property name="label" translatable="yes">_Rename...</property>
                 <property name="use_underline">True</property>
                 <child internal-child="image">
                   <widget class="GtkImage" id="image1705">
@@ -116,7 +116,7 @@
             </child>
             <child>
               <widget class="GtkImageMenuItem" id="edit_groups_menuitem">
-                <property name="label" translatable="yes">Edit _Groups</property>
+                <property name="label" translatable="yes">Edit _Groups...</property>
                 <property name="use_underline">True</property>
                 <child internal-child="image">
                   <widget class="GtkImage" id="menu-item-image21">
@@ -130,13 +130,13 @@
             </child>
             <child>
               <widget class="GtkImageMenuItem" id="assign_openpgp_key_menuitem">
-                <property name="label" translatable="yes">Assign Open_PGP Key</property>
+                <property name="label" translatable="yes">Assign Open_PGP Key...</property>
                 <property name="use_underline">True</property>
                 <signal name="activate" handler="on_assign_openpgp_key_menuitem_activate"/>
                 <child internal-child="image">
                   <widget class="GtkImage" id="image1707">
                     <property name="visible">True</property>
-                    <property name="stock">gtk-missing-image</property>
+                    <property name="stock">gtk-dialog-authentication</property>
                     <property name="icon_size">1</property>
                   </widget>
                 </child>
@@ -146,7 +146,7 @@
               <widget class="GtkImageMenuItem" id="set_custom_avatar_menuitem">
                 <property name="visible">True</property>
                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label" translatable="yes">Set Custom _Avatar</property>
+                <property name="label" translatable="yes">Set Custom _Avatar...</property>
                 <property name="use_underline">True</property>
                 <child internal-child="image">
                   <widget class="GtkImage" id="menu-item-image20">
@@ -160,9 +160,8 @@
             </child>
             <child>
               <widget class="GtkImageMenuItem" id="add_special_notification_menuitem">
-                <property name="visible">True</property>
                 <property name="no_show_all">True</property>
-                <property name="label" translatable="yes">Add Special _Notification</property>
+                <property name="label" translatable="yes">Add Special _Notification...</property>
                 <property name="use_underline">True</property>
                 <child internal-child="image">
                   <widget class="GtkImage" id="image1708">
@@ -269,26 +268,26 @@
               </widget>
             </child>
             <child>
-              <widget class="GtkImageMenuItem" id="remove_from_roster_menuitem">
-                <property name="label" translatable="yes">_Remove</property>
+              <widget class="GtkImageMenuItem" id="add_to_roster_menuitem">
+                <property name="label" translatable="yes">_Add to Roster...</property>
                 <property name="use_underline">True</property>
                 <child internal-child="image">
-                  <widget class="GtkImage" id="image1717">
+                  <widget class="GtkImage" id="image1716">
                     <property name="visible">True</property>
-                    <property name="stock">gtk-remove</property>
+                    <property name="stock">gtk-add</property>
                     <property name="icon_size">1</property>
                   </widget>
                 </child>
               </widget>
             </child>
             <child>
-              <widget class="GtkImageMenuItem" id="add_to_roster_menuitem">
-                <property name="label" translatable="yes">_Add to Roster</property>
+              <widget class="GtkImageMenuItem" id="remove_from_roster_menuitem">
+                <property name="label" translatable="yes">_Remove</property>
                 <property name="use_underline">True</property>
                 <child internal-child="image">
-                  <widget class="GtkImage" id="image1716">
+                  <widget class="GtkImage" id="image1717">
                     <property name="visible">True</property>
-                    <property name="stock">gtk-add</property>
+                    <property name="stock">gtk-remove</property>
                     <property name="icon_size">1</property>
                   </widget>
                 </child>
diff --git a/data/glade/roster_window.glade b/data/glade/roster_window.glade
index 1f1f10fb57b798a7d5bb7aff4753b8929485b50b..dc482bb8a2c958999ee32a042c967e309bfabc84 100644
--- a/data/glade/roster_window.glade
+++ b/data/glade/roster_window.glade
@@ -31,7 +31,7 @@
                     <child>
                       <widget class="GtkImageMenuItem" id="new_chat_menuitem">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes">_Start Chat</property>
+                        <property name="label" translatable="yes">_Start Chat...</property>
                         <property name="use_underline">True</property>
                         <child internal-child="image">
                           <widget class="GtkImage" id="image1605">
@@ -42,10 +42,23 @@
                         </child>
                       </widget>
                     </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="send_single_message_menuitem">
+                        <property name="label" translatable="yes">_Send Single Message...</property>
+                        <property name="use_underline">True</property>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="menu-item-image5">
+                            <property name="visible">True</property>
+                            <property name="stock">gtk-new</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
                     <child>
                       <widget class="GtkImageMenuItem" id="join_gc_menuitem">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes">_Group Chat</property>
+                        <property name="label" translatable="yes">Join _Group Chat...</property>
                         <property name="use_underline">True</property>
                         <child internal-child="image">
                           <widget class="GtkImage" id="image1606">
@@ -64,7 +77,7 @@
                     <child>
                       <widget class="GtkImageMenuItem" id="add_new_contact_menuitem">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes">Add _Contact</property>
+                        <property name="label" translatable="yes">Add _Contact...</property>
                         <property name="use_underline">True</property>
                         <child internal-child="image">
                           <widget class="GtkImage" id="image1607">
@@ -232,7 +245,24 @@
                         <child internal-child="image">
                           <widget class="GtkImage" id="image1613">
                             <property name="visible">True</property>
-                            <property name="stock">gtk-missing-image</property>
+                            <property name="stock">gtk-save</property>
+                            <property name="icon_size">1</property>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                    <child>
+                      <widget class="GtkImageMenuItem" id="history_menuitem">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">_History</property>
+                        <property name="use_underline">True</property>
+                        <signal name="activate" handler="on_history_menuitem_activate"/>
+                        <child internal-child="image">
+                          <widget class="GtkImage" id="menu-item-image14">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="stock">gtk-justify-fill</property>
                             <property name="icon_size">1</property>
                           </widget>
                         </child>
@@ -341,6 +371,7 @@
                 <signal name="row_expanded" handler="on_roster_treeview_row_expanded"/>
                 <signal name="key_press_event" handler="on_roster_treeview_key_press_event"/>
                 <signal name="row_activated" handler="on_roster_treeview_row_activated"/>
+                <signal name="button_release_event" handler="on_roster_treeview_button_release_event"/>
                 <signal name="scroll_event" handler="on_roster_treeview_scroll_event"/>
                 <signal name="style_set" handler="on_roster_treeview_style_set"/>
               </widget>
diff --git a/data/glade/service_discovery_window.glade b/data/glade/service_discovery_window.glade
index 197b18a9aa5b880f1dea15c48f9c7cf27cfc57e6..5c0ff24d559d80b1d8f3da1dc7672620ba4577ec 100644
--- a/data/glade/service_discovery_window.glade
+++ b/data/glade/service_discovery_window.glade
@@ -62,16 +62,22 @@ Agent JID - node</property>
               <placeholder/>
             </child>
             <child>
-              <widget class="GtkLabel" id="label224">
+              <widget class="GtkComboBoxEntry" id="address_comboboxentry">
                 <property name="visible">True</property>
-                <property name="label" translatable="yes">_Address:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">address_comboboxentry</property>
+                <property name="items" translatable="yes"></property>
+                <signal name="changed" handler="on_address_comboboxentry_changed"/>
+                <signal name="key_press_event" handler="on_address_comboboxentry_key_press_event"/>
+                <child internal-child="entry">
+                  <widget class="GtkEntry" id="comboboxentry-entry1">
+                  </widget>
+                </child>
               </widget>
               <packing>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="y_options">GTK_FILL</property>
               </packing>
             </child>
             <child>
@@ -127,22 +133,16 @@ Agent JID - node</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkComboBoxEntry" id="address_comboboxentry">
+              <widget class="GtkLabel" id="label224">
                 <property name="visible">True</property>
-                <property name="items" translatable="yes"></property>
-                <signal name="changed" handler="on_address_comboboxentry_changed"/>
-                <signal name="key_press_event" handler="on_address_comboboxentry_key_press_event"/>
-                <child internal-child="entry">
-                  <widget class="GtkEntry" id="comboboxentry-entry1">
-                  </widget>
-                </child>
+                <property name="label" translatable="yes">_Address:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">address_comboboxentry</property>
               </widget>
               <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options">GTK_FILL</property>
+                <property name="bottom_attach">3</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
               </packing>
             </child>
           </widget>
@@ -171,41 +171,6 @@ Agent JID - node</property>
             <property name="position">2</property>
           </packing>
         </child>
-        <child>
-          <widget class="GtkHBox" id="filter_hbox">
-            <property name="visible">True</property>
-            <property name="no_show_all">True</property>
-            <property name="spacing">6</property>
-            <child>
-              <widget class="GtkLabel" id="label361">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">_Filter:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">filter_entry</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkEntry" id="filter_entry">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="invisible_char">*</property>
-                <signal name="changed" handler="on_filter_entry_changed"/>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">3</property>
-          </packing>
-        </child>
         <child>
           <widget class="GtkHBox" id="hbox2994">
             <property name="visible">True</property>
@@ -260,7 +225,7 @@ Agent JID - node</property>
           <packing>
             <property name="expand">False</property>
             <property name="padding">2</property>
-            <property name="position">4</property>
+            <property name="position">3</property>
           </packing>
         </child>
       </widget>
diff --git a/data/glade/single_message_window.glade b/data/glade/single_message_window.glade
index 6c3f06641be1cb82da03ddafebba143dea106321..67feb0147c1dc52263e4d37ff9e99b4d18ecf446 100644
--- a/data/glade/single_message_window.glade
+++ b/data/glade/single_message_window.glade
@@ -8,6 +8,7 @@
     <property name="default_height">280</property>
     <signal name="key_press_event" handler="on_single_message_window_key_press_event"/>
     <signal name="delete_event" handler="on_single_message_window_delete_event"/>
+    <signal name="destroy" handler="on_single_message_window_destroy"/>
     <child>
       <widget class="GtkVBox" id="vbox97">
         <property name="visible">True</property>
diff --git a/data/glade/zeroconf_contact_context_menu.glade b/data/glade/zeroconf_contact_context_menu.glade
index 4ad215baa08ac6d2eac155550750ea512e020c76..e69c4266859d3fc888b8bedd0814252d939590c3 100644
--- a/data/glade/zeroconf_contact_context_menu.glade
+++ b/data/glade/zeroconf_contact_context_menu.glade
@@ -9,7 +9,7 @@
         <property name="label" translatable="yes">Start _Chat</property>
         <property name="use_underline">True</property>
         <child internal-child="image">
-          <widget class="GtkImage" id="image1534">
+          <widget class="GtkImage" id="image1701">
             <property name="visible">True</property>
             <property name="stock">gtk-jump-to</property>
             <property name="icon_size">1</property>
@@ -18,74 +18,103 @@
       </widget>
     </child>
     <child>
-      <widget class="GtkImageMenuItem" id="rename_menuitem">
-        <property name="label" translatable="yes">_Rename</property>
+      <widget class="GtkImageMenuItem" id="send_file_menuitem">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">Send _File</property>
         <property name="use_underline">True</property>
         <child internal-child="image">
-          <widget class="GtkImage" id="image1535">
+          <widget class="GtkImage" id="image1706">
             <property name="visible">True</property>
-            <property name="stock">gtk-refresh</property>
+            <property name="stock">gtk-save</property>
             <property name="icon_size">1</property>
           </widget>
         </child>
       </widget>
     </child>
-    <child>
-      <widget class="GtkMenuItem" id="edit_groups_menuitem">
-        <property name="label" translatable="yes">Edit _Groups</property>
-        <property name="use_underline">True</property>
-      </widget>
-    </child>
     <child>
       <widget class="GtkSeparatorMenuItem" id="above_send_file_separator">
         <property name="visible">True</property>
       </widget>
     </child>
     <child>
-      <widget class="GtkImageMenuItem" id="send_file_menuitem">
+      <widget class="GtkImageMenuItem" id="manage_contact">
         <property name="visible">True</property>
-        <property name="label" translatable="yes">Send _File</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="label" translatable="yes">_Manage Contact</property>
         <property name="use_underline">True</property>
-        <child internal-child="image">
-          <widget class="GtkImage" id="image1536">
+        <child>
+          <widget class="GtkMenu" id="menu2">
             <property name="visible">True</property>
-            <property name="stock">gtk-missing-image</property>
-            <property name="icon_size">1</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <child>
+              <widget class="GtkImageMenuItem" id="rename_menuitem">
+                <property name="label" translatable="yes">_Rename</property>
+                <property name="use_underline">True</property>
+                <child internal-child="image">
+                  <widget class="GtkImage" id="image1705">
+                    <property name="visible">True</property>
+                    <property name="stock">gtk-refresh</property>
+                    <property name="icon_size">1</property>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkImageMenuItem" id="edit_groups_menuitem">
+                <property name="label" translatable="yes">Edit _Groups</property>
+                <property name="use_underline">True</property>
+                <child internal-child="image">
+                  <widget class="GtkImage" id="menu-item-image21">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="stock">gtk-edit</property>
+                    <property name="icon_size">1</property>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkImageMenuItem" id="assign_openpgp_key_menuitem">
+                <property name="label" translatable="yes">Assign Open_PGP Key</property>
+                <property name="use_underline">True</property>
+                <signal name="activate" handler="on_assign_openpgp_key_menuitem_activate"/>
+                <child internal-child="image">
+                  <widget class="GtkImage" id="image1707">
+                    <property name="visible">True</property>
+                    <property name="stock">gtk-dialog-authentication</property>
+                    <property name="icon_size">1</property>
+                  </widget>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkImageMenuItem" id="add_special_notification_menuitem">
+                <property name="no_show_all">True</property>
+                <property name="label" translatable="yes">Add Special _Notification</property>
+                <property name="use_underline">True</property>
+                <child internal-child="image">
+                  <widget class="GtkImage" id="image1708">
+                    <property name="visible">True</property>
+                    <property name="stock">gtk-info</property>
+                    <property name="icon_size">1</property>
+                  </widget>
+                </child>
+              </widget>
+            </child>
           </widget>
         </child>
-      </widget>
-    </child>
-    <child>
-      <widget class="GtkImageMenuItem" id="assign_openpgp_key_menuitem">
-        <property name="label" translatable="yes">Assign Open_PGP Key</property>
-        <property name="use_underline">True</property>
-        <signal name="activate" handler="on_assign_openpgp_key_menuitem_activate"/>
-        <child internal-child="image">
-          <widget class="GtkImage" id="image1537">
-            <property name="visible">True</property>
-            <property name="stock">gtk-missing-image</property>
-            <property name="icon_size">1</property>
-          </widget>
-        </child>
-      </widget>
-    </child>
-    <child>
-      <widget class="GtkImageMenuItem" id="add_special_notification_menuitem">
-        <property name="visible">True</property>
-        <property name="no_show_all">True</property>
-        <property name="label" translatable="yes">Add Special _Notification</property>
-        <property name="use_underline">True</property>
         <child internal-child="image">
-          <widget class="GtkImage" id="image1538">
+          <widget class="GtkImage" id="menu-item-image19">
             <property name="visible">True</property>
-            <property name="stock">gtk-info</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="stock">gtk-properties</property>
             <property name="icon_size">1</property>
           </widget>
         </child>
       </widget>
     </child>
     <child>
-      <widget class="GtkSeparatorMenuItem" id="above_information_separator">
+      <widget class="GtkSeparatorMenuItem" id="separator6">
         <property name="visible">True</property>
       </widget>
     </child>
@@ -101,7 +130,7 @@
         <property name="label" translatable="yes">_History</property>
         <property name="use_underline">True</property>
         <child internal-child="image">
-          <widget class="GtkImage" id="image1539">
+          <widget class="GtkImage" id="image1718">
             <property name="visible">True</property>
             <property name="stock">gtk-justify-fill</property>
             <property name="icon_size">1</property>
diff --git a/data/glade/zeroconf_context_menu.glade b/data/glade/zeroconf_context_menu.glade
index f2928cf04811f9b139a02cf6e2c44737fcd54101..349383017b8ca2e157e152fc0de2b6cc212bb126 100644
--- a/data/glade/zeroconf_context_menu.glade
+++ b/data/glade/zeroconf_context_menu.glade
@@ -1,49 +1,41 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+<!--*- mode: xml -*-->
 <glade-interface>
-
-<widget class="GtkMenu" id="zeroconf_context_menu">
-
-  <child>
-    <widget class="GtkImageMenuItem" id="status_menuitem">
-      <property name="visible">True</property>
-      <property name="label" translatable="yes">_Status</property>
-      <property name="use_underline">True</property>
-
-      <child internal-child="image">
-	<widget class="GtkImage" id="image1258">
-	  <property name="visible">True</property>
-	  <property name="stock">gtk-network</property>
-	  <property name="icon_size">1</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-      </child>
-    </widget>
-  </child>
-
-  <child>
-    <widget class="GtkImageMenuItem" id="zeroconf_properties_menuitem">
-      <property name="visible">True</property>
-      <property name="label" translatable="yes">_Modify Account...</property>
-      <property name="use_underline">True</property>
-
-      <child internal-child="image">
-	<widget class="GtkImage" id="image1259">
-	  <property name="visible">True</property>
-	  <property name="stock">gtk-preferences</property>
-	  <property name="icon_size">1</property>
-	  <property name="xalign">0.5</property>
-	  <property name="yalign">0.5</property>
-	  <property name="xpad">0</property>
-	  <property name="ypad">0</property>
-	</widget>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+  <widget class="GtkMenu" id="zeroconf_context_menu">
+    <child>
+      <widget class="GtkImageMenuItem" id="status_menuitem">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">_Status</property>
+        <property name="use_underline">True</property>
+        <child internal-child="image">
+          <widget class="GtkImage" id="image1258">
+            <property name="visible">True</property>
+            <property name="stock">gtk-network</property>
+            <property name="icon_size">1</property>
+          </widget>
+        </child>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+      </widget>
+    </child>
+    <child>
+      <widget class="GtkImageMenuItem" id="zeroconf_properties_menuitem">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">_Modify Account...</property>
+        <property name="use_underline">True</property>
+        <child internal-child="image">
+          <widget class="GtkImage" id="image1259">
+            <property name="visible">True</property>
+            <property name="stock">gtk-preferences</property>
+            <property name="icon_size">1</property>
+          </widget>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff --git a/data/nibs/Gajim.nib/classes.nib b/data/nibs/Gajim.nib/classes.nib
new file mode 100644
index 0000000000000000000000000000000000000000..b9b4b09f6b0d4e35bcaea7125d83273d98cf12dd
--- /dev/null
+++ b/data/nibs/Gajim.nib/classes.nib
@@ -0,0 +1,4 @@
+{
+    IBClasses = ({CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }); 
+    IBVersion = 1; 
+}
\ No newline at end of file
diff --git a/data/nibs/Gajim.nib/info.nib b/data/nibs/Gajim.nib/info.nib
new file mode 100644
index 0000000000000000000000000000000000000000..9cb6b534dc861e679cfaace69e56e5b6d80ce2bb
--- /dev/null
+++ b/data/nibs/Gajim.nib/info.nib
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IBDocumentLocation</key>
+	<string>82 255 356 240 0 0 1280 832 </string>
+	<key>IBEditorPositions</key>
+	<dict>
+		<key>29</key>
+		<string>476 296 342 44 0 0 1280 832 </string>
+	</dict>
+	<key>IBFramework Version</key>
+	<string>446.1</string>
+	<key>IBOldestOS</key>
+	<integer>4</integer>
+	<key>IBOpenObjects</key>
+	<array>
+		<integer>289</integer>
+		<integer>29</integer>
+	</array>
+	<key>IBSystem Version</key>
+	<string>8S165</string>
+</dict>
+</plist>
diff --git a/data/nibs/Gajim.nib/keyedobjects.nib b/data/nibs/Gajim.nib/keyedobjects.nib
new file mode 100644
index 0000000000000000000000000000000000000000..f13f467bfe6fadf16da4c85320890c42da20822f
Binary files /dev/null and b/data/nibs/Gajim.nib/keyedobjects.nib differ
diff --git a/data/other/cacerts.pem b/data/other/cacerts.pem
index 26a90f1501cb5fc2c670db94cdc8ad407f9ee459..163f6c74c6874bde8447d2db25a9119c3bd7e415 100644
--- a/data/other/cacerts.pem
+++ b/data/other/cacerts.pem
@@ -476,7 +476,42 @@ zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW
 omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD
 -----END CERTIFICATE-----
 
-
+CAcert_org_-_class3_CA
+-----BEGIN CERTIFICATE-----
+MIIGCDCCA/CgAwIBAgIBATANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290
+IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB
+IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA
+Y2FjZXJ0Lm9yZzAeFw0wNTEwMTQwNzM2NTVaFw0zMzAzMjgwNzM2NTVaMFQxFDAS
+BgNVBAoTC0NBY2VydCBJbmMuMR4wHAYDVQQLExVodHRwOi8vd3d3LkNBY2VydC5v
+cmcxHDAaBgNVBAMTE0NBY2VydCBDbGFzcyAzIFJvb3QwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQCrSTURSHzSJn5TlM9Dqd0o10Iqi/OHeBlYfA+e2ol9
+4fvrcpANdKGWZKufoCSZc9riVXbHF3v1BKxGuMO+f2SNEGwk82GcwPKQ+lHm9WkB
+Y8MPVuJKQs/iRIwlKKjFeQl9RrmK8+nzNCkIReQcn8uUBByBqBSzmGXEQ+xOgo0J
+0b2qW42S0OzekMV/CsLj6+YxWl50PpczWejDAz1gM7/30W9HxM3uYoNSbi4ImqTZ
+FRiRpoWSR7CuSOtttyHshRpocjWr//AQXcD0lKdq1TuSfkyQBX6TwSyLpI5idBVx
+bgtxA+qvFTia1NIFcm+M+SvrWnIl+TlG43IbPgTDZCciECqKT1inA62+tC4T7V2q
+SNfVfdQqe1z6RgRQ5MwOQluM7dvyz/yWk+DbETZUYjQ4jwxgmzuXVjit89Jbi6Bb
+6k6WuHzX1aCGcEDTkSm3ojyt9Yy7zxqSiuQ0e8DYbF/pCsLDpyCaWt8sXVJcukfV
+m+8kKHA4IC/VfynAskEDaJLM4JzMl0tF7zoQCqtwOpiVcK01seqFK6QcgCExqa5g
+eoAmSAC4AcCTY1UikTxW56/bOiXzjzFU6iaLgVn5odFTEcV7nQP2dBHgbbEsPyyG
+kZlxmqZ3izRg0RS0LKydr4wQ05/EavhvE/xzWfdmQnQeiuP43NJvmJzLR5iVQAX7
+6QIDAQABo4G/MIG8MA8GA1UdEwEB/wQFMAMBAf8wXQYIKwYBBQUHAQEEUTBPMCMG
+CCsGAQUFBzABhhdodHRwOi8vb2NzcC5DQWNlcnQub3JnLzAoBggrBgEFBQcwAoYc
+aHR0cDovL3d3dy5DQWNlcnQub3JnL2NhLmNydDBKBgNVHSAEQzBBMD8GCCsGAQQB
+gZBKMDMwMQYIKwYBBQUHAgEWJWh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZy9pbmRleC5w
+aHA/aWQ9MTAwDQYJKoZIhvcNAQEEBQADggIBAH8IiKHaGlBJ2on7oQhy84r3HsQ6
+tHlbIDCxRd7CXdNlafHCXVRUPIVfuXtCkcKZ/RtRm6tGpaEQU55tiKxzbiwzpvD0
+nuB1wT6IRanhZkP+VlrRekF490DaSjrxC1uluxYG5sLnk7mFTZdPsR44Q4Dvmw2M
+77inYACHV30eRBzLI++bPJmdr7UpHEV5FpZNJ23xHGzDwlVks7wU4vOkHx4y/CcV
+Bc/dLq4+gmF78CEQGPZE6lM5+dzQmiDgxrvgu1pPxJnIB721vaLbLmINQjRBvP+L
+ivVRIqqIMADisNS8vmW61QNXeZvo3MhN+FDtkaVSKKKs+zZYPumUK5FQhxvWXtaM
+zPcPEAxSTtAWYeXlCmy/F8dyRlecmPVsYGN6b165Ti/Iubm7aoW8mA3t+T6XhDSU
+rgCvoeXnkm5OvfPi2RSLXNLrAWygF6UtEOucekq9ve7O/e0iQKtwOIj1CodqwqsF
+YMlIBdpTwd5Ed2qz8zw87YC8pjhKKSRf/lk7myV6VmMAZLldpGJ9VzZPrYPvH5JT
+oI53V93lYRE9IwCQTDz6o2CTBKOvNfYOao9PSmCnhQVsRqGP9Md246FZV/dxssRu
+FFxtbUFm3xuTsdQAw+7Lzzw9IYCpX2Nl/N3gX6T0K/CFcUHUZyX7GrGXrtaZghNB
+0m6lG5kngOcLqagA
+-----END CERTIFICATE-----
 
 
 Certum_Root_CA
diff --git a/data/pixmaps/gajim.icns b/data/pixmaps/gajim.icns
new file mode 100644
index 0000000000000000000000000000000000000000..37516d5e80152b50a41bbf8885ac9ee0960585eb
Binary files /dev/null and b/data/pixmaps/gajim.icns differ
diff --git a/debian/changelog b/debian/changelog
index 63c700cb2eb830b1a537163b19cdeb3f4d0ffff9..e5451229050eeab0b3878e15a05ad3c55d5c641b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,52 @@
+gajim (0.11.4-1) unstable; urgency=low
+
+  * New upstream release.
+  * Fix tab switching. Closes: #452257
+  * update to 3.7.3 Debian Policy
+  * Add Homepage, Vcs-Svn, Vcs-Browser fields to control file
+
+ -- Yann Leboulanger <asterix@lagaule.org>  Wed, 05 Dec 2007 22:23:30 +0100
+
+gajim (0.11.3-1) unstable; urgency=low
+
+  * New upstream release.
+  * Fix depand list so that Gajim will work when python2.5 will be the
+    default. Closes: #445275
+  * Fix focus bug. Closes: #447985
+  * Depend on dnsutils to use SRV records. Closes: #434690
+
+ -- Yann Leboulanger <asterix@lagaule.org>  Fri, 16 Nov 2007 19:01:54 +0100
+
+gajim (0.11.2-1) unstable; urgency=low
+
+  * New upstream release.
+  * Don't optionaly depend on python2.5. Closes: #418252
+  * Better handle gnome-keyring. Closes: #433315, #424293
+  * Handle dbus restart. Closes: #434993
+  * Don't allow bookmark creation on server that don't support that.
+    Closes: #438620
+  * Fix list_contact dbus signature. Closes: #440225
+  * Remove changelog.gz from /usr/share/doc/gajim. Closes: #412632
+
+ -- Yann Le Boulanger <asterix@lagaule.org>  Sun, 22 Sep 2007 22:22:34 +0100
+
+gajim (0.11.1-1) unstable; urgency=low
+
+  * New upstream release.
+  * Don't depend on python2.4 specifically
+  * Don't recommand libdbus, python-dbus does
+  * Tooltips in chat window are now correctly destroyed. Closes: #404693
+
+ -- Yann Le Boulanger <asterix@lagaule.org>  Sun, 18 Feb 2007 22:15:57 +0100
+
+gajim (0.11-2) unstable; urgency=low
+
+  * Add missing build depends to get gajim-remote. Closes: #405969
+  * Update recommands to support dbus. Closes: #402355
+  * Make python-gnupginterface a recommanded package. Closes: #405808
+
+ -- Yann Le Boulanger <asterix@lagaule.org>  Tue, 09 Jan 2007 18:32:26 +0100
+
 gajim (0.11-1) unstable; urgency=low
 
   * New upstream release. Closes: #403806
diff --git a/debian/control b/debian/control
index 16602afc5b3733e2e5ba8f8b9c1976219a9132be..760ac75428c731d71263d9dd0b212aa305a340ca 100644
--- a/debian/control
+++ b/debian/control
@@ -2,17 +2,20 @@ Source: gajim
 Section: net
 Priority: optional
 Maintainer: Yann Le Boulanger <asterix@lagaule.org>
-Build-Depends: debhelper (>= 5.0.37.2), cdbs (>= 0.4.43), python-support (>= 0.3), python-dev, libgtk2.0-dev, python-gtk2-dev, libgtkspell-dev, gettext, libxss-dev, intltool, imagemagick, python-central (>= 0.5), libdbus-1-dev
+Build-Depends: debhelper (>= 5.0.37.2), cdbs (>= 0.4.43), python-support (>= 0.7.1), python-dev, libgtk2.0-dev, python-gtk2-dev, libgtkspell-dev, gettext, libxss-dev, intltool, imagemagick, python-central (>= 0.5), libdbus-1-dev
 Build-Conflicts: python2.3
 XS-Python-Version: >= 2.4
-Standards-Version: 3.7.2
+Standards-Version: 3.7.3
+Homepage: http://www.gajim.org
+Vcs-Svn: svn://svn.gajim.org/gajim/
+Vcs-Browser: http://trac.gajim.org/browser
 
 Package: gajim
 Architecture: any
 XB-Python-Version: ${python:Versions}
-Depends: ${python:Depends}, python-glade2 (>= 2.6.0), python-gtk2 (>= 2.6.0), python-pysqlite2 | python2.5
-Recommends: dnsutils, python2.4-dbus, notification-daemon, python-gnupginterface, python-pyopenssl
-Suggests: python-gnome2, nautilus-sendto, avahi-daemon, python-avahi, network-manager
+Depends: python (>= 2.4), python-support (>= 0.7.1), python-glade2 (>= 2.8.0), python-gtk2 (>= 2.8.0), python-pysqlite2 | python (>= 2.5), dnsutils
+Recommends: dbus, python-dbus, notification-daemon, python-gnupginterface, python-pyopenssl
+Suggests: python-gnome2, nautilus-sendto, avahi-daemon, python-avahi, network-manager, libgtkspell0, aspell-en, python-gnome2-desktop (>= 2.16.0)
 Description: Jabber client written in PyGTK
  Gajim is a Jabber client. It has a tabbed user interface with normal chats,
  group chats, and has many features such as, TLS, GPG, SSL, multiple accounts,
diff --git a/debian/gajim.menu b/debian/gajim.menu
index f1efc22e2a31a3cddd11074f7b432bb33d9e810e..cd7a318f36193b8571f97dc09ec2fdc2fcba1936 100644
--- a/debian/gajim.menu
+++ b/debian/gajim.menu
@@ -1,6 +1,6 @@
 ?package(gajim): \
    needs="X11" \
-   section="Apps/Net" \
+   section="Applications/Network/Communication" \
    command="/usr/bin/gajim" \
    icon="/usr/share/pixmaps/gajim.xpm" \
    title="Gajim" \
diff --git a/gajim.iss b/gajim.iss
index 5bab0137c5b25f29d8a6db82653311a4903dcf4c..00ec90cc932995aecc3b26427cdcb4b67cd76dc1 100644
--- a/gajim.iss
+++ b/gajim.iss
@@ -1,6 +1,7 @@
 [Setup]
 AppName=Gajim
-AppVerName=Gajim version 0.11-1
+AppVerName=Gajim version 0.11.4
+OutputBaseFilename=gajim-0.11.4-1
 DefaultDirName={pf}\Gajim
 DefaultGroupName=Gajim
 UninstallDisplayIcon={app}\src\Gajim.exe
@@ -27,6 +28,8 @@ Source: "dist\history_manager.exe"; DestDir: "{app}\src"; components: main
 Source: "data\*"; DestDir: "{app}\data"; Flags: recursesubdirs
 Source: "po\*.mo"; DestDir: "{app}\po"; Flags: recursesubdirs
 ;Source: "gtk\*"; DestDir: "{app}\src\gtk"; Flags: recursesubdirs
+;Source: "gtk\bin\xmlparse.dll"; DestDir: "{app}\src"
+;Source: "gtk\bin\xmltok.dll"; DestDir: "{app}\src"
 
 [Icons]
 Name: "{group}\Gajim"; Filename: "{app}\src\Gajim.exe"; WorkingDir: "{app}\src"
diff --git a/launch.sh b/launch.sh
index 08b9110a0f64f57e16f585697736f0c3949d21e2..7a3f8b5f6218cde121393a1ecd0b9dccbf7fdc07 100755
--- a/launch.sh
+++ b/launch.sh
@@ -1,3 +1,14 @@
 #!/bin/bash
-cd `dirname $0`/src
+BASE=`pwd`/`dirname $0`
+OS=`uname -s`
+
+if [ "x${OS}" == "xDarwin" ]; then
+    export RESOURCEPATH="${BASE}/dist/Gajim.app/Contents/Resources"
+    GTK_DIR="/Library/Frameworks/GTK+.framework/Versions/Current"
+    export PATH="${GTK_DIR}/bin:$PATH"
+    export PYTHONPATH="${GTK_DIR}/lib/python2.5/site-packages:${GTK_DIR}/lib/python2.5/site-packages/gtk-2.0:${PYTHONPATH}"
+    unset GTK_DIR
+fi
+
+cd ${BASE}/src
 exec -a gajim python -OOt gajim.py $@
diff --git a/po/LINGUAS b/po/LINGUAS
index 0bf5641a283d6d2d64e39e73b7809b1d59fea12a..476281bef81bb3b0a57ff3440a4c1eb71acb6ec7 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,2 +1,30 @@
 # available languages
-fr pt el pl es ru bg de nb cs nl pt_BR sv it eu sk no zh_CN br eo hr en_GB be sr gl_ES
+fr
+pt
+el
+pl
+es
+ru
+bg
+de
+nb
+cs
+nl
+pt_BR
+sv
+it
+eu
+sk
+no
+zh_CN
+br
+eo
+hr
+en_GB
+be
+be@latin
+sr
+sr@Latn
+gl
+lt
+da
diff --git a/po/cs.po b/po/cs.po
index dcbedded6e3b5bc5b01048a3dfa44d4d1338c538..f56c61c845b37e59a35160fe35e78d3fad4fef73 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -14,11 +14,15 @@
 # Petr Mensik <pihhan@seznam.cz>, 2005.
 # Pihhan <pihhan@seznam.cz>, 2005, 2006.
 #
+#: ../src/gajim-remote.py:212 ../src/gajim-remote.py:219
+#: ../src/gajim-remote.py:245 ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:252 ../src/gajim-remote.py:253
+#: ../src/gajim-remote.py:254 ../src/gajim-remote.py:255
 msgid ""
 msgstr ""
 "Project-Id-Version: gajim\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-06 12:50+0100\n"
+"POT-Creation-Date: 2007-08-25 00:27+0200\n"
 "PO-Revision-Date: 2007-02-06 21:51+0100\n"
 "Last-Translator: Petr Menšík <pihhan@seznam.cz>\n"
 "Language-Team:  <cs@li.org>\n"
@@ -43,46 +47,53 @@ msgid "Jabber IM Client"
 msgstr "Jabber IM klient"
 
 #: ../data/glade/account_context_menu.glade.h:1
-msgid "Send Single _Message..."
-msgstr "Odeslat jednoduchou _zprávu..."
+#: ../data/glade/chat_context_menu.glade.h:1
+#: ../data/glade/roster_window.glade.h:8
+msgid "Join _Group Chat"
+msgstr "Vstoupit do _Diskuze"
 
 #: ../data/glade/account_context_menu.glade.h:2
-msgid "_Add Contact..."
-msgstr "Přid_at kontakt..."
+#, fuzzy
+msgid "_Add Contact"
+msgstr "Přidat _kontakt"
 
 # FIXME: chtelo by to cesky vyraz pro service discovery
 #: ../data/glade/account_context_menu.glade.h:3
-msgid "_Discover Services..."
-msgstr "_Prohlížet služby..."
+#: ../data/glade/roster_window.glade.h:15
+msgid "_Discover Services"
+msgstr "_Prohlížet služby"
 
-#: ../data/glade/account_context_menu.glade.h:4
-#: ../src/disco.py:1145
-msgid "_Execute Command..."
+#: ../data/glade/account_context_menu.glade.h:4 ../src/disco.py:1143
+#, fuzzy
+msgid "_Execute Command"
 msgstr "Spustit _příkaz..."
 
 #: ../data/glade/account_context_menu.glade.h:5
-#: ../data/glade/roster_window.glade.h:16
-#: ../data/glade/systray_context_menu.glade.h:6
-msgid "_Group Chat"
-msgstr "_Diskuze"
-
-#: ../data/glade/account_context_menu.glade.h:6
 #: ../data/glade/zeroconf_context_menu.glade.h:1
 msgid "_Modify Account..."
 msgstr "Upravit úč_et..."
 
-#: ../data/glade/account_context_menu.glade.h:7
+#: ../data/glade/account_context_menu.glade.h:6
 msgid "_Open Gmail Inbox"
 msgstr "_Otevři schránku Gmailu"
 
+#: ../data/glade/account_context_menu.glade.h:7
+#: ../data/glade/chat_context_menu.glade.h:7
+#: ../data/glade/roster_window.glade.h:22
+#: ../data/glade/subscription_request_popup_menu.glade.h:1
+#: ../data/glade/systray_context_menu.glade.h:7
+msgid "_Start Chat"
+msgstr "_Začít rozhovor"
+
 #: ../data/glade/account_context_menu.glade.h:8
 #: ../data/glade/zeroconf_context_menu.glade.h:2
 msgid "_Status"
 msgstr "_Stav"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:1
+#, fuzzy
 msgid ""
-"<b>Account is being created</b>\n"
+"<b>Connecting to server</b>\n"
 "\n"
 "Please wait..."
 msgstr ""
@@ -99,115 +110,131 @@ msgid "<b>Please fill in the data for your new account</b>"
 msgstr "<b>Prosím vyplňte údaje pro Váš nový účet</b>"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:6
-msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
-msgstr "Klikněte pro seznam vlastností (jako MSN, ICQ transporty) jabber serverů"
+msgid "<b>Please select a server</b>"
+msgstr ""
 
 #: ../data/glade/account_creation_wizard_window.glade.h:7
+msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
+msgstr ""
+"Klikněte pro seznam vlastností (jako MSN, ICQ transporty) jabber serverů"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:8
 msgid "Connect when I press Finish"
 msgstr "Připojit když stisknu Dokončit"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:8
+#: ../data/glade/account_creation_wizard_window.glade.h:9
 msgid "Gajim: Account Creation Wizard"
 msgstr "Gajim: Průvodce vytváření účtu"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:9
+#: ../data/glade/account_creation_wizard_window.glade.h:10
 msgid "I already have an account I want to use"
 msgstr "Už mám účet který bych rád(a) použil(a)"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:10
+#: ../data/glade/account_creation_wizard_window.glade.h:11
 msgid "I want to _register for a new account"
 msgstr "Chtěl(a) bych za_registrovat nový účet"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:11
-#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/account_creation_wizard_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/accounts_window.glade.h:22
 msgid "If checked, Gajim will remember the password for this account"
 msgstr "Pokud bude zaškrtnuto, Gajim si bude pamatovat heslo pro tento účet"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:12
-#: ../data/glade/manage_proxies_window.glade.h:7
-msgid "Pass_word:"
-msgstr "He_slo:"
-
 #: ../data/glade/account_creation_wizard_window.glade.h:13
-#: ../data/glade/account_modification_window.glade.h:38
+#: ../data/glade/account_modification_window.glade.h:26
+#: ../data/glade/accounts_window.glade.h:32
+msgid "Manage..."
+msgstr "Spravovat..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:14
+#, fuzzy
+msgid "Prox_y:"
+msgstr "Proxy:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/accounts_window.glade.h:48
 msgid "Save pass_word"
 msgstr "Uložit _heslo"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:14
+#: ../data/glade/account_creation_wizard_window.glade.h:16
 msgid "Servers Features"
 msgstr "Vlastnosti serveru"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_creation_wizard_window.glade.h:17
 msgid "Set my profile when I connect"
 msgstr "Nastavit profil, když se připojuji"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:16
+#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/accounts_window.glade.h:53
+msgid "Use custom hostname/port"
+msgstr "Použít vlastní jméno počítače/port"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:19
 msgid ""
 "You need to have an account in order to connect\n"
 "to the Jabber network."
 msgstr "Potřebujete mít účet pro připojení k síti Jabber."
 
-#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_creation_wizard_window.glade.h:21
 msgid "Your JID:"
 msgstr "Vaše JID:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:19
-#: ../data/glade/roster_window.glade.h:11
+#: ../data/glade/account_creation_wizard_window.glade.h:22
+#: ../data/glade/roster_window.glade.h:13
 msgid "_Advanced"
 msgstr "_Rozšířené"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:20
+#: ../data/glade/account_creation_wizard_window.glade.h:23
 msgid "_Finish"
 msgstr "_Dokončit"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:21
-#: ../data/glade/manage_proxies_window.glade.h:10
-msgid "_Host:"
-msgstr "_Počítač:"
+#: ../data/glade/account_creation_wizard_window.glade.h:24
+#, fuzzy
+msgid "_Hostname:"
+msgstr "Počítač: "
 
-#: ../data/glade/account_creation_wizard_window.glade.h:22
-#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_modification_window.glade.h:50
+#: ../data/glade/accounts_window.glade.h:58
 msgid "_Password:"
 msgstr "_Heslo:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:23
+#: ../data/glade/account_creation_wizard_window.glade.h:26
 #: ../data/glade/manage_proxies_window.glade.h:11
 msgid "_Port:"
 msgstr "_Port:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:24
-msgid "_Retype Password:"
-msgstr "Z_opakuj heslo:"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_creation_wizard_window.glade.h:27
 msgid "_Server:"
 msgstr "_Server:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:26
-msgid "_Use proxy"
-msgstr "_Používat proxy"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:27
+#: ../data/glade/account_creation_wizard_window.glade.h:28
 #: ../data/glade/manage_proxies_window.glade.h:12
 msgid "_Username:"
 msgstr "_Uživatel:"
 
 #: ../data/glade/account_modification_window.glade.h:1
+#: ../data/glade/accounts_window.glade.h:1
 #: ../data/glade/preferences_window.glade.h:8
 msgid "<b>Miscellaneous</b>"
 msgstr "<b>Příslušenství</b>"
 
 #: ../data/glade/account_modification_window.glade.h:2
+#: ../data/glade/accounts_window.glade.h:2
 #: ../data/glade/zeroconf_properties_window.glade.h:1
 msgid "<b>OpenPGP</b>"
 msgstr "<b>OpenPGP</b>"
 
 #: ../data/glade/account_modification_window.glade.h:3
+#: ../data/glade/accounts_window.glade.h:3
 #: ../data/glade/zeroconf_properties_window.glade.h:2
 msgid "<b>Personal Information</b>"
 msgstr "<b>Osobní údaje</b>"
 
 #: ../data/glade/account_modification_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:4
 msgid "Account"
 msgstr "Účet"
 
@@ -216,227 +243,344 @@ msgid "Account Modification"
 msgstr "Úprava účtu"
 
 #: ../data/glade/account_modification_window.glade.h:6
+#: ../data/glade/accounts_window.glade.h:5
+#, fuzzy
+msgid "Administration operations"
+msgstr "Seznam správců"
+
+#: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/accounts_window.glade.h:6
 msgid "Auto-reconnect when connection is lost"
 msgstr "Automaticky se znovu připojit při ztrátě spojení"
 
-#: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/accounts_window.glade.h:7
 #: ../data/glade/zeroconf_properties_window.glade.h:3
 msgid "C_onnect on Gajim startup"
 msgstr "_Připojit po startu Gajimu"
 
-#: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/accounts_window.glade.h:8
 msgid "Chan_ge Password"
 msgstr "_Změnit heslo"
 
-#: ../data/glade/account_modification_window.glade.h:9
-msgid "Check this so Gajim will connect in port 5223 where legacy servers are expected to have SSL capabilities. Note that Gajim uses TLS encryption by default if broadcasted by the server, and with this option enabled TLS will be disabled"
-msgstr "Zaškrtněte pokud se má Gajim připojit na port 5223, kde obvykle nabízejí starší servery SSL. Pozor- Gajim použije TLS šifrování standardně, pokud server ohlásí jeho podporu. Touto volbou bude TLS vypnuto"
-
 #: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/accounts_window.glade.h:9
+msgid ""
+"Check this so Gajim will connect in port 5223 where legacy servers are "
+"expected to have SSL capabilities. Note that Gajim uses TLS encryption by "
+"default if broadcasted by the server, and with this option enabled TLS will "
+"be disabled"
+msgstr ""
+"Zaškrtněte pokud se má Gajim připojit na port 5223, kde obvykle nabízejí "
+"starší servery SSL. Pozor- Gajim použije TLS šifrování standardně, pokud "
+"server ohlásí jeho podporu. Touto volbou bude TLS vypnuto"
+
+#: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/accounts_window.glade.h:10
 #: ../data/glade/zeroconf_properties_window.glade.h:4
 msgid "Choose _Key..."
 msgstr "Vyberte _klíč..."
 
-#: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/accounts_window.glade.h:11
 msgid "Click to change account's password"
 msgstr "Klikněte pro změnu hesla k účtu"
 
-#: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/accounts_window.glade.h:12
+msgid "Click to request authorization to all contacts of another account"
+msgstr ""
+
+#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/accounts_window.glade.h:13
 msgid "Connection"
 msgstr "Spojení"
 
-#: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/account_modification_window.glade.h:15
+#: ../data/glade/accounts_window.glade.h:15
 msgid "Edit Personal Information..."
 msgstr "Upravit osobní informace..."
 
-#: ../data/glade/account_modification_window.glade.h:14
-#: ../data/glade/roster_window.glade.h:5
-#: ../src/notify.py:458
-#: ../src/notify.py:480
-#: ../src/notify.py:492
-#: ../src/common/helpers.py:914
+#. No configured account
+#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/accounts_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:6 ../src/notify.py:470
+#: ../src/notify.py:492 ../src/notify.py:504 ../src/common/helpers.py:964
+#: ../src/common/helpers.py:976
 msgid "Gajim"
 msgstr "Gajim"
 
-#: ../data/glade/account_modification_window.glade.h:15
+#. General group cannot be changed
+#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/accounts_window.glade.h:19
 #: ../data/glade/preferences_window.glade.h:51
 #: ../data/glade/zeroconf_properties_window.glade.h:7
-#: ../src/roster_window.py:346
-#: ../src/roster_window.py:1224
-#: ../src/roster_window.py:1435
-#: ../src/roster_window.py:2111
-#: ../src/roster_window.py:2153
-#: ../src/common/contacts.py:284
+#: ../src/roster_window.py:358 ../src/roster_window.py:623
+#: ../src/roster_window.py:1354 ../src/roster_window.py:1722
+#: ../src/roster_window.py:2112 ../src/roster_window.py:2628
+#: ../src/roster_window.py:2746 ../src/common/contacts.py:309
 msgid "General"
 msgstr "Obecné"
 
-#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/accounts_window.glade.h:20
 msgid "Hostname: "
 msgstr "Počítač: "
 
-#: ../data/glade/account_modification_window.glade.h:17
-msgid "If checked, Gajim will also broadcast some more IPs except from just your IP, so file transfer has higher chances of working."
-msgstr "Pokud je zaškrtnuto, Gajim ohlásí navíc několik dalších IP kromě Vaší IP, takže přenos souboru má větší šanci správného fungování."
-
 #: ../data/glade/account_modification_window.glade.h:19
-msgid "If checked, Gajim will send keep-alive packets to prevent connection timeout which results in disconnection"
-msgstr "Pokud zaškrtnuto, Gajim bude posílat keep-alive pakety, aby předešel ztrátě spojení způsobeném vypršením spojení"
-
-#: ../data/glade/account_modification_window.glade.h:20
-#: ../data/glade/zeroconf_properties_window.glade.h:8
-msgid "If checked, Gajim will store the password in ~/.gajim/config with 'read' permission only for you"
-msgstr "Pokud zaškrtnuto, Gajim uloží heslo v ~/.gajim/config s právem čtení pouze pro Vás"
+#: ../data/glade/accounts_window.glade.h:21
+msgid ""
+"If checked, Gajim will also broadcast some more IPs except from just your "
+"IP, so file transfer has higher chances of working."
+msgstr ""
+"Pokud je zaškrtnuto, Gajim ohlásí navíc několik dalších IP kromě Vaší IP, "
+"takže přenos souboru má větší šanci správného fungování."
 
 #: ../data/glade/account_modification_window.glade.h:21
-#: ../data/glade/zeroconf_properties_window.glade.h:9
-msgid "If checked, Gajim, when launched, will automatically connect to jabber using this account"
-msgstr "Pokud zaškrtnuto, Gajim po spuštění se automaticky připojí pomocí tohoto účtu"
+#: ../data/glade/accounts_window.glade.h:23
+msgid ""
+"If checked, Gajim will send keep-alive packets to prevent connection timeout "
+"which results in disconnection"
+msgstr ""
+"Pokud zaškrtnuto, Gajim bude posílat keep-alive pakety, aby předešel ztrátě "
+"spojení způsobeném vypršením spojení"
 
 #: ../data/glade/account_modification_window.glade.h:22
-#: ../data/glade/zeroconf_properties_window.glade.h:10
-msgid "If checked, any change to the global status (handled by the combobox at the bottom of the roster window) will change the status of this account accordingly"
-msgstr "Pokud zaškrtnuto, jakákoliv změna globálního stavu (pomocí comboboxu na spodní straně Seznamu) změní stav tohoto účtu také"
+#: ../data/glade/accounts_window.glade.h:24
+#: ../data/glade/zeroconf_properties_window.glade.h:8
+msgid ""
+"If checked, Gajim will store the password in ~/.gajim/config with 'read' "
+"permission only for you"
+msgstr ""
+"Pokud zaškrtnuto, Gajim uloží heslo v ~/.gajim/config s právem čtení pouze "
+"pro Vás"
 
 #: ../data/glade/account_modification_window.glade.h:23
-msgid "Information about you, as stored in the server"
-msgstr "Informace o Vás, jak jsou uloženy na serveru"
+#: ../data/glade/accounts_window.glade.h:25
+#: ../data/glade/zeroconf_properties_window.glade.h:9
+msgid ""
+"If checked, Gajim, when launched, will automatically connect to jabber using "
+"this account"
+msgstr ""
+"Pokud zaškrtnuto, Gajim po spuštění se automaticky připojí pomocí tohoto účtu"
 
 #: ../data/glade/account_modification_window.glade.h:24
-msgid "Manage..."
-msgstr "Spravovat..."
+#: ../data/glade/accounts_window.glade.h:26
+#: ../data/glade/zeroconf_properties_window.glade.h:10
+msgid ""
+"If checked, any change to the global status (handled by the combobox at the "
+"bottom of the roster window) will change the status of this account "
+"accordingly"
+msgstr ""
+"Pokud zaškrtnuto, jakákoliv změna globálního stavu (pomocí comboboxu na "
+"spodní straně Seznamu) změní stav tohoto účtu také"
 
 #: ../data/glade/account_modification_window.glade.h:25
-#: ../data/glade/zeroconf_properties_window.glade.h:16
-#: ../src/config.py:1608
-#: ../src/config.py:3405
+#: ../data/glade/accounts_window.glade.h:29
+msgid "Information about you, as stored in the server"
+msgstr "Informace o Vás, jak jsou uloženy na serveru"
+
+#: ../data/glade/account_modification_window.glade.h:27
+#: ../data/glade/accounts_window.glade.h:34
+#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1589
+#: ../src/config.py:2075
 msgid "No key selected"
 msgstr "Není zvolen žádný klíč"
 
 #. None means no proxy profile selected
-#: ../data/glade/account_modification_window.glade.h:27
-#: ../src/config.py:1188
-#: ../src/config.py:1193
-#: ../src/config.py:1377
-#: ../src/config.py:1598
-#: ../src/config.py:1607
-#: ../src/config.py:1667
-#: ../src/config.py:1741
-#: ../src/config.py:3395
-#: ../src/config.py:3404
-#: ../src/dialogs.py:281
-#: ../src/dialogs.py:283
+#. GPG Key
+#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/accounts_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1175
+#: ../src/config.py:1246 ../src/config.py:1495 ../src/config.py:1500
+#: ../src/config.py:1971 ../src/config.py:2058 ../src/config.py:2074
+#: ../src/config.py:3167 ../src/config.py:3213 ../src/dialogs.py:285
+#: ../src/dialogs.py:287 ../src/roster_window.py:1826
+#: ../src/roster_window.py:1833 ../src/roster_window.py:1840
 msgid "None"
 msgstr "Žádný"
 
-#: ../data/glade/account_modification_window.glade.h:28
+#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/accounts_window.glade.h:37
 #: ../data/glade/profile_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:17
 msgid "Personal Information"
 msgstr "Osobní údaje"
 
-#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/accounts_window.glade.h:38
 msgid "Port: "
 msgstr "Port: "
 
-#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/accounts_window.glade.h:39
 msgid "Priori_ty:"
 msgstr "Priori_ta:"
 
-#: ../data/glade/account_modification_window.glade.h:31
-msgid "Priority is used in Jabber to determine who gets the events from the jabber server when two or more clients are connected using the same account; The client with the highest priority gets the events"
-msgstr "Priorita je v Jabberu použita ke zjištění, kdo obdrží zprávu od jabber serveru, pokud je připojeno více klientů přes stejný účet. Zprávu obdrží klient s vyšší prioritou"
+#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/accounts_window.glade.h:40
+msgid ""
+"Priority is used in Jabber to determine who gets the events from the jabber "
+"server when two or more clients are connected using the same account; The "
+"client with the highest priority gets the events"
+msgstr ""
+"Priorita je v Jabberu použita ke zjištění, kdo obdrží zprávu od jabber "
+"serveru, pokud je připojeno více klientů přes stejný účet. Zprávu obdrží "
+"klient s vyšší prioritou"
 
-#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/accounts_window.glade.h:41
 msgid "Priority will change automatically according to your status."
 msgstr "Priorita se automaticky změní podle vašeho stavu."
 
-#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/accounts_window.glade.h:42
 msgid "Proxy:"
 msgstr "Proxy:"
 
-#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/accounts_window.glade.h:44
 msgid "Resour_ce:"
 msgstr "Zd_roj: "
 
-#: ../data/glade/account_modification_window.glade.h:35
-msgid "Resource is sent to the Jabber server in order to separate the same JID in two or more parts depending on the number of the clients connected in the same server with the same account. So you might be connected in the same account with resource 'Home' and 'Work' at the same time. The resource which has the highest priority will get the events. (see below)"
-msgstr "Zdroj je odeslán Jabber serveru pro oddělení stejné JID na dvě nebo více částí závisejících na počtu připojených klientů na stejný server se stejným účtem. Takže můžete být připojeni ke stejnému účtu se zdroji 'Domov' a 'Práce' zároveň. Zdroj, který má nejvyšší prioritu obdrží zprávy. (více následuje)"
+#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/accounts_window.glade.h:45
+msgid ""
+"Resource is sent to the Jabber server in order to separate the same JID in "
+"two or more parts depending on the number of the clients connected in the "
+"same server with the same account. So you might be connected in the same "
+"account with resource 'Home' and 'Work' at the same time. The resource which "
+"has the highest priority will get the events. (see below)"
+msgstr ""
+"Zdroj je odeslán Jabber serveru pro oddělení stejné JID na dvě nebo více "
+"částí závisejících na počtu připojených klientů na stejný server se stejným "
+"účtem. Takže můžete být připojeni ke stejnému účtu se zdroji 'Domov' a "
+"'Práce' zároveň. Zdroj, který má nejvyšší prioritu obdrží zprávy. (více "
+"následuje)"
 
-#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/account_modification_window.glade.h:38
+#: ../data/glade/accounts_window.glade.h:46
 #: ../data/glade/zeroconf_properties_window.glade.h:18
 msgid "Save _passphrase (insecure)"
 msgstr "Uložit _heslo (nebezpečné)"
 
-#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/accounts_window.glade.h:47
 #: ../data/glade/zeroconf_properties_window.glade.h:19
 msgid "Save conversation _logs for all contacts"
 msgstr "Uložit _historii pro všechny kontakty"
 
-#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/accounts_window.glade.h:49
 msgid "Send keep-alive packets"
 msgstr "Odesílat keep-alive pakety"
 
-#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/accounts_window.glade.h:50
 #: ../data/glade/zeroconf_properties_window.glade.h:20
 msgid "Synch_ronize account status with global status"
 msgstr "Synch_ronizovat stav účtu s globálním stavem"
 
-#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/accounts_window.glade.h:51
+#, fuzzy
+msgid "Synchronise contacts"
+msgstr "Zobrazit _odpojené kontakty"
+
+#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/accounts_window.glade.h:52
 msgid "Use _SSL (legacy)"
 msgstr "Použít _SSL (staré)"
 
-#: ../data/glade/account_modification_window.glade.h:42
-msgid "Use custom hostname/port"
-msgstr "Použít vlastní jméno počítače/port"
-
-#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/accounts_window.glade.h:55
 msgid "Use file transfer proxies"
 msgstr "Použij proxy při přenosu souborů"
 
-#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/accounts_window.glade.h:56
 msgid "_Adjust to status"
 msgstr "N_astavit podle stavu"
 
-#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/accounts_window.glade.h:57
 msgid "_Jabber ID:"
 msgstr "_Jabber ID:"
 
-#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/account_modification_window.glade.h:49
 msgid "_Name:"
 msgstr "_Jméno: "
 
-#: ../data/glade/accounts_window.glade.h:1
-msgid "Accounts"
-msgstr "Účty"
+#: ../data/glade/accounts_window.glade.h:14
+#: ../data/glade/profile_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/zeroconf_information_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:5
+msgid "E-Mail:"
+msgstr "E-Mail:"
 
-#: ../data/glade/accounts_window.glade.h:2
+#. XML Console enable checkbutton
+#: ../data/glade/accounts_window.glade.h:16
+#: ../data/glade/xml_console_window.glade.h:4
+msgid "Enable"
+msgstr "Povolit"
+
+#: ../data/glade/accounts_window.glade.h:17
+#: ../data/glade/zeroconf_information_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:6
+msgid "First Name:"
+msgstr "Křestní:"
+
+#: ../data/glade/accounts_window.glade.h:27
+#: ../data/glade/zeroconf_properties_window.glade.h:11
 msgid ""
-"If checked, all local contacts that use a Bonjour compatible chat client (like iChat, Trillian or Gaim) will be shown in roster. You don't need to be connected to a jabber server for it to work.\n"
-"This is only available if python-avahi is installed and avahi-daemon is running."
+"If the default port that is used for incoming messages is unfitting for your "
+"setup you can select another one here.\n"
+"You might consider to change possible firewall settings."
 msgstr ""
-"Pokud je zaškrtnuto, všechny místní kontakty používající Bonjour-kompatibilního klienta (iChat, Trillian nebo Gaim) se zobrazí v rosteru. Nemusíš být připojený(á) k jabber serveru, aby to fungovalo.\n"
-"Je to dostupné pouze v případě, že je nainstalováno python-avahi a avahi-daemon běží."
+"Pokud výchozí port použitý k přijímání zpráv nevyhovuje tvému nastavení, "
+"můžeš si zvolit jiný.\n"
+"Můžeš také zvážit změnu nastavení firewallu."
 
-#: ../data/glade/accounts_window.glade.h:4
-msgid "If you have 2 or more accounts and this is checked, Gajim will list all contacts as if you had one account"
-msgstr "Máte-li 2 nebo více účtů a je zaškrtnuto, Gajim zobrazí všechny kontakty jako by byly z jednoho účtu"
+#: ../data/glade/accounts_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/zeroconf_information_window.glade.h:4
+#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:452
+msgid "Jabber ID:"
+msgstr "Jabber ID:"
 
-#: ../data/glade/accounts_window.glade.h:5
+#: ../data/glade/accounts_window.glade.h:31
+#: ../data/glade/zeroconf_information_window.glade.h:5
+#: ../data/glade/zeroconf_properties_window.glade.h:14
+msgid "Last Name:"
+msgstr "Příjmení:"
+
+#: ../data/glade/accounts_window.glade.h:33
 msgid "Mer_ge accounts"
 msgstr "_Spojit účty"
 
-#: ../data/glade/accounts_window.glade.h:6
-msgid "_Enable link-local messaging"
-msgstr "_Povolit lokální zprávy"
+#. Rename
+#: ../data/glade/accounts_window.glade.h:43 ../src/roster_window.py:2698
+msgid "Re_name"
+msgstr "Přejme_novat"
 
-#: ../data/glade/accounts_window.glade.h:7
-msgid "_Modify"
-msgstr "_Upravit"
+#: ../data/glade/accounts_window.glade.h:54
+#: ../data/glade/zeroconf_properties_window.glade.h:21
+msgid "Use custom port:"
+msgstr "Použít vlastní port:"
 
-#: ../data/glade/accounts_window.glade.h:8
-#: ../data/glade/remove_account_window.glade.h:4
-msgid "_Remove"
-msgstr "Odst_ranit"
+#: ../data/glade/accounts_window.glade.h:59
+msgid "gtk-add"
+msgstr ""
+
+#: ../data/glade/accounts_window.glade.h:60
+msgid "gtk-close"
+msgstr ""
+
+#: ../data/glade/accounts_window.glade.h:61
+msgid "gtk-remove"
+msgstr ""
 
 #: ../data/glade/add_new_contact_window.glade.h:1
 msgid "A_ccount:"
@@ -535,7 +679,9 @@ msgstr "<b>Popis</b>"
 
 #: ../data/glade/advanced_configuration_window.glade.h:2
 msgid "<b>NOTE:</b> You should restart Gajim for some settings to take effect"
-msgstr "<b>POZNÁMKA:</b> Měl(a) by jste restartovat gajim, aby se projevila všechna nastavení"
+msgstr ""
+"<b>POZNÁMKA:</b> Měl(a) by jste restartovat gajim, aby se projevila všechna "
+"nastavení"
 
 #: ../data/glade/advanced_configuration_window.glade.h:3
 msgid "Advanced Configuration Editor"
@@ -554,45 +700,41 @@ msgid "Deletes Message of the Day"
 msgstr "Smaže zprávu dne"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:3
+msgid "Edit _Privacy Lists"
+msgstr ""
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:4
 msgid "Sends a message to users currently connected to this server"
 msgstr "Poslat zprávu momentálně připojeným uživatelům tohoto serveru"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:4
+#: ../data/glade/advanced_menuitem_menu.glade.h:5
 msgid "Set MOTD"
 msgstr "Nastavit MOTD"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:5
+#: ../data/glade/advanced_menuitem_menu.glade.h:6
 msgid "Sets Message of the Day"
 msgstr "Nastaví Zprávu dne"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:6
+#: ../data/glade/advanced_menuitem_menu.glade.h:7
 msgid "Show _XML Console"
 msgstr "Zobrazit _XML konzoli"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:7
+#: ../data/glade/advanced_menuitem_menu.glade.h:8
 msgid "Update MOTD"
 msgstr "Upravit MOTD"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:8
+#: ../data/glade/advanced_menuitem_menu.glade.h:9
 msgid "Updates Message of the Day"
 msgstr "Upraví Zprávu dne"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:9
+#: ../data/glade/advanced_menuitem_menu.glade.h:10
 msgid "_Administrator"
 msgstr "_Správce"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:10
-msgid "_Privacy Lists"
-msgstr ""
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:11
 msgid "_Send Server Message"
 msgstr "Ode_slat zprávu serveru"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:12
-msgid "_Send Single Message"
-msgstr "Ode_slat jednoduchou zprávu"
-
 #: ../data/glade/advanced_notifications_window.glade.h:1
 msgid " a window/tab opened with that contact "
 msgstr "okno/žáložka otevřená s tímto kontaktem"
@@ -623,8 +765,7 @@ msgid "All statuses"
 msgstr "VÅ¡echny stavy"
 
 #: ../data/glade/advanced_notifications_window.glade.h:8
-#: ../src/common/commands.py:91
-#: ../src/common/helpers.py:243
+#: ../src/common/commands.py:91 ../src/common/helpers.py:246
 msgid "Away"
 msgstr "Pryč"
 
@@ -641,7 +782,7 @@ msgid "Have "
 msgstr "Má"
 
 #: ../data/glade/advanced_notifications_window.glade.h:12
-#: ../src/common/helpers.py:253
+#: ../src/common/helpers.py:256
 msgid "Invisible"
 msgstr "Neviditelný"
 
@@ -650,7 +791,7 @@ msgid "Launch a command"
 msgstr "Provést příkaz"
 
 #: ../data/glade/advanced_notifications_window.glade.h:14
-#: ../src/common/helpers.py:226
+#: ../src/common/helpers.py:229
 msgid "Not Available"
 msgstr "Nedostupný"
 
@@ -691,8 +832,10 @@ msgid "When "
 msgstr "Když"
 
 #: ../data/glade/advanced_notifications_window.glade.h:27
-msgid "_Activate window manager's UrgencyHint to make chat window in taskbar flash"
-msgstr "_Aktivuj UrgencyHint window manageru pro blikání okna rozhovoru v liště úloh"
+msgid ""
+"_Activate window manager's UrgencyHint to make chat window in taskbar flash"
+msgstr ""
+"_Aktivuj UrgencyHint window manageru pro blikání okna rozhovoru v liště úloh"
 
 #: ../data/glade/advanced_notifications_window.glade.h:28
 msgid "_Disable auto opening chat window"
@@ -741,7 +884,8 @@ msgid ""
 "everybody"
 msgstr ""
 "kontakty\n"
-"skupiny\všichni"
+"skupiny\n"
+"Å¡ichni"
 
 #: ../data/glade/advanced_notifications_window.glade.h:41
 msgid "for "
@@ -771,6 +915,82 @@ msgstr "Přijat nový záznam"
 msgid "You have received new entry:"
 msgstr "Dostal(a) jste novou položku: "
 
+#: ../data/glade/change_password_dialog.glade.h:1
+msgid "Change Password"
+msgstr "Změnit heslo"
+
+#: ../data/glade/change_password_dialog.glade.h:2
+msgid "Enter it again for confirmation:"
+msgstr "Zadejte znovu pro ověření:"
+
+#: ../data/glade/change_password_dialog.glade.h:3
+msgid "Enter new password:"
+msgstr "Zadejte heslo:"
+
+#: ../data/glade/change_status_message_dialog.glade.h:1
+msgid "<b>Type your new status message</b>"
+msgstr "<b>Napište nový popis stavu</b>"
+
+#: ../data/glade/change_status_message_dialog.glade.h:2
+msgid "Preset messages:"
+msgstr "Uložené stavy:"
+
+# FIXME: not accurate
+#: ../data/glade/change_status_message_dialog.glade.h:3
+msgid "Save as Preset..."
+msgstr "Uložit stav..."
+
+#: ../data/glade/chat_context_menu.glade.h:2
+#: ../data/glade/chat_control_popup_menu.glade.h:5
+#: ../data/glade/gc_occupants_menu.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:12
+msgid "_Add to Roster"
+msgstr "Přid_at do Seznamu"
+
+#: ../data/glade/chat_context_menu.glade.h:3
+msgid "_Copy JID/Email Address"
+msgstr "_Kopírovat JID/Emailovou adresu"
+
+#: ../data/glade/chat_context_menu.glade.h:4
+msgid "_Copy Link Location"
+msgstr "_Kopírovat odkaz"
+
+#: ../data/glade/chat_context_menu.glade.h:5
+msgid "_Open Email Composer"
+msgstr "_Otevři Emailový editor"
+
+#: ../data/glade/chat_context_menu.glade.h:6
+msgid "_Open Link in Browser"
+msgstr "_Otevřít v prohlížeči"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:1
+msgid "Click to see past conversations with this contact"
+msgstr "Klikněte pro starší konverzaci s tímto kontaktem"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:2
+msgid "Invite _Friends"
+msgstr ""
+
+#: ../data/glade/chat_control_popup_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/roster_contact_context_menu.glade.h:9
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:4
+msgid "Send _File"
+msgstr "Odeslat _Soubor"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:4
+msgid "Toggle Open_PGP Encryption"
+msgstr "Přepnout Open_PGP šifrování"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:6
+#: ../data/glade/gc_control_popup_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2567
+msgid "_History"
+msgstr "_Historie"
+
 #: ../data/glade/data_form_window.glade.h:1
 msgid "Fill in the form."
 msgstr "Vyplňte formulář."
@@ -824,15 +1044,18 @@ msgid "Shows a list of file transfers between you and others"
 msgstr "Zobrazí výpis přenosů souborů mezi Vámi a ostatními"
 
 #: ../data/glade/filetransfers.glade.h:11
-msgid "This action removes single file transfer from the list. If the transfer is active, it is first stopped and then removed"
-msgstr "Tato akce smaže jeden přenos souboru z výpisu. Pokud je přenos aktivní, bude nejdříve zastaven a potom smazán"
+msgid ""
+"This action removes single file transfer from the list. If the transfer is "
+"active, it is first stopped and then removed"
+msgstr ""
+"Tato akce smaže jeden přenos souboru z výpisu. Pokud je přenos aktivní, bude "
+"nejdříve zastaven a potom smazán"
 
 #: ../data/glade/filetransfers.glade.h:12
 msgid "When a file transfer is complete show a popup notification"
 msgstr "Zobraz upozornění, až bude přenos souboru dokončen"
 
-#: ../data/glade/filetransfers.glade.h:13
-#: ../src/filetransfers_window.py:769
+#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:774
 msgid "_Continue"
 msgstr "_Pokračovat"
 
@@ -840,8 +1063,7 @@ msgstr "_Pokračovat"
 msgid "_Notify me when a file transfer is complete"
 msgstr "_Upozornit mě po dokončení přenosu souboru"
 
-#: ../data/glade/filetransfers.glade.h:15
-#: ../src/filetransfers_window.py:190
+#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:186
 msgid "_Open Containing Folder"
 msgstr "_Otevřít obsahující složku"
 
@@ -948,62 +1170,57 @@ msgid "Configure _Room"
 msgstr "Nastavit _místnost"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:5
-msgid "_Bookmark This Room"
+#, fuzzy
+msgid "_Bookmark"
 msgstr "_Přidej do záložek"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:6
-#: ../data/glade/chat_control_popup_menu.glade.h:5
-msgid "_Compact View    Alt+C"
-msgstr "_Zjednodušený pohled    Alt+C"
+msgid "_Destroy Room"
+msgstr ""
 
-#: ../data/glade/gc_control_popup_menu.glade.h:7
-#: ../data/glade/gc_occupants_menu.glade.h:5
-#: ../data/glade/chat_control_popup_menu.glade.h:6
-#: ../data/glade/roster_contact_context_menu.glade.h:13
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:6
-msgid "_History"
-msgstr "_Historie"
+#: ../data/glade/gc_control_popup_menu.glade.h:8
+#, fuzzy
+msgid "_Manage Room"
+msgstr "Spravuj záložky"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:9
+msgid "_Minimize on close"
+msgstr ""
 
 #: ../data/glade/gc_occupants_menu.glade.h:1
 msgid "Mo_derator"
 msgstr "Mo_derátor"
 
 #: ../data/glade/gc_occupants_menu.glade.h:2
-#: ../data/glade/chat_context_menu.glade.h:2
-#: ../data/glade/chat_control_popup_menu.glade.h:4
-#: ../data/glade/roster_contact_context_menu.glade.h:10
-msgid "_Add to Roster"
-msgstr "Přid_at do Seznamu"
+#, fuzzy
+msgid "Occupant Actions"
+msgstr "_Akce účastníků"
 
-#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:5
 msgid "_Admin"
 msgstr "_Správce"
 
-#: ../data/glade/gc_occupants_menu.glade.h:4
+#: ../data/glade/gc_occupants_menu.glade.h:6
 msgid "_Ban"
 msgstr "_Zakázat"
 
-#: ../data/glade/gc_occupants_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:8
 msgid "_Kick"
 msgstr "Vy_kopnout"
 
-#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:9
 msgid "_Member"
 msgstr "Č_len"
 
-#: ../data/glade/gc_occupants_menu.glade.h:8
-msgid "_Occupant Actions"
-msgstr "_Akce účastníků"
-
-#: ../data/glade/gc_occupants_menu.glade.h:9
+#: ../data/glade/gc_occupants_menu.glade.h:10
 msgid "_Owner"
 msgstr "_Vlastník"
 
-#: ../data/glade/gc_occupants_menu.glade.h:10
+#: ../data/glade/gc_occupants_menu.glade.h:11
 msgid "_Send Private Message"
 msgstr "_Odeslat soukromou zprávu"
 
-#: ../data/glade/gc_occupants_menu.glade.h:11
+#: ../data/glade/gc_occupants_menu.glade.h:12
 msgid "_Voice"
 msgstr "_Hlas"
 
@@ -1011,14 +1228,12 @@ msgstr "_Hlas"
 msgid "Create new post"
 msgstr "Vytvoř nový zápis"
 
-#: ../data/glade/groups_post_window.glade.h:2
-#: ../src/common/helpers.py:268
+#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:271
 msgid "From"
 msgstr "Odesílatel"
 
 #. holds subject
-#: ../data/glade/groups_post_window.glade.h:3
-#: ../src/history_manager.py:142
+#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:142
 #: ../src/history_manager.py:173
 msgid "Subject"
 msgstr "Předmět"
@@ -1030,14 +1245,16 @@ msgid ""
 "You can select logs from the left and/or search database from below.\n"
 "\n"
 "<b>WARNING:</b>\n"
-"If you plan to do massive deletions, please make sure Gajim is not running. Generally avoid deletions with contacts you currently chat with."
+"If you plan to do massive deletions, please make sure Gajim is not running. "
+"Generally avoid deletions with contacts you currently chat with."
 msgstr ""
 "<big><b>Vítejte do Gajimova Správce Historie</b></big>\n"
 "\n"
 "Můžete zvolit záznamy nalevo a/nebo prohledat databázi dole.\n"
 "\n"
 "<b>VAROVÁNÍ:</b>\n"
-"Pokud plánujete rozsáhlé promazání, ujistěte se, že Gajim neběží. Obecně se vyvarujte mazání historie kontaktu, se kterým si právě píšete."
+"Pokud plánujete rozsáhlé promazání, ujistěte se, že Gajim neběží. Obecně se "
+"vyvarujte mazání historie kontaktu, se kterým si právě píšete."
 
 #: ../data/glade/history_manager.glade.h:7
 msgid "Delete"
@@ -1073,75 +1290,14 @@ msgid "Search"
 msgstr "Najít"
 
 #: ../data/glade/history_window.glade.h:5
+#: ../data/glade/zeroconf_information_window.glade.h:10
+msgid "_Log conversation history"
+msgstr "_Zaznamenat historii konverzace"
+
+#: ../data/glade/history_window.glade.h:6 ../src/disco.py:1173
 msgid "_Search"
 msgstr "_Najít"
 
-#: ../data/glade/change_password_dialog.glade.h:1
-msgid "Change Password"
-msgstr "Změnit heslo"
-
-#: ../data/glade/change_password_dialog.glade.h:2
-msgid "Enter it again for confirmation:"
-msgstr "Zadejte znovu pro ověření:"
-
-#: ../data/glade/change_password_dialog.glade.h:3
-msgid "Enter new password:"
-msgstr "Zadejte heslo:"
-
-#: ../data/glade/change_status_message_dialog.glade.h:1
-msgid "<b>Type your new status message</b>"
-msgstr "<b>Napište nový popis stavu</b>"
-
-#: ../data/glade/change_status_message_dialog.glade.h:2
-msgid "Preset messages:"
-msgstr "Uložené stavy:"
-
-# FIXME: not accurate
-#: ../data/glade/change_status_message_dialog.glade.h:3
-msgid "Save as Preset..."
-msgstr "Uložit stav..."
-
-#: ../data/glade/chat_context_menu.glade.h:1
-msgid "Join _Group Chat"
-msgstr "Vstoupit do _Diskuze"
-
-#: ../data/glade/chat_context_menu.glade.h:3
-msgid "_Copy JID/Email Address"
-msgstr "_Kopírovat JID/Emailovou adresu"
-
-#: ../data/glade/chat_context_menu.glade.h:4
-msgid "_Copy Link Location"
-msgstr "_Kopírovat odkaz"
-
-#: ../data/glade/chat_context_menu.glade.h:5
-msgid "_Open Email Composer"
-msgstr "_Otevři Emailový editor"
-
-#: ../data/glade/chat_context_menu.glade.h:6
-msgid "_Open Link in Browser"
-msgstr "_Otevřít v prohlížeči"
-
-#: ../data/glade/chat_context_menu.glade.h:7
-#: ../data/glade/roster_window.glade.h:20
-#: ../data/glade/subscription_request_popup_menu.glade.h:1
-#: ../data/glade/systray_context_menu.glade.h:7
-msgid "_Start Chat"
-msgstr "_Začít rozhovor"
-
-#: ../data/glade/chat_control_popup_menu.glade.h:1
-msgid "Click to see past conversations with this contact"
-msgstr "Klikněte pro starší konverzaci s tímto kontaktem"
-
-#: ../data/glade/chat_control_popup_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:8
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:4
-msgid "Send _File"
-msgstr "Odeslat _Soubor"
-
-#: ../data/glade/chat_control_popup_menu.glade.h:3
-msgid "Toggle Open_PGP Encryption"
-msgstr "Přepnout Open_PGP šifrování"
-
 #: ../data/glade/invitation_received_dialog.glade.h:1
 msgid "Accept"
 msgstr "Přijmout"
@@ -1155,8 +1311,7 @@ msgstr "Odmítnout"
 msgid "Invitation Received"
 msgstr "Přijata pozvánka"
 
-#: ../data/glade/join_groupchat_window.glade.h:1
-#: ../src/dialogs.py:1148
+#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1264
 msgid "Join Group Chat"
 msgstr "Připojit se do diskuze"
 
@@ -1165,14 +1320,14 @@ msgid "Join this room automatically when I connect"
 msgstr "Připoj se do této místnosti automaticky po připojení"
 
 #: ../data/glade/join_groupchat_window.glade.h:3
-#: ../data/glade/manage_bookmarks_window.glade.h:4
+#: ../data/glade/manage_bookmarks_window.glade.h:5
 #: ../data/glade/profile_window.glade.h:24
-#: ../data/glade/vcard_information_window.glade.h:29
+#: ../data/glade/vcard_information_window.glade.h:31
 msgid "Nickname:"
 msgstr "Přezdívka:"
 
 #: ../data/glade/join_groupchat_window.glade.h:4
-#: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/manage_bookmarks_window.glade.h:6
 msgid "Password:"
 msgstr "Heslo:"
 
@@ -1181,13 +1336,12 @@ msgid "Recently:"
 msgstr "Nedávno:"
 
 #: ../data/glade/join_groupchat_window.glade.h:6
-#: ../data/glade/manage_bookmarks_window.glade.h:7
+#: ../data/glade/manage_bookmarks_window.glade.h:8
 msgid "Room:"
 msgstr "Místnost:"
 
-#: ../data/glade/join_groupchat_window.glade.h:7
-#: ../src/disco.py:1163
-#: ../src/disco.py:1546
+#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1161
+#: ../src/disco.py:1616
 msgid "_Join"
 msgstr "_Vstoupit"
 
@@ -1207,15 +1361,19 @@ msgstr "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spušt
 msgid "Manage Bookmarks"
 msgstr "Spravuj záložky"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:4
+msgid "Minimize on Auto Join"
+msgstr ""
+
+#: ../data/glade/manage_bookmarks_window.glade.h:7
 msgid "Print status:"
 msgstr "Vypiš stav:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:8
+#: ../data/glade/manage_bookmarks_window.glade.h:9
 msgid "Server:"
 msgstr "Server:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:9
+#: ../data/glade/manage_bookmarks_window.glade.h:10
 msgid "Title:"
 msgstr "Titul:"
 
@@ -1241,10 +1399,14 @@ msgstr "Spravuj profily Proxy"
 
 #: ../data/glade/manage_proxies_window.glade.h:6
 #: ../data/glade/profile_window.glade.h:23
-#: ../data/glade/vcard_information_window.glade.h:28
+#: ../data/glade/vcard_information_window.glade.h:30
 msgid "Name:"
 msgstr "Jméno:"
 
+#: ../data/glade/manage_proxies_window.glade.h:7
+msgid "Pass_word:"
+msgstr "He_slo:"
+
 #: ../data/glade/manage_proxies_window.glade.h:8
 msgid "Type:"
 msgstr "Typ:"
@@ -1253,18 +1415,21 @@ msgstr "Typ:"
 msgid "Use authentication"
 msgstr "Použij autentifikaci"
 
+#: ../data/glade/manage_proxies_window.glade.h:10
+msgid "_Host:"
+msgstr "_Počítač:"
+
 #: ../data/glade/message_window.glade.h:1
 msgid "Click to insert an emoticon (Alt+M)"
 msgstr "Klikni pro vložení smajlíku (Alt+M)"
 
-#: ../data/glade/message_window.glade.h:2
-#: ../src/chat_control.py:1113
+#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1206
 msgid "OpenPGP Encryption"
 msgstr "OpenPGP Šifrování"
 
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:4
-#: ../data/glade/roster_window.glade.h:10
+#: ../data/glade/roster_window.glade.h:12
 #: ../data/glade/subscription_request_window.glade.h:6
 msgid "_Actions"
 msgstr "_Akce"
@@ -1272,7 +1437,7 @@ msgstr "_Akce"
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:6
 #: ../data/glade/xml_console_window.glade.h:11
-#: ../src/filetransfers_window.py:253
+#: ../src/filetransfers_window.py:243
 msgid "_Send"
 msgstr "Ode_slat"
 
@@ -1333,7 +1498,8 @@ msgstr "Povolit odeslání informace o _OS"
 
 #: ../data/glade/preferences_window.glade.h:17
 msgid "Allow popup/notifications when I'm _away/na/busy/invisible"
-msgstr "Povolit popup/upozornění pokud jsem _pryč/nedostupný/nerušit/neviditelný"
+msgstr ""
+"Povolit popup/upozornění pokud jsem _pryč/nedostupný/nerušit/neviditelný"
 
 #: ../data/glade/preferences_window.glade.h:18
 msgid "Also known as iChat style"
@@ -1344,8 +1510,13 @@ msgid "Always check to see if Gajim is the _default Jabber client on startup"
 msgstr "Vždy při startu zkontroluj, zda je Gajim _výchozí Jabber klient"
 
 #: ../data/glade/preferences_window.glade.h:20
-msgid "An example: If you have enabled status message for away, Gajim won't ask you anymore for a status message when you change your status to away; it will use the default one set here"
-msgstr "Příklad: Pokud povolíš stavovou zprávu pro pryč, Gajim se nadále nebude ptát na text zprávy když se přepneš do pryč; použije tady uvedenou zprávu"
+msgid ""
+"An example: If you have enabled status message for away, Gajim won't ask you "
+"anymore for a status message when you change your status to away; it will "
+"use the default one set here"
+msgstr ""
+"Příklad: Pokud povolíš stavovou zprávu pro pryč, Gajim se nadále nebude ptát "
+"na text zprávy když se přepneš do pryč; použije tady uvedenou zprávu"
 
 #: ../data/glade/preferences_window.glade.h:21
 msgid "Ask status message when I:"
@@ -1374,13 +1545,18 @@ msgstr ""
 "Vlastní"
 
 #: ../data/glade/preferences_window.glade.h:29
-#: ../src/chat_control.py:856
 msgid "Chat"
 msgstr "Rozhovor"
 
 #: ../data/glade/preferences_window.glade.h:30
-msgid "Check this option, only if someone you don't have in the roster spams/annoys you. Use with caution, because it blocks all messages from any contact that is not in the roster"
-msgstr "Zaškrtněte pouze pokud Vás obtěžuje někdo, koho nemáte v rosteru. Použijte s rozvahou, protože tato volba zakáže všechny zprávy od kontaktů, které ještě nemáte v rosteru"
+msgid ""
+"Check this option, only if someone you don't have in the roster spams/annoys "
+"you. Use with caution, because it blocks all messages from any contact that "
+"is not in the roster"
+msgstr ""
+"Zaškrtněte pouze pokud Vás obtěžuje někdo, koho nemáte v rosteru. Použijte s "
+"rozvahou, protože tato volba zakáže všechny zprávy od kontaktů, které ještě "
+"nemáte v rosteru"
 
 #: ../data/glade/preferences_window.glade.h:31
 msgid "Configure color and font of the interface"
@@ -1433,66 +1609,122 @@ msgid "Events"
 msgstr "Události"
 
 #: ../data/glade/preferences_window.glade.h:44
-msgid "Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to display in chat windows."
-msgstr "Gajim umí ohlašovat svoji schopnost posílat a přijímat meta-informace vztahující se k rozhovoru. Tady můžete nastavit, které stavy rozhovoru chcete zobrazovat v oknech rozhovoru."
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"display in chat windows."
+msgstr ""
+"Gajim umí ohlašovat svoji schopnost posílat a přijímat meta-informace "
+"vztahující se k rozhovoru. Tady můžete nastavit, které stavy rozhovoru "
+"chcete zobrazovat v oknech rozhovoru."
 
 #: ../data/glade/preferences_window.glade.h:45
-msgid "Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to send to the other party."
-msgstr "Gajim umí ohlašovat svoji schopnost posílat a přijímat meta-informace vztahující se k rozhovoru. Tady můžete nastavit, které stavy rozhovoru chcete posílat svému protějšku."
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"send to the other party."
+msgstr ""
+"Gajim umí ohlašovat svoji schopnost posílat a přijímat meta-informace "
+"vztahující se k rozhovoru. Tady můžete nastavit, které stavy rozhovoru "
+"chcete posílat svému protějšku."
 
 #: ../data/glade/preferences_window.glade.h:46
-msgid "Gajim will automatically show new events by popping up the relevant window"
+msgid ""
+"Gajim will automatically show new events by popping up the relevant window"
 msgstr "Gajim automaticky zobrazí nové události vyskočením příslušného okna"
 
 #: ../data/glade/preferences_window.glade.h:47
-msgid "Gajim will notify you for new events via a popup in the bottom right of the screen"
-msgstr "Gajim Vás upozorní o nové zprávě pomocí popupu v pravém dolním rohu obrazovky"
+msgid ""
+"Gajim will notify you for new events via a popup in the bottom right of the "
+"screen"
+msgstr ""
+"Gajim Vás upozorní o nové zprávě pomocí popupu v pravém dolním rohu obrazovky"
 
 #: ../data/glade/preferences_window.glade.h:48
-msgid "Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed in"
-msgstr "Gajim Vás upozorní o nově připojených kontaktech pomocí popupu v pravém dolním rohu obrazovky"
+msgid ""
+"Gajim will notify you via a popup window in the bottom right of the screen "
+"about contacts that just signed in"
+msgstr ""
+"Gajim Vás upozorní o nově připojených kontaktech pomocí popupu v pravém "
+"dolním rohu obrazovky"
 
 #: ../data/glade/preferences_window.glade.h:49
-msgid "Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed out"
-msgstr "Gajim Vás upozorní o přávě odpojených kontaktech pomocí popupu v pravém dolním rohu obrazovky"
+msgid ""
+"Gajim will notify you via a popup window in the bottom right of the screen "
+"about contacts that just signed out"
+msgstr ""
+"Gajim Vás upozorní o přávě odpojených kontaktech pomocí popupu v pravém "
+"dolním rohu obrazovky"
 
 #: ../data/glade/preferences_window.glade.h:50
-msgid "Gajim will only change the icon of the contact that triggered the new event"
+msgid ""
+"Gajim will only change the icon of the contact that triggered the new event"
 msgstr "Gajim pouze změní ikonu kontaktu, který vyvolal novou událost"
 
 #: ../data/glade/preferences_window.glade.h:52
-msgid "If checked, Gajim will also include information about the sender of the new emails"
-msgstr "Pokud zaškrtnuto, Gajim uvede také informaci o odesilateli zprávy nového emailu"
+#, fuzzy
+msgid "Hides buttons in chatwindows to "
+msgstr "Skryje tlačítka v okně diskuze."
 
 #: ../data/glade/preferences_window.glade.h:53
-msgid "If checked, Gajim will display avatars of contacts in roster window and in group chats"
-msgstr "Pokud zaškrtnuto, Gajim bude zobrazovat avatary kontaktů v okně Seznamu a v diskuzích"
+msgid ""
+"If checked, Gajim will also include information about the sender of the new "
+"emails"
+msgstr ""
+"Pokud zaškrtnuto, Gajim uvede také informaci o odesilateli zprávy nového "
+"emailu"
 
 #: ../data/glade/preferences_window.glade.h:54
-msgid "If checked, Gajim will display status messages of contacts under the contact name in roster window and in group chats"
-msgstr "Pokud zaškrtnuto, Gajim bude zobrazovat popisy stavů kontaktů pod jménem v okně Seznamu a v diskuzích"
+msgid ""
+"If checked, Gajim will display avatars of contacts in roster window and in "
+"group chats"
+msgstr ""
+"Pokud zaškrtnuto, Gajim bude zobrazovat avatary kontaktů v okně Seznamu a v "
+"diskuzích"
 
 #: ../data/glade/preferences_window.glade.h:55
-msgid "If checked, Gajim will remember the roster and chat window positions in the screen and the sizes of them next time you run it"
-msgstr "Pokud bude zaškrtnuto, Gajim si bude pamatovat polohy a velikosti Seznamu a oken rozhovorů po příštím spuštění"
+msgid ""
+"If checked, Gajim will display status messages of contacts under the contact "
+"name in roster window and in group chats"
+msgstr ""
+"Pokud zaškrtnuto, Gajim bude zobrazovat popisy stavů kontaktů pod jménem v "
+"okně Seznamu a v diskuzích"
 
 #: ../data/glade/preferences_window.glade.h:56
-msgid "If checked, Gajim will use protocol-specific status icons. (eg. A contact from MSN will have the equivalent msn icon for status online, away, busy, etc...)"
-msgstr "Pokud zaškrtnuto, Gajim použije ikony specifické pro protokol (např. kontakt z MSN bude mít odpovídající ikonu msn pro stavy připojen, pryč, nerušit, atd...)"
+msgid ""
+"If checked, Gajim will remember the roster and chat window positions in the "
+"screen and the sizes of them next time you run it"
+msgstr ""
+"Pokud bude zaškrtnuto, Gajim si bude pamatovat polohy a velikosti Seznamu a "
+"oken rozhovorů po příštím spuštění"
 
 #: ../data/glade/preferences_window.glade.h:57
-msgid "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent animated or static graphical emoticons"
-msgstr "Pokud zaškrtnuto, Gajim nahradí ascii smajlíky jako ':)' za ekvivalentní animované nebo statické grafické smajlíky"
+msgid ""
+"If checked, Gajim will use protocol-specific status icons. (eg. A contact "
+"from MSN will have the equivalent msn icon for status online, away, busy, "
+"etc...)"
+msgstr ""
+"Pokud zaškrtnuto, Gajim použije ikony specifické pro protokol (např. kontakt "
+"z MSN bude mít odpovídající ikonu msn pro stavy připojen, pryč, nerušit, "
+"atd...)"
 
 #: ../data/glade/preferences_window.glade.h:58
+msgid ""
+"If not disabled, Gajim will replace ascii smilies like ':)' with equivalent "
+"animated or static graphical emoticons"
+msgstr ""
+"Pokud zaškrtnuto, Gajim nahradí ascii smajlíky jako ':)' za ekvivalentní "
+"animované nebo statické grafické smajlíky"
+
+#: ../data/glade/preferences_window.glade.h:59
 msgid "Ignore rich content in incoming messages"
 msgstr "Ignoruj formátování v příchozích zprávách"
 
-#: ../data/glade/preferences_window.glade.h:59
+#: ../data/glade/preferences_window.glade.h:60
 msgid "Ma_nage..."
 msgstr "Sp_ravovat..."
 
-#: ../data/glade/preferences_window.glade.h:60
+#: ../data/glade/preferences_window.glade.h:61
 msgid ""
 "Never\n"
 "Always\n"
@@ -1504,183 +1736,205 @@ msgstr ""
 "Podle účtu\n"
 "Podle typu"
 
-#: ../data/glade/preferences_window.glade.h:64
+#: ../data/glade/preferences_window.glade.h:65
 msgid "Notify me about contacts that: "
 msgstr "Upozorni mě na kontakty které se: "
 
-#: ../data/glade/preferences_window.glade.h:65
+#: ../data/glade/preferences_window.glade.h:66
 msgid "Notify on new _GMail email"
 msgstr "Upozorni při novém _GMail emailu"
 
-#: ../data/glade/preferences_window.glade.h:66
+#: ../data/glade/preferences_window.glade.h:67
 msgid "On every _message"
 msgstr "Při každé _zprávě"
 
-#: ../data/glade/preferences_window.glade.h:67
+#: ../data/glade/preferences_window.glade.h:68
 msgid "One message _window:"
 msgstr "_Okno jednoduché zprávy:"
 
-#: ../data/glade/preferences_window.glade.h:68
+#: ../data/glade/preferences_window.glade.h:69
 msgid "Outgoing Chat state noti_fications:"
 msgstr "Odchozí události stavu rozhovoru:"
 
-#: ../data/glade/preferences_window.glade.h:69
+#: ../data/glade/preferences_window.glade.h:70
 msgid "Play _sounds"
 msgstr "Přehrávat _zvuky"
 
-#: ../data/glade/preferences_window.glade.h:70
+#: ../data/glade/preferences_window.glade.h:71
 msgid "Preferences"
 msgstr "Nastavení"
 
-#: ../data/glade/preferences_window.glade.h:71
+#: ../data/glade/preferences_window.glade.h:72
 msgid "Print time:"
 msgstr "ÄŒas tisku:"
 
-#: ../data/glade/preferences_window.glade.h:72
+#: ../data/glade/preferences_window.glade.h:73
 msgid "Save _position and size for roster and chat windows"
 msgstr "Uložit _pozici a velikost pro seznam a okna rozhovorů"
 
-#: ../data/glade/preferences_window.glade.h:73
+#: ../data/glade/preferences_window.glade.h:74
 msgid "Set status message to reflect currently playing _music track"
-msgstr "Nastav stavouvou zprávu, aby odrážela momentálně přehrávanou _hudební stopu"
+msgstr ""
+"Nastav stavouvou zprávu, aby odrážela momentálně přehrávanou _hudební stopu"
 
-#: ../data/glade/preferences_window.glade.h:74
+#: ../data/glade/preferences_window.glade.h:75
 msgid "Show only in _roster"
 msgstr "Zobrazit pouze v _Seznamu"
 
-#: ../data/glade/preferences_window.glade.h:75
+#: ../data/glade/preferences_window.glade.h:76
 msgid "Sign _in"
 msgstr "_Přihlásí"
 
-#: ../data/glade/preferences_window.glade.h:76
+#: ../data/glade/preferences_window.glade.h:77
 msgid "Sign _out"
 msgstr "_Odhlásí"
 
-#: ../data/glade/preferences_window.glade.h:77
-msgid "Some messages may include rich content (formatting, colors etc). If checked, Gajim will just display the raw message text."
-msgstr "Některé zprávy mohou obsahovat formátování (odsazení, barvy aj.). Pokud je zaškrtnuto, Gajim zobrazí pouze čistý text."
-
 #: ../data/glade/preferences_window.glade.h:78
+msgid ""
+"Some messages may include rich content (formatting, colors etc). If checked, "
+"Gajim will just display the raw message text."
+msgstr ""
+"Některé zprávy mohou obsahovat formátování (odsazení, barvy aj.). Pokud je "
+"zaškrtnuto, Gajim zobrazí pouze čistý text."
+
+#: ../data/glade/preferences_window.glade.h:79
 msgid "Status"
 msgstr "Stav"
 
-#: ../data/glade/preferences_window.glade.h:79
+#: ../data/glade/preferences_window.glade.h:80
 msgid "T_heme:"
 msgstr "_Téma:"
 
-#: ../data/glade/preferences_window.glade.h:80
+#: ../data/glade/preferences_window.glade.h:81
 msgid "The auto away status message"
 msgstr "Text stavu automaticky pryč"
 
-#: ../data/glade/preferences_window.glade.h:81
+#: ../data/glade/preferences_window.glade.h:82
 msgid "The auto not available status message"
 msgstr "Text stavu nedostupný"
 
-#: ../data/glade/preferences_window.glade.h:82
+#: ../data/glade/preferences_window.glade.h:83
 msgid "Treat all incoming messages as:"
 msgstr "Považovat všechny příchozí zprávy za: "
 
-#: ../data/glade/preferences_window.glade.h:83
+#: ../data/glade/preferences_window.glade.h:84
 msgid "Use _transports iconsets"
 msgstr "Používej ikony _transportů"
 
-#: ../data/glade/preferences_window.glade.h:84
+#: ../data/glade/preferences_window.glade.h:85
 msgid "Use system _default"
 msgstr "Použij nastavení _systému"
 
-#: ../data/glade/preferences_window.glade.h:85
+#: ../data/glade/preferences_window.glade.h:86
 msgid "Use t_rayicon (aka. notification area icon)"
 msgstr "_Ikona v systrayi (jinak řečeno v oznamovací oblasti)"
 
-#: ../data/glade/preferences_window.glade.h:86
-msgid "When a new event (message, file transfer request etc..) is received, the following methods may be used to inform you about it. Please note that events about new messages only occur if it is a new message from a contact you are not already chatting with"
-msgstr "Když nová událost (zpráva, žádost o přenos souboru, a podobně) je přijata, následující metody Vás mohou upozornit. Vězte prosím, že událost přijetí nové zprávy nastane pouze tehdy, pokud je od kontaktu, se kterým už nehovoříte"
-
 #: ../data/glade/preferences_window.glade.h:87
-msgid "When new event is received"
-msgstr "Když je přijata nová zpráva"
+msgid ""
+"When a new event (message, file transfer request etc..) is received, the "
+"following methods may be used to inform you about it. Please note that "
+"events about new messages only occur if it is a new message from a contact "
+"you are not already chatting with"
+msgstr ""
+"Když nová událost (zpráva, žádost o přenos souboru, a podobně) je přijata, "
+"následující metody Vás mohou upozornit. Vězte prosím, že událost přijetí "
+"nové zprávy nastane pouze tehdy, pokud je od kontaktu, se kterým už "
+"nehovoříte"
 
 #: ../data/glade/preferences_window.glade.h:88
-msgid "Works for Rhythmbox and Muine players. For more players, please visit http://trac.gajim.org/wiki/GajimAndMusicPlayer"
-msgstr "Pracuje s Rhythmbox a Munie přehrávači. Pro jiné přehrávače, navštivte http://trac.gajim.org/wiki/GajimAndMusicPlayer"
+msgid "When new event is received"
+msgstr "Když je přijata nová zpráva"
 
 #: ../data/glade/preferences_window.glade.h:89
+msgid ""
+"Works for Rhythmbox and Muine players. For more players, please visit http://"
+"trac.gajim.org/wiki/GajimAndMusicPlayer"
+msgstr ""
+"Pracuje s Rhythmbox a Munie přehrávači. Pro jiné přehrávače, navštivte "
+"http://trac.gajim.org/wiki/GajimAndMusicPlayer"
+
+#: ../data/glade/preferences_window.glade.h:90
 msgid "_Advanced Notifications Control..."
 msgstr "_Správa pokročilých notifikací..."
 
-#: ../data/glade/preferences_window.glade.h:90
+#: ../data/glade/preferences_window.glade.h:91
 msgid "_Browser:"
 msgstr "_Prohlížeč:"
 
-#: ../data/glade/preferences_window.glade.h:91
+#: ../data/glade/preferences_window.glade.h:92
 msgid "_File manager:"
 msgstr "_Správce souborů:"
 
-#: ../data/glade/preferences_window.glade.h:92
+#: ../data/glade/preferences_window.glade.h:93
 msgid "_Font:"
 msgstr "_Písmo:"
 
-#: ../data/glade/preferences_window.glade.h:93
+#: ../data/glade/preferences_window.glade.h:94
 msgid "_Highlight misspelled words"
 msgstr "Zvýrazňovat _slova s překlepy"
 
-#: ../data/glade/preferences_window.glade.h:94
+#: ../data/glade/preferences_window.glade.h:95
 msgid "_Ignore events from contacts not in the roster"
 msgstr "_Ignorovat události od kontaktů mimo můj Seznam"
 
-#: ../data/glade/preferences_window.glade.h:95
+#: ../data/glade/preferences_window.glade.h:96
 msgid "_Incoming message:"
 msgstr "_Příchozí zpráva:"
 
-#: ../data/glade/preferences_window.glade.h:96
+#: ../data/glade/preferences_window.glade.h:97
 msgid "_Log status changes of contacts"
 msgstr "Zaznamenávat změny _stavu kontaktů"
 
-#: ../data/glade/preferences_window.glade.h:97
+#: ../data/glade/preferences_window.glade.h:98
 msgid "_Mail client:"
 msgstr "E-_mailový klient:"
 
-#: ../data/glade/preferences_window.glade.h:98
+#: ../data/glade/preferences_window.glade.h:99
+#, fuzzy
+msgid "_Make message windows compact"
+msgstr "_Okno jednoduché zprávy:"
+
+#: ../data/glade/preferences_window.glade.h:100
 msgid "_Never"
 msgstr "_Nikdy"
 
-#: ../data/glade/preferences_window.glade.h:99
+#: ../data/glade/preferences_window.glade.h:101
 msgid "_Notify me about it"
 msgstr "_Upozornit mÄ›"
 
-#: ../data/glade/preferences_window.glade.h:100
+#: ../data/glade/preferences_window.glade.h:102
 msgid "_Open..."
 msgstr "_Otevřít..."
 
-#: ../data/glade/preferences_window.glade.h:101
+#: ../data/glade/preferences_window.glade.h:103
 msgid "_Outgoing message:"
 msgstr "_Odchozí zpráva:"
 
-#: ../data/glade/preferences_window.glade.h:102
+#: ../data/glade/preferences_window.glade.h:104
 msgid "_Player:"
 msgstr "_Přehrávač:"
 
-#: ../data/glade/preferences_window.glade.h:103
+#: ../data/glade/preferences_window.glade.h:105
 msgid "_Pop it up"
 msgstr "Zobrazit o_kno se zprávou"
 
-#: ../data/glade/preferences_window.glade.h:104
+#: ../data/glade/preferences_window.glade.h:106
 msgid "_Reset to Default Colors"
 msgstr "_Vrátit k výchozím barvám"
 
-#: ../data/glade/preferences_window.glade.h:105
+#: ../data/glade/preferences_window.glade.h:107
 msgid "_Sort contacts by status"
 msgstr "_Seřadit podle stavu"
 
-#: ../data/glade/preferences_window.glade.h:106
+#: ../data/glade/preferences_window.glade.h:108
 msgid "_Status message:"
 msgstr "_Stav:"
 
-#: ../data/glade/preferences_window.glade.h:107
+#: ../data/glade/preferences_window.glade.h:109
 msgid "_URL:"
 msgstr "_URL:"
 
-#: ../data/glade/preferences_window.glade.h:108
+#: ../data/glade/preferences_window.glade.h:110
 msgid "minutes"
 msgstr "minutách"
 
@@ -1724,8 +1978,7 @@ msgstr "Jabber ID"
 msgid "Order:"
 msgstr "Pořadí:"
 
-#: ../data/glade/privacy_list_window.glade.h:11
-#: ../src/dialogs.py:1862
+#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2097
 msgid "Privacy List"
 msgstr ""
 
@@ -1802,111 +2055,104 @@ msgid "Company:"
 msgstr "Společnost:"
 
 #: ../data/glade/profile_window.glade.h:9
-#: ../data/glade/vcard_information_window.glade.h:13
+#: ../data/glade/vcard_information_window.glade.h:14
 msgid "Country:"
 msgstr "ZemÄ›:"
 
 #: ../data/glade/profile_window.glade.h:10
-#: ../data/glade/vcard_information_window.glade.h:14
+#: ../data/glade/vcard_information_window.glade.h:15
 msgid "Department:"
 msgstr "Oddělení:"
 
-#: ../data/glade/profile_window.glade.h:11
-#: ../data/glade/vcard_information_window.glade.h:15
-#: ../data/glade/zeroconf_information_window.glade.h:2
-#: ../data/glade/zeroconf_properties_window.glade.h:5
-msgid "E-Mail:"
-msgstr "E-Mail:"
-
 #: ../data/glade/profile_window.glade.h:12
-#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/vcard_information_window.glade.h:17
 msgid "Extra Address:"
 msgstr "Další adresa:"
 
 #. Family Name
 #: ../data/glade/profile_window.glade.h:14
-#: ../data/glade/vcard_information_window.glade.h:18
+#: ../data/glade/vcard_information_window.glade.h:19
 msgid "Family:"
 msgstr "Příjmení:"
 
 #. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly)
 #: ../data/glade/profile_window.glade.h:16
-#: ../data/glade/vcard_information_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:21
 msgid "Format: YYYY-MM-DD"
 msgstr "Formát: RRRR-MM-DD"
 
-#. Given Name
-#: ../data/glade/profile_window.glade.h:18
+#: ../data/glade/profile_window.glade.h:17
 #: ../data/glade/vcard_information_window.glade.h:22
+#, fuzzy
+msgid "Full Name"
+msgstr "Jméno"
+
+#. Given Name
+#: ../data/glade/profile_window.glade.h:19
+#: ../data/glade/vcard_information_window.glade.h:24
 msgid "Given:"
 msgstr "Křestní:"
 
-#: ../data/glade/profile_window.glade.h:19
-#: ../data/glade/vcard_information_window.glade.h:23
+#: ../data/glade/profile_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:25
 msgid "Homepage:"
 msgstr "Dom. stránka:"
 
 #. Middle Name
-#: ../data/glade/profile_window.glade.h:21
-#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/profile_window.glade.h:22
+#: ../data/glade/vcard_information_window.glade.h:28
 msgid "Middle:"
 msgstr "Střední:"
 
-#: ../data/glade/profile_window.glade.h:22
-#: ../data/glade/vcard_information_window.glade.h:27
-msgid "More"
-msgstr "Více"
-
 #: ../data/glade/profile_window.glade.h:25
-#: ../data/glade/vcard_information_window.glade.h:31
+#: ../data/glade/vcard_information_window.glade.h:34
 msgid "Personal Info"
 msgstr "Osobní údaje"
 
 #: ../data/glade/profile_window.glade.h:27
-#: ../data/glade/vcard_information_window.glade.h:32
+#: ../data/glade/vcard_information_window.glade.h:35
 msgid "Phone No.:"
 msgstr "Telefon:"
 
 #: ../data/glade/profile_window.glade.h:28
-#: ../data/glade/vcard_information_window.glade.h:33
+#: ../data/glade/vcard_information_window.glade.h:36
 msgid "Position:"
 msgstr "Pozice:"
 
 #: ../data/glade/profile_window.glade.h:29
-#: ../data/glade/vcard_information_window.glade.h:34
+#: ../data/glade/vcard_information_window.glade.h:37
 msgid "Postal Code:"
 msgstr "PSČ:"
 
 #. Prefix in Name
 #: ../data/glade/profile_window.glade.h:31
-#: ../data/glade/vcard_information_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:39
 msgid "Prefix:"
 msgstr "Titul:"
 
 #: ../data/glade/profile_window.glade.h:32
-#: ../data/glade/vcard_information_window.glade.h:38
-#: ../src/vcard.py:273
+#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:302
 msgid "Role:"
 msgstr "Postavení:"
 
 #: ../data/glade/profile_window.glade.h:33
-#: ../data/glade/vcard_information_window.glade.h:39
+#: ../data/glade/vcard_information_window.glade.h:42
 msgid "State:"
 msgstr "Stát:"
 
 #: ../data/glade/profile_window.glade.h:34
-#: ../data/glade/vcard_information_window.glade.h:41
+#: ../data/glade/vcard_information_window.glade.h:44
 msgid "Street:"
 msgstr "Ulice:"
 
 #. Suffix in Name
 #: ../data/glade/profile_window.glade.h:36
-#: ../data/glade/vcard_information_window.glade.h:45
+#: ../data/glade/vcard_information_window.glade.h:48
 msgid "Suffix:"
 msgstr "Za jménem:"
 
 #: ../data/glade/profile_window.glade.h:37
-#: ../data/glade/vcard_information_window.glade.h:46
+#: ../data/glade/vcard_information_window.glade.h:50
 msgid "Work"
 msgstr "Práce"
 
@@ -1922,6 +2168,16 @@ msgstr "Odstranit účet _pouze z Gajimu"
 msgid "Remove account from Gajim and from _server"
 msgstr "Odstranit účet z Gajimu i ze _serveru"
 
+#. Remove
+#. Remove group
+#. Remove
+#: ../data/glade/remove_account_window.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../src/roster_window.py:2524 ../src/roster_window.py:2734
+#: ../src/roster_window.py:2870
+msgid "_Remove"
+msgstr "Odst_ranit"
+
 #: ../data/glade/roster_contact_context_menu.glade.h:1
 msgid "A_sk to see his/her status"
 msgstr "Požádat o zobrazení je(jí)ho _stavu"
@@ -1936,58 +2192,81 @@ msgstr "Přidat zvláštní _upozornění"
 msgid "Assign Open_PGP Key"
 msgstr "Přiřadit Open_PGP klíč"
 
+#. Edit Groups
 #: ../data/glade/roster_contact_context_menu.glade.h:4
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:3
-#: ../src/roster_window.py:2075
+#: ../src/roster_window.py:2497
 msgid "Edit _Groups"
 msgstr "Upravit _skupiny"
 
+#. Execute Command
 #: ../data/glade/roster_contact_context_menu.glade.h:5
-#: ../src/roster_window.py:2210
+#: ../src/roster_window.py:2827
 msgid "Execute Command..."
 msgstr "Provést příkaz..."
 
+#. Invite to Groupchat
 #: ../data/glade/roster_contact_context_menu.glade.h:6
-#: ../src/roster_window.py:2033
+#: ../src/roster_window.py:2440
 msgid "In_vite to"
 msgstr "_Pozvat do"
 
+#. Send Custom Status
 #: ../data/glade/roster_contact_context_menu.glade.h:7
+#: ../src/roster_window.py:2664 ../src/roster_window.py:2798
+#, fuzzy
+msgid "Send Cus_tom Status"
+msgstr "Poslat vlastní XML"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:8
 #: ../data/glade/systray_context_menu.glade.h:2
 msgid "Send Single _Message"
 msgstr "Odeslat jednoduchou _zprávu"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:9
+#: ../data/glade/roster_contact_context_menu.glade.h:10
+msgid "Set Custom _Avatar"
+msgstr ""
+
+#: ../data/glade/roster_contact_context_menu.glade.h:11
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:5
 msgid "Start _Chat"
 msgstr "Začít _rozhovor"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:11
+#: ../data/glade/roster_contact_context_menu.glade.h:13
 msgid "_Allow him/her to see my status"
 msgstr "_Dovol kontaktu vidět můj stav"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:12
-msgid "_Forbid him/her to see my status"
-msgstr "_Zakaž mu/jí vidět můj stav"
-
-#. Remove group
 #: ../data/glade/roster_contact_context_menu.glade.h:14
-#: ../src/roster_window.py:2027
-#: ../src/roster_window.py:2124
-#: ../src/roster_window.py:2231
-msgid "_Remove from Roster"
-msgstr "Odst_ranit ze Seznamu"
+#: ../src/roster_window.py:2514 ../src/roster_window.py:2725
+msgid "_Block"
+msgstr ""
 
 #: ../data/glade/roster_contact_context_menu.glade.h:15
+msgid "_Forbid him/her to see my status"
+msgstr "_Zakaž mu/jí vidět můj stav"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:17
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7
-#: ../src/roster_window.py:2219
+#, fuzzy
+msgid "_Manage Contact"
+msgstr "Přejmenovat kontakt"
+
+#. Rename
+#: ../data/glade/roster_contact_context_menu.glade.h:19
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:8
+#: ../src/roster_window.py:2854
 msgid "_Rename"
 msgstr "_Přejmenovat"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/roster_contact_context_menu.glade.h:20
 msgid "_Subscription"
 msgstr "_Autorizace"
 
+#: ../data/glade/roster_contact_context_menu.glade.h:21
+#: ../src/roster_window.py:2508 ../src/roster_window.py:2719
+msgid "_Unblock"
+msgstr ""
+
 #: ../data/glade/roster_window.glade.h:1
 msgid "A_ccounts"
 msgstr "Úč_ty"
@@ -1997,61 +2276,63 @@ msgid "Add _Contact"
 msgstr "Přidat _kontakt"
 
 #: ../data/glade/roster_window.glade.h:3
+#, fuzzy
+msgid "Fea_tures"
+msgstr "Vlastnosti serveru"
+
+#: ../data/glade/roster_window.glade.h:4
 msgid "File _Transfers"
 msgstr "_Přenosy souborů"
 
-#: ../data/glade/roster_window.glade.h:4
+#: ../data/glade/roster_window.glade.h:5
 msgid "Frequently Asked Questions (online)"
 msgstr "Často kladené dotazy - FAQ (online)"
 
-#: ../data/glade/roster_window.glade.h:6
+#: ../data/glade/roster_window.glade.h:7
 msgid "Help online"
 msgstr "Nápověda online"
 
-#: ../data/glade/roster_window.glade.h:7
+#: ../data/glade/roster_window.glade.h:9
 msgid "Profile, A_vatar"
 msgstr "Profil, A_vatar"
 
-#: ../data/glade/roster_window.glade.h:8
+#: ../data/glade/roster_window.glade.h:10
 msgid "Show Trans_ports"
 msgstr "Zobrazuj trans_porty"
 
-#: ../data/glade/roster_window.glade.h:9
+#: ../data/glade/roster_window.glade.h:11
 msgid "Show _Offline Contacts"
 msgstr "Zobrazit _odpojené kontakty"
 
-#: ../data/glade/roster_window.glade.h:12
+#: ../data/glade/roster_window.glade.h:14
 msgid "_Contents"
 msgstr "_Obsah"
 
-# FIXME: chtelo by to cesky vyraz pro service discovery
-#: ../data/glade/roster_window.glade.h:13
-msgid "_Discover Services"
-msgstr "_Prohlížet služby"
-
-#: ../data/glade/roster_window.glade.h:14
-#: ../src/disco.py:1284
-#: ../src/roster_window.py:2202
+#: ../data/glade/roster_window.glade.h:16 ../src/disco.py:1349
 msgid "_Edit"
 msgstr "_Úpravy"
 
-#: ../data/glade/roster_window.glade.h:15
+#: ../data/glade/roster_window.glade.h:17
 msgid "_FAQ"
 msgstr "_FAQ"
 
-#: ../data/glade/roster_window.glade.h:17
+#: ../data/glade/roster_window.glade.h:18
 msgid "_Help"
 msgstr "_Nápověda"
 
-#: ../data/glade/roster_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:19
 msgid "_Preferences"
 msgstr "_Nastavení"
 
-#: ../data/glade/roster_window.glade.h:19
+#: ../data/glade/roster_window.glade.h:20
 msgid "_Quit"
 msgstr "_Konec"
 
 #: ../data/glade/roster_window.glade.h:21
+msgid "_Send Single Message"
+msgstr "Ode_slat jednoduchou zprávu"
+
+#: ../data/glade/roster_window.glade.h:23
 msgid "_View"
 msgstr "_Zobraz"
 
@@ -2128,7 +2409,9 @@ msgid "Authorize contact so he or she can know when you're connected"
 msgstr "Autorizovat kontakt, aby věděl kdy jsi připojený(á)"
 
 #: ../data/glade/subscription_request_window.glade.h:3
-msgid "Deny authorization from contact so he or she cannot know when you're connected"
+msgid ""
+"Deny authorization from contact so he or she cannot know when you're "
+"connected"
 msgstr "Odmítne autorizaci od kontaktu, takže nezjistí kdy jste připojen(a)"
 
 #: ../data/glade/subscription_request_window.glade.h:4
@@ -2155,6 +2438,10 @@ msgstr "Zobrazit _Seznam"
 msgid "Sta_tus"
 msgstr "S_tav"
 
+#: ../data/glade/systray_context_menu.glade.h:6
+msgid "_Group Chat"
+msgstr "_Diskuze"
+
 #. Given Name
 #: ../data/glade/vcard_information_window.glade.h:5
 msgid "Ask:"
@@ -2169,44 +2456,46 @@ msgid "Comments"
 msgstr "Vlastní poznámky"
 
 #: ../data/glade/vcard_information_window.glade.h:11
+#, fuzzy
+msgid "Configured avatar:"
+msgstr "Nastavit _místnost"
+
+#: ../data/glade/vcard_information_window.glade.h:12
 #: ../data/glade/zeroconf_information_window.glade.h:1
 msgid "Contact"
 msgstr "Kontakt"
 
-#: ../data/glade/vcard_information_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:13
 msgid "Contact Information"
 msgstr "Informace o kontaktu"
 
-#: ../data/glade/vcard_information_window.glade.h:24
-#: ../data/glade/zeroconf_information_window.glade.h:4
-#: ../data/glade/zeroconf_properties_window.glade.h:13
-#: ../src/dialogs.py:416
-msgid "Jabber ID:"
-msgstr "Jabber ID:"
+#: ../data/glade/vcard_information_window.glade.h:29
+msgid "More"
+msgstr "Více"
 
-#: ../data/glade/vcard_information_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:33
 msgid "OS:"
 msgstr "OS:"
 
-#: ../data/glade/vcard_information_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:40
 #: ../data/glade/zeroconf_information_window.glade.h:8
 msgid "Resource:"
 msgstr "Zdroj:"
 
-#: ../data/glade/vcard_information_window.glade.h:40
+#: ../data/glade/vcard_information_window.glade.h:43
 #: ../data/glade/zeroconf_information_window.glade.h:9
 msgid "Status:"
 msgstr "Stav:"
 
 #. Family Name
-#: ../data/glade/vcard_information_window.glade.h:43
+#: ../data/glade/vcard_information_window.glade.h:46
 msgid "Subscription:"
 msgstr "Autorizace:"
 
-#: ../data/glade/vcard_information_window.glade.h:47
-#: ../data/glade/zeroconf_information_window.glade.h:10
-msgid "_Log conversation history"
-msgstr "_Zaznamenat historii konverzace"
+#: ../data/glade/vcard_information_window.glade.h:49
+#, fuzzy
+msgid "User avatar:"
+msgstr "Avatar:"
 
 #: ../data/glade/xml_console_window.glade.h:1
 msgid "<b>Jabber Traffic</b>"
@@ -2216,11 +2505,6 @@ msgstr "<b>Provoz Jabberu</b>"
 msgid "<b>XML Input</b>"
 msgstr "<b>Vstup XML</b>"
 
-#. XML Console enable checkbutton
-#: ../data/glade/xml_console_window.glade.h:4
-msgid "Enable"
-msgstr "Povolit"
-
 #. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem)
 #: ../data/glade/xml_console_window.glade.h:6
 msgid "Info/Query"
@@ -2239,16 +2523,6 @@ msgstr "_Zpráva"
 msgid "_Presence"
 msgstr "_Status"
 
-#: ../data/glade/zeroconf_information_window.glade.h:3
-#: ../data/glade/zeroconf_properties_window.glade.h:6
-msgid "First Name:"
-msgstr "Křestní:"
-
-#: ../data/glade/zeroconf_information_window.glade.h:5
-#: ../data/glade/zeroconf_properties_window.glade.h:14
-msgid "Last Name:"
-msgstr "Příjmení:"
-
 #: ../data/glade/zeroconf_information_window.glade.h:6
 msgid "Local jid:"
 msgstr "Lokální jid: "
@@ -2257,22 +2531,10 @@ msgstr "Lokální jid: "
 msgid "Personal"
 msgstr "Osobní"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:11
-msgid ""
-"If the default port that is used for incoming messages is unfitting for your setup you can select another one here.\n"
-"You might consider to change possible firewall settings."
-msgstr ""
-"Pokud výchozí port použitý k přijímání zpráv nevyhovuje tvému nastavení, můžeš si zvolit jiný.\n"
-"Můžeš také zvážit změnu nastavení firewallu."
-
 #: ../data/glade/zeroconf_properties_window.glade.h:15
 msgid "Modify Account"
 msgstr "Upravit účet"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:21
-msgid "Use custom port:"
-msgstr "Použít vlastní port:"
-
 #. For i18n
 #: ../src/advanced.py:51
 msgid "Activated"
@@ -2302,303 +2564,505 @@ msgstr "Barva"
 msgid "Preference Name"
 msgstr "Název volby"
 
-#: ../src/advanced.py:71
-msgid "Value"
-msgstr "Hodnota"
+#: ../src/advanced.py:71
+msgid "Value"
+msgstr "Hodnota"
+
+#: ../src/advanced.py:79
+msgid "Type"
+msgstr "Typ"
+
+#. we talk about option description in advanced configuration editor
+#: ../src/advanced.py:136
+msgid "(None)"
+msgstr "(Žádný)"
+
+#. we talk about password
+#: ../src/advanced.py:239
+msgid "Hidden"
+msgstr "Skryté"
+
+#. the next script, executed in the "po" directory,
+#. generates the following list.
+#. #!/bin/sh
+#. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
+#. echo "{_('en'):'en'",$LANG"}"
+#: ../src/chat_control.py:54
+msgid "English"
+msgstr "Angličtina"
+
+#: ../src/chat_control.py:54
+msgid "Belarusian"
+msgstr "Běloruština"
+
+#: ../src/chat_control.py:54
+msgid "Bulgarian"
+msgstr "Bulharština"
+
+#: ../src/chat_control.py:54
+msgid "Breton"
+msgstr "Bretonština"
+
+#: ../src/chat_control.py:54
+msgid "Czech"
+msgstr "Čeština"
+
+#: ../src/chat_control.py:54
+msgid "German"
+msgstr "Němčina"
+
+#: ../src/chat_control.py:54
+msgid "Greek"
+msgstr "Řečtina"
+
+#: ../src/chat_control.py:54
+msgid "British"
+msgstr "Britština"
+
+#: ../src/chat_control.py:54
+msgid "Esperanto"
+msgstr "Esperanto"
+
+#: ../src/chat_control.py:54
+msgid "Spanish"
+msgstr "Španělština"
+
+#: ../src/chat_control.py:54
+msgid "Basque"
+msgstr "Baskičtina"
+
+#: ../src/chat_control.py:54
+msgid "French"
+msgstr "Francouzština"
+
+#: ../src/chat_control.py:54
+msgid "Croatian"
+msgstr "Chorvatština"
+
+#: ../src/chat_control.py:54
+msgid "Italian"
+msgstr "Italština"
+
+#: ../src/chat_control.py:54
+msgid "Norwegian (b)"
+msgstr "Norština (b)"
+
+#: ../src/chat_control.py:54
+msgid "Dutch"
+msgstr "Holandština"
+
+#: ../src/chat_control.py:54
+msgid "Norwegian"
+msgstr "Norština"
+
+#: ../src/chat_control.py:54
+msgid "Polish"
+msgstr "Polština"
+
+#: ../src/chat_control.py:54
+msgid "Portuguese"
+msgstr "Portugalština"
+
+#: ../src/chat_control.py:54
+msgid "Brazilian Portuguese"
+msgstr "Brazilská portugalština"
+
+#: ../src/chat_control.py:54
+msgid "Russian"
+msgstr "Ruština"
+
+#: ../src/chat_control.py:54
+#, fuzzy
+msgid "Serbian"
+msgstr "Němčina"
+
+#: ../src/chat_control.py:54
+msgid "Slovak"
+msgstr "Slovenština"
+
+#: ../src/chat_control.py:54
+msgid "Swedish"
+msgstr "Švédština"
+
+#: ../src/chat_control.py:54
+msgid "Chinese (Ch)"
+msgstr "Čínština"
+
+#: ../src/chat_control.py:282
+msgid "Spelling language"
+msgstr "Kontrola jazyka"
+
+#. we are not connected
+#: ../src/chat_control.py:305 ../src/chat_control.py:511
+msgid "A connection is not available"
+msgstr "Spojení není dostupné"
+
+#: ../src/chat_control.py:306 ../src/chat_control.py:512
+msgid "Your message can not be sent until you are connected."
+msgstr "Va¹e zpráva nemù¾e být odeslána dokud se nepøipojíte."
+
+#: ../src/chat_control.py:1132
+#, python-format
+msgid "%(nickname)s from group chat %(room_name)s"
+msgstr "%(nickname)s z diskuze %(room_name)s"
+
+#. we talk about a contact here
+#: ../src/chat_control.py:1220
+#, python-format
+msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
+msgstr "%s nerozesílá svůj OpenPGP klíč nebo nemá žádný přiřazen"
+
+#: ../src/chat_control.py:1259 ../src/groupchat_control.py:1394
+#, python-format
+msgid "No such command: /%s (if you want to send this, prefix it with /say)"
+msgstr "Neznámý příkaz: /%s (pokud to chcete odeslat, napište před to /say)"
+
+#: ../src/chat_control.py:1266 ../src/groupchat_control.py:1417
+#, python-format
+msgid "Commands: %s"
+msgstr "Příkazy: %s"
+
+#: ../src/chat_control.py:1269 ../src/groupchat_control.py:1431
+#, python-format
+msgid "Usage: /%s, clears the text window."
+msgstr "Použití: /%s, smaže zprávy v okně."
+
+#: ../src/chat_control.py:1272 ../src/groupchat_control.py:1436
+#, python-format
+msgid "Usage: /%s, hide the chat buttons."
+msgstr "Použití: /%s, skryje tlačítka rozhovoru."
+
+#: ../src/chat_control.py:1275 ../src/groupchat_control.py:1452
+#, python-format
+msgid ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+msgstr ""
+"Použití: /%s <akce>, pošle akci do aktuální místnosti. Použijte třetí osobu "
+"(například /%s explodoval.)"
+
+#: ../src/chat_control.py:1279
+#, python-format
+msgid "Usage: /%s, sends a ping to the contact"
+msgstr ""
+
+#: ../src/chat_control.py:1282
+#, fuzzy, python-format
+msgid "Usage: /%s, send the message to the contact"
+msgstr "Použití: /%s, skryje tlačítka rozhovoru."
+
+#: ../src/chat_control.py:1285 ../src/groupchat_control.py:1475
+#, python-format
+msgid "No help info for /%s"
+msgstr "Žádná další nápověda pro /%s"
+
+#: ../src/chat_control.py:1422
+msgid "Encryption enabled"
+msgstr "Šifrování zapnuto"
+
+#: ../src/chat_control.py:1427
+msgid "Encryption disabled"
+msgstr "Šifrování vypnuto"
 
-#: ../src/advanced.py:79
-msgid "Type"
-msgstr "Typ"
+#. add_to_roster_menuitem
+#: ../src/chat_control.py:1575 ../src/conversation_textview.py:559
+#: ../src/dialogs.py:673 ../src/gajim.py:887 ../src/gajim.py:888
+#: ../src/gajim.py:1357 ../src/roster_window.py:344
+#: ../src/roster_window.py:428 ../src/roster_window.py:1784
+#: ../src/roster_window.py:1794 ../src/roster_window.py:2039
+#: ../src/roster_window.py:2277 ../src/roster_window.py:3125
+#: ../src/roster_window.py:3332 ../src/roster_window.py:4682
+#: ../src/roster_window.py:4684 ../src/common/contacts.py:84
+#: ../src/common/helpers.py:44 ../src/common/helpers.py:258
+msgid "Not in Roster"
+msgstr "není v seznamu"
 
-#. we talk about option description in advanced configuration editor
-#: ../src/advanced.py:136
-msgid "(None)"
-msgstr "(Žádný)"
+#. %s is being replaced in the code with JID
+#: ../src/chat_control.py:1717
+#, python-format
+msgid "You just received a new message from \"%s\""
+msgstr "Právě jsi obdržela novou zprávu od \"%s\""
 
-#. we talk about password
-#: ../src/advanced.py:239
-msgid "Hidden"
-msgstr "Skryté"
+#: ../src/chat_control.py:1718
+msgid ""
+"If you close this tab and you have history disabled, this message will be "
+"lost."
+msgstr ""
+"Pokud zavřete toto okno a historie je vypnutá, tato zpráva bude ztracena."
 
-#: ../src/config.py:137
-#: ../src/config.py:586
+#: ../src/config.py:136 ../src/config.py:593
 msgid "Disabled"
 msgstr "Vypnuto"
 
-#: ../src/config.py:231
+#: ../src/config.py:228
 #, python-format
 msgid "Every %s _minutes"
 msgstr "Každých %s _minut"
 
-#: ../src/config.py:351
+#: ../src/config.py:348
 msgid "Active"
 msgstr "Aktivní"
 
-#: ../src/config.py:359
+#: ../src/config.py:356
 msgid "Event"
 msgstr "Událost"
 
-#: ../src/config.py:682
-#: ../src/gajim.py:2231
+#: ../src/config.py:710 ../src/dialogs.py:957
 #, python-format
 msgid "Dictionary for lang %s not available"
 msgstr "Slovník pro jazyk %s není dostupný"
 
-#: ../src/config.py:683
-#: ../src/gajim.py:2232
+#: ../src/config.py:711
 #, python-format
-msgid "You have to install %s dictionary to use spellchecking, or choose another language by setting the speller_language option."
-msgstr "Musíš nainstalovat %s slovník k použití kontroly pravopisu, nebo vybrat jiný jazyk nastavením volby speller_language."
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option."
+msgstr ""
+"Musíš nainstalovat %s slovník k použití kontroly pravopisu, nebo vybrat jiný "
+"jazyk nastavením volby speller_language."
 
-#: ../src/config.py:1000
+#: ../src/config.py:1034
 msgid "status message title"
 msgstr "titulek stavu"
 
-#: ../src/config.py:1000
+#: ../src/config.py:1034
 msgid "status message text"
 msgstr "text stavu"
 
-#: ../src/config.py:1036
+#: ../src/config.py:1070
 msgid "First Message Received"
 msgstr "První zpráva přijata"
 
-#: ../src/config.py:1037
+#: ../src/config.py:1071
 msgid "Next Message Received"
 msgstr "Další zpráva přijata"
 
-#: ../src/config.py:1038
+#: ../src/config.py:1072
 msgid "Contact Connected"
 msgstr "Kontakt se připojil"
 
-#: ../src/config.py:1039
+#: ../src/config.py:1073
 msgid "Contact Disconnected"
 msgstr "Kontakt se odpojil"
 
-#: ../src/config.py:1040
+#: ../src/config.py:1074
 msgid "Message Sent"
 msgstr "Zpráva odeslána"
 
-#: ../src/config.py:1041
+#: ../src/config.py:1075
 msgid "Group Chat Message Highlight"
 msgstr "Zvýraznění zprávy v diskuzi"
 
-#: ../src/config.py:1042
+#: ../src/config.py:1076
 msgid "Group Chat Message Received"
 msgstr "Přijetí zprávy v diskuzi"
 
-#: ../src/config.py:1049
+#: ../src/config.py:1083
 msgid "GMail Email Received"
 msgstr "Přišel GMail Email"
 
-#: ../src/config.py:1252
+#. Name column
+#: ../src/config.py:1352 ../src/dialogs.py:1396 ../src/dialogs.py:1460
+#: ../src/disco.py:737 ../src/disco.py:1560 ../src/disco.py:1806
+#: ../src/history_window.py:78
+msgid "Name"
+msgstr "Jméno"
+
+#: ../src/config.py:1460 ../src/common/config.py:373
+msgid "Be right back."
+msgstr "Hned jsem zpět."
+
+#: ../src/config.py:1464
+msgid "Relogin now?"
+msgstr "Připojit se teď znovu?"
+
+#: ../src/config.py:1465
+msgid "If you want all the changes to apply instantly, you must relogin."
+msgstr "Pokud chcete, aby se změny projevily ihned, musíte se znovu přihlásit."
+
+#: ../src/config.py:1560 ../src/config.py:1659
 msgid "OpenPGP is not usable in this computer"
 msgstr "OpenPGP není použitelné na tomto počítači"
 
-#: ../src/config.py:1298
+#: ../src/config.py:1695 ../src/config.py:1739
+msgid "Unread events"
+msgstr "Nepřečtené zprávy"
+
+#: ../src/config.py:1696
+msgid "Read all pending events before removing this account."
+msgstr "Přečtěte si všechny čekající zprávy, než smažete tento účet."
+
+#: ../src/config.py:1725
+#, python-format
+msgid "You have opened chat in account %s"
+msgstr "Otevřel(a) jsi rozhovor z účtu %s"
+
+#: ../src/config.py:1726
+msgid "All chat and groupchat windows will be closed. Do you want to continue?"
+msgstr ""
+"Všechna okna rozhovorů a diskuzí budou zavřena. Opravdu chceš pokračovat?"
+
+#: ../src/config.py:1735
 msgid "You are currently connected to the server"
 msgstr "Nejste přávě připojen(a) k serveru"
 
-#: ../src/config.py:1299
+#: ../src/config.py:1736
 msgid "To change the account name, you must be disconnected."
 msgstr "Ke změně jména účtu se musite odpojit."
 
-#: ../src/config.py:1302
-#: ../src/config.py:1901
-msgid "Unread events"
-msgstr "Nepřečtené zprávy"
-
-#: ../src/config.py:1303
+#: ../src/config.py:1740
 msgid "To change the account name, you must read all pending events."
 msgstr "Před změnou jména účtu si musíte přečíst všechny čekající zprávy."
 
-#: ../src/config.py:1307
+#: ../src/config.py:1746
 msgid "Account Name Already Used"
 msgstr "Jméno účtu už existuje"
 
-#: ../src/config.py:1308
-msgid "This name is already used by another of your accounts. Please choose another name."
+#: ../src/config.py:1747
+msgid ""
+"This name is already used by another of your accounts. Please choose another "
+"name."
 msgstr "Toto jméno je už použito pro jiný účet. Zvolte jiné, prosím."
 
-#: ../src/config.py:1312
-#: ../src/config.py:1316
+#: ../src/config.py:1751 ../src/config.py:1755
 msgid "Invalid account name"
 msgstr "Neplatné jméno účtu"
 
-#: ../src/config.py:1313
+#: ../src/config.py:1752
 msgid "Account name cannot be empty."
 msgstr "Jméno účtu nemůže být prázdné."
 
-#: ../src/config.py:1317
+#: ../src/config.py:1756
 msgid "Account name cannot contain spaces."
 msgstr "Jméno účtu nesmí obsahovat mezery."
 
-#: ../src/config.py:1325
-#: ../src/config.py:1331
-#: ../src/config.py:1341
-#: ../src/config.py:3004
+#: ../src/config.py:1820
+#, fuzzy
+msgid "Rename Account"
+msgstr "Spravuj účty"
+
+#: ../src/config.py:1821
+#, fuzzy, python-format
+msgid "Enter a new name for account %s"
+msgstr "Zadej nové jméno pro skupinu %s."
+
+#: ../src/config.py:1839 ../src/config.py:1847 ../src/config.py:1887
+#: ../src/config.py:3106
 msgid "Invalid Jabber ID"
 msgstr "Neplatné Jabber ID"
 
-#: ../src/config.py:1332
+#: ../src/config.py:1848
 msgid "A Jabber ID must be in the form \"user@servername\"."
 msgstr "Jabber ID musí být ve tvaru \"uživatel@jménoserveru\"."
 
-#: ../src/config.py:1391
+#: ../src/config.py:2033 ../src/config.py:3177
 msgid "Invalid entry"
 msgstr "Neplatný záznam"
 
-#: ../src/config.py:1392
+#: ../src/config.py:2034 ../src/config.py:3178
 msgid "Custom port must be a port number."
 msgstr "Vlastní port musí být číslo portu."
 
-#: ../src/config.py:1520
-#: ../src/common/config.py:366
-msgid "Be right back."
-msgstr "Hned jsem zpět."
+#: ../src/config.py:2055
+msgid "Failed to get secret keys"
+msgstr "Selhalo získání privátního klíče"
 
-#: ../src/config.py:1530
-msgid "Relogin now?"
-msgstr "Připojit se teď znovu?"
+#: ../src/config.py:2056
+msgid "There was a problem retrieving your OpenPGP secret keys."
+msgstr "Nastala chyba při získávání Vašich OpenPGP privátních klíčů."
 
-#: ../src/config.py:1531
-msgid "If you want all the changes to apply instantly, you must relogin."
-msgstr "Pokud chcete, aby se změny projevily ihned, musíte se znovu přihlásit."
+#: ../src/config.py:2059
+msgid "OpenPGP Key Selection"
+msgstr "Výběr OpenPGP klíče"
+
+#: ../src/config.py:2060
+msgid "Choose your OpenPGP key"
+msgstr "Vyberte Váš OpenPGP klíč"
 
-#: ../src/config.py:1557
+#: ../src/config.py:2117
 msgid "No such account available"
 msgstr "Takový účet není dostupný"
 
-#: ../src/config.py:1558
+#: ../src/config.py:2118
 msgid "You must create your account before editing your personal information."
 msgstr "Musíte vytvořit účet před úpravou vašich osobních údajů."
 
-#: ../src/config.py:1565
-#: ../src/dialogs.py:1130
-#: ../src/dialogs.py:1316
-#: ../src/disco.py:419
-#: ../src/profile_window.py:323
+#: ../src/config.py:2125 ../src/dialogs.py:1243 ../src/dialogs.py:1384
+#: ../src/dialogs.py:1564 ../src/disco.py:420 ../src/profile_window.py:325
 msgid "You are not connected to the server"
 msgstr "Nejste připojen(a) k serveru"
 
-#: ../src/config.py:1566
+#: ../src/config.py:2126
 msgid "Without a connection, you can not edit your personal information."
 msgstr "Bez připojení nemůžete upravovat osobní údaje."
 
-#: ../src/config.py:1570
+#: ../src/config.py:2130
 msgid "Your server doesn't support Vcard"
 msgstr "Váš server nepodporuje vizitky."
 
-#: ../src/config.py:1571
+#: ../src/config.py:2131
 msgid "Your server can't save your personal information."
 msgstr "Váš server neumí uložit Vaše osobní informace."
 
-#: ../src/config.py:1595
-#: ../src/config.py:3392
-msgid "Failed to get secret keys"
-msgstr "Selhalo získání privátního klíče"
-
-#: ../src/config.py:1596
-#: ../src/config.py:3393
-msgid "There was a problem retrieving your OpenPGP secret keys."
-msgstr "Nastala chyba při získávání Vašich OpenPGP privátních klíčů."
-
-#: ../src/config.py:1599
-#: ../src/config.py:3396
-msgid "OpenPGP Key Selection"
-msgstr "Výběr OpenPGP klíče"
-
-#: ../src/config.py:1600
-#: ../src/config.py:3397
-msgid "Choose your OpenPGP key"
-msgstr "Vyberte Váš OpenPGP klíč"
-
-#. Name column
-#: ../src/config.py:1835
-#: ../src/disco.py:740
-#: ../src/disco.py:1495
-#: ../src/disco.py:1733
-#: ../src/history_window.py:78
-msgid "Name"
-msgstr "Jméno"
-
-#: ../src/config.py:1838
-msgid "Server"
-msgstr "Server"
-
-#: ../src/config.py:1902
-msgid "Read all pending events before removing this account."
-msgstr "Přečtěte si všechny čekající zprávy, než smažete tento účet."
-
-#: ../src/config.py:1939
-#, python-format
-msgid "You have opened chat in account %s"
-msgstr "Otevřel(a) jsi rozhovor z účtu %s"
-
-#: ../src/config.py:1940
-msgid "All chat and groupchat windows will be closed. Do you want to continue?"
-msgstr "Všechna okna rozhovorů a diskuzí budou zavřena. Opravdu chceš pokračovat?"
-
-#: ../src/config.py:1999
+#: ../src/config.py:2162
 msgid "Account Local already exists."
 msgstr "Účet Local už existuje."
 
-#: ../src/config.py:2000
+#: ../src/config.py:2163
 msgid "Please rename or remove it before enabling link-local messaging."
 msgstr "Prosím přejmenujte nebo odstraňte před povolením lokálních zpráv."
 
-#: ../src/config.py:2234
+#: ../src/config.py:2339
 #, python-format
 msgid "Edit %s"
 msgstr "Uprav %s"
 
-#: ../src/config.py:2236
+#: ../src/config.py:2341
 #, python-format
 msgid "Register to %s"
 msgstr "Registrovat k %s"
 
 #. list at the beginning
-#: ../src/config.py:2302
+#: ../src/config.py:2377
 msgid "Ban List"
 msgstr "Ban List"
 
-#: ../src/config.py:2303
+#: ../src/config.py:2378
 msgid "Member List"
 msgstr "Seznam členů"
 
-#: ../src/config.py:2304
+#: ../src/config.py:2379
 msgid "Owner List"
 msgstr "Seznam vlastníků"
 
-#: ../src/config.py:2305
+#: ../src/config.py:2380
 msgid "Administrator List"
 msgstr "Seznam správců"
 
 #. Address column
 #. holds JID (who said this)
-#: ../src/config.py:2338
-#: ../src/disco.py:747
-#: ../src/history_manager.py:155
+#: ../src/config.py:2429 ../src/disco.py:744 ../src/history_manager.py:155
 msgid "JID"
 msgstr "JID"
 
-#: ../src/config.py:2346
+#: ../src/config.py:2437
 msgid "Reason"
 msgstr "Důvod"
 
-#: ../src/config.py:2351
+#: ../src/config.py:2442
 msgid "Nick"
 msgstr "Přezdívka"
 
-#: ../src/config.py:2355
+#: ../src/config.py:2446
 msgid "Role"
 msgstr "Postavení"
 
-#: ../src/config.py:2376
+#: ../src/config.py:2471
 msgid "Banning..."
 msgstr "Zakazuji..."
 
 #. You can move '\n' before user@domain if that line is TOO BIG
-#: ../src/config.py:2378
+#: ../src/config.py:2473
 msgid ""
 "<b>Whom do you want to ban?</b>\n"
 "\n"
@@ -2606,37 +3070,37 @@ msgstr ""
 "<b>Koho chcete zakázat?</b>\n"
 "\n"
 
-#: ../src/config.py:2380
+#: ../src/config.py:2475
 msgid "Adding Member..."
 msgstr "Přidávám člena..."
 
-#: ../src/config.py:2381
+#: ../src/config.py:2476
 msgid ""
 "<b>Whom do you want to make a member?</b>\n"
 "\n"
 msgstr "<b>Kdo se má stát členem?</b>\n"
 
-#: ../src/config.py:2383
+#: ../src/config.py:2478
 msgid "Adding Owner..."
 msgstr "Přidávám vlastníka..."
 
-#: ../src/config.py:2384
+#: ../src/config.py:2479
 msgid ""
 "<b>Whom do you want to make an owner?</b>\n"
 "\n"
 msgstr "<b>Kdo se má stát vlastníkem?</b>\n"
 
-#: ../src/config.py:2386
+#: ../src/config.py:2481
 msgid "Adding Administrator..."
 msgstr "Přidávám správce..."
 
-#: ../src/config.py:2387
+#: ../src/config.py:2482
 msgid ""
 "<b>Whom do you want to make an administrator?</b>\n"
 "\n"
 msgstr "<b>Kdo se má stát správcem?</b>\n"
 
-#: ../src/config.py:2388
+#: ../src/config.py:2483
 msgid ""
 "Can be one of the following:\n"
 "1. user@domain/resource (only that resource matches).\n"
@@ -2649,779 +3113,777 @@ msgstr ""
 "1. uživatel@doména/zdroj (pouze zdroji, který je uveden).\n"
 "2. uživatel@doména (kterýkoliv zdroj odpovídá).\n"
 "3. doména/zdroj (pouze zdroji, který je uveden).\n"
-"4. doména (doména samotná odpovídá, stejně jako kterýkoliv uživatel@doména),\n"
+"4. doména (doména samotná odpovídá, stejně jako kterýkoliv "
+"uživatel@doména),\n"
 "doména/zdroj, nebo adresa obsahující poddoménu."
 
-#: ../src/config.py:2493
+#: ../src/config.py:2587
 #, python-format
 msgid "Removing %s account"
 msgstr "Odstraňuju účet %s"
 
-#: ../src/config.py:2510
-#: ../src/roster_window.py:2734
+#: ../src/config.py:2604 ../src/gajim.py:1300 ../src/roster_window.py:3391
 msgid "Password Required"
 msgstr "Vyžadováno heslo"
 
-#: ../src/config.py:2511
-#: ../src/roster_window.py:2730
+#: ../src/config.py:2605 ../src/roster_window.py:3387
 #, python-format
 msgid "Enter your password for account %s"
 msgstr "Zadejte heslo pro účet %s"
 
-#: ../src/config.py:2512
-#: ../src/roster_window.py:2735
+#: ../src/config.py:2606 ../src/roster_window.py:3392
 msgid "Save password"
 msgstr "Uložit heslo"
 
-#: ../src/config.py:2526
+#: ../src/config.py:2620
 #, python-format
 msgid "Account \"%s\" is connected to the server"
 msgstr "Účet \"%s\" se připojil k serveru"
 
-#: ../src/config.py:2527
+#: ../src/config.py:2621
 msgid "If you remove it, the connection will be lost."
 msgstr "Pokud jej smažete, připojení bude ztraceno."
 
-#: ../src/config.py:2612
+#: ../src/config.py:2714
 msgid "Default"
 msgstr "Výchozí"
 
-#: ../src/config.py:2612
+#: ../src/config.py:2714
 msgid "?print_status:All"
 msgstr "?print_status:VÅ¡echny"
 
-#: ../src/config.py:2613
+#: ../src/config.py:2715
 msgid "Enter and leave only"
 msgstr ""
 
-#: ../src/config.py:2614
+#: ../src/config.py:2716
 msgid "?print_status:None"
 msgstr "?print_status:Žádný"
 
-#: ../src/config.py:2682
+#: ../src/config.py:2785
 msgid "New Group Chat"
 msgstr "Nová diskuze"
 
-#: ../src/config.py:2715
+#: ../src/config.py:2818
 msgid "This bookmark has invalid data"
 msgstr "Tato záložka má neplatná data"
 
-#: ../src/config.py:2716
-msgid "Please be sure to fill out server and room fields or remove this bookmark."
-msgstr "Prosím nezapomeňte vyplnit políčka server a místnost, nebo smažte tuto záložku."
+#: ../src/config.py:2819
+msgid ""
+"Please be sure to fill out server and room fields or remove this bookmark."
+msgstr ""
+"Prosím nezapomeňte vyplnit políčka server a místnost, nebo smažte tuto "
+"záložku."
 
-#: ../src/config.py:2979
+#: ../src/config.py:3089
 msgid "Invalid username"
 msgstr "Neplatné uživatelské jméno"
 
-#: ../src/config.py:2980
+#: ../src/config.py:3091
 msgid "You must provide a username to configure this account."
 msgstr "Musíte zadat uživatelské jméno před nastavením tohoto účtu."
 
-#: ../src/config.py:2990
-#: ../src/dialogs.py:1335
-msgid "Invalid password"
-msgstr "Neplatné heslo"
-
-#: ../src/config.py:2991
-msgid "You must enter a password for the new account."
-msgstr "Musíte zadat heslo pro nový účet."
-
-#: ../src/config.py:2995
-#: ../src/dialogs.py:1340
-msgid "Passwords do not match"
-msgstr "Hesla se neshodují"
-
-#: ../src/config.py:2996
-#: ../src/dialogs.py:1341
-msgid "The passwords typed in both fields must be identical."
-msgstr "Hesla zadaná v obou políčkách musí být identická."
-
-#: ../src/config.py:3015
+#: ../src/config.py:3117
 msgid "Duplicate Jabber ID"
 msgstr "Dvakrát použité Jabber ID"
 
-#: ../src/config.py:3016
+#: ../src/config.py:3118
 msgid "This account is already configured in Gajim."
 msgstr "Tento účet už je nastaven v Gajimu."
 
-#: ../src/config.py:3033
+#: ../src/config.py:3135
 msgid "Account has been added successfully"
 msgstr "Účet byl úspěšně přidán"
 
-#: ../src/config.py:3034
-#: ../src/config.py:3069
-msgid "You can set advanced account options by pressing the Advanced button, or later by choosing the Accounts menuitem under the Edit menu from the main window."
-msgstr "Můžete nastavit rozšířené volby účtu po stisknutí tlačítka Rozšířené, nebo později stisknutím v položce menu Účty v nabídce Úpravy hlavního okna."
+#: ../src/config.py:3136 ../src/config.py:3281
+msgid ""
+"You can set advanced account options by pressing the Advanced button, or "
+"later by choosing the Accounts menuitem under the Edit menu from the main "
+"window."
+msgstr ""
+"Můžete nastavit rozšířené volby účtu po stisknutí tlačítka Rozšířené, nebo "
+"později stisknutím v položce menu Účty v nabídce Úpravy hlavního okna."
 
-#: ../src/config.py:3068
-msgid "Your new account has been created successfully"
-msgstr "Váš účet byl úspěšně vytvořen"
+#: ../src/config.py:3153
+#, fuzzy
+msgid "Invalid server"
+msgstr "Neplatné uživatelské jméno"
 
-#: ../src/config.py:3086
+#: ../src/config.py:3154
+#, fuzzy
+msgid "Please provide a server on which you want to register."
+msgstr "Prosím zadejte novou přezdívku, kterou chcete používat:"
+
+#: ../src/config.py:3260 ../src/config.py:3299
 msgid "An error occurred during account creation"
 msgstr "Nastala chyba při vytváření účtu"
 
-#: ../src/config.py:3144
+#: ../src/config.py:3280
+msgid "Your new account has been created successfully"
+msgstr "Váš účet byl úspěšně vytvořen"
+
+#: ../src/config.py:3385
 msgid "Account name is in use"
 msgstr "Jméno účtu se používá"
 
-#: ../src/config.py:3145
+#: ../src/config.py:3386
 msgid "You already have an account using this name."
 msgstr "Již máte účet s tímto jménem."
 
-#: ../src/conversation_textview.py:273
-msgid "Text below this line is what has been said since the last time you paid attention to this group chat"
-msgstr "Text pod touto čarou označuje to, co bylo řečeno po posledním čtení této diskuze"
+#: ../src/conversation_textview.py:334
+msgid ""
+"Text below this line is what has been said since the last time you paid "
+"attention to this group chat"
+msgstr ""
+"Text pod touto čarou označuje to, co bylo řečeno po posledním čtení této "
+"diskuze"
 
-#: ../src/conversation_textview.py:342
+#: ../src/conversation_textview.py:406
 #, python-format
 msgid "_Actions for \"%s\""
 msgstr "_Akce pro \"%s\""
 
-#: ../src/conversation_textview.py:354
+#: ../src/conversation_textview.py:418
 msgid "Read _Wikipedia Article"
 msgstr "Číst článkek na _Wikipedia"
 
-#: ../src/conversation_textview.py:359
+#: ../src/conversation_textview.py:423
 msgid "Look it up in _Dictionary"
 msgstr "Vyhledat ve _slovníku"
 
 #. we must have %s in the url if not WIKTIONARY
-#: ../src/conversation_textview.py:375
+#: ../src/conversation_textview.py:439
 #, python-format
 msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
 msgstr "URL slovníku chybí \"%s\" a není to WIKTIONARY"
 
 #. we must have %s in the url
-#: ../src/conversation_textview.py:388
+#: ../src/conversation_textview.py:452
 #, python-format
 msgid "Web Search URL is missing an \"%s\""
 msgstr "URL pro hledání na webu chybí \"%s\""
 
-#: ../src/conversation_textview.py:391
+#: ../src/conversation_textview.py:455
 msgid "Web _Search for it"
 msgstr "_Hledat na Webu"
 
-#: ../src/conversation_textview.py:397
+#: ../src/conversation_textview.py:461
 msgid "Open as _Link"
 msgstr "Otevřít jako _Odkaz"
 
-#. add_to_roster_menuitem
-#: ../src/conversation_textview.py:495
-#: ../src/dialogs.py:629
-#: ../src/gajim.py:850
-#: ../src/gajim.py:851
-#: ../src/gajim.py:1195
-#: ../src/chat_control.py:1412
-#: ../src/roster_window.py:332
-#: ../src/roster_window.py:410
-#: ../src/roster_window.py:1497
-#: ../src/roster_window.py:1507
-#: ../src/roster_window.py:1683
-#: ../src/roster_window.py:1889
-#: ../src/roster_window.py:2474
-#: ../src/roster_window.py:2675
-#: ../src/roster_window.py:3906
-#: ../src/roster_window.py:3908
-#: ../src/common/contacts.py:73
-#: ../src/common/helpers.py:43
-#: ../src/common/helpers.py:255
-msgid "Not in Roster"
-msgstr "není v seznamu"
-
-#: ../src/conversation_textview.py:754
+#: ../src/conversation_textview.py:925
 msgid "Yesterday"
 msgstr "Včera"
 
 #. the number is >= 2
 #. %i is day in year (1-365), %d (1-31) we want %i
-#: ../src/conversation_textview.py:758
+#: ../src/conversation_textview.py:929
 #, python-format
 msgid "%i days ago"
 msgstr "před %i dny"
 
 #. if we have subject, show it too!
-#: ../src/conversation_textview.py:792
+#: ../src/conversation_textview.py:963
 #, python-format
 msgid "Subject: %s\n"
 msgstr "Předmět: %s\n"
 
-#: ../src/dialogs.py:59
+#: ../src/dialogs.py:63
 #, python-format
 msgid "Contact name: <i>%s</i>"
 msgstr "Jméno kontaktu: <i>%s</i>"
 
-#: ../src/dialogs.py:61
+#: ../src/dialogs.py:65
 #, python-format
 msgid "Jabber ID: <i>%s</i>"
 msgstr "Jabber ID: <i>%s</i>"
 
-#: ../src/dialogs.py:211
+#: ../src/dialogs.py:215
 msgid "Group"
 msgstr "Skupina"
 
-#: ../src/dialogs.py:218
+#: ../src/dialogs.py:222
 msgid "In the group"
 msgstr "Ve skupinÄ›"
 
-#: ../src/dialogs.py:269
+#: ../src/dialogs.py:273
 msgid "KeyID"
 msgstr "ID klíče"
 
-#: ../src/dialogs.py:272
+#: ../src/dialogs.py:276
 msgid "Contact name"
 msgstr "Jméno kontaktu"
 
-#: ../src/dialogs.py:318
+#: ../src/dialogs.py:322
 #, python-format
 msgid "%s Status Message"
 msgstr "Text stavu %s"
 
-#: ../src/dialogs.py:320
+#: ../src/dialogs.py:324
 msgid "Status Message"
 msgstr "Text stavu"
 
-#: ../src/dialogs.py:395
+#: ../src/dialogs.py:424
 msgid "Save as Preset Status Message"
 msgstr "Uložit jako přednastavený stav"
 
-#: ../src/dialogs.py:396
+#: ../src/dialogs.py:425
 msgid "Please type a name for this status message"
 msgstr "Napište jméno pro tento stav"
 
-#: ../src/dialogs.py:417
+#: ../src/dialogs.py:436
+#, fuzzy
+msgid "Overwrite Status Message?"
+msgstr "Text stavu"
+
+#: ../src/dialogs.py:437
+#, fuzzy
+msgid ""
+"This name is already used. Do you want to overwrite this status message?"
+msgstr "Toto jméno je už použito pro jiný účet. Zvolte jiné, prosím."
+
+#: ../src/dialogs.py:453
 msgid "AIM Address:"
 msgstr "AIM adresa:"
 
-#: ../src/dialogs.py:418
+#: ../src/dialogs.py:454
 msgid "GG Number:"
 msgstr "GG číslo: "
 
-#: ../src/dialogs.py:419
+#: ../src/dialogs.py:455
 msgid "ICQ Number:"
 msgstr "ICQ číslo: "
 
-#: ../src/dialogs.py:420
+#: ../src/dialogs.py:456
 msgid "MSN Address:"
 msgstr "MSN adresa:"
 
-#: ../src/dialogs.py:421
+#: ../src/dialogs.py:457
 msgid "Yahoo! Address:"
 msgstr "Yahoo! adresa:"
 
-#: ../src/dialogs.py:457
+#: ../src/dialogs.py:493
 #, python-format
 msgid "Please fill in the data of the contact you want to add in account %s"
 msgstr "Prosím vyplňte údaje kontaktu, který chcete přidat do účtu %s"
 
-#: ../src/dialogs.py:459
+#: ../src/dialogs.py:495
 msgid "Please fill in the data of the contact you want to add"
 msgstr "Prosím vyplňte údaje o kontaktu, který chcete přidat"
 
-#: ../src/dialogs.py:609
-#: ../src/dialogs.py:615
+#: ../src/dialogs.py:653 ../src/dialogs.py:659
 msgid "Invalid User ID"
 msgstr "Neplatný identifikátor uživatele"
 
-#: ../src/dialogs.py:616
+#: ../src/dialogs.py:660
 msgid "The user ID must not contain a resource."
 msgstr "User ID nesmí obsahovat zdroj."
 
-#: ../src/dialogs.py:630
+#: ../src/dialogs.py:674
 msgid "Contact already in roster"
 msgstr "Kontakt už je v Seznamu"
 
-#: ../src/dialogs.py:631
+#: ../src/dialogs.py:675
 msgid "This contact is already listed in your roster."
 msgstr "Tento kontakt už je obsažen ve Vašem seznamu."
 
-#: ../src/dialogs.py:668
+#: ../src/dialogs.py:711
 msgid "User ID:"
 msgstr "Uživatel:"
 
-#: ../src/dialogs.py:731
+#: ../src/dialogs.py:773
 msgid "A GTK+ jabber client"
 msgstr "GTK+ Jabber client"
 
-#: ../src/dialogs.py:732
+#: ../src/dialogs.py:774
 msgid "GTK+ Version:"
 msgstr "GTK+ verze: "
 
-#: ../src/dialogs.py:733
+#: ../src/dialogs.py:775
 msgid "PyGTK Version:"
 msgstr "PyGTK verze: "
 
-#: ../src/dialogs.py:747
+#: ../src/dialogs.py:789
 msgid "Current Developers:"
 msgstr "Aktivní vývojáři:"
 
-#: ../src/dialogs.py:749
+#: ../src/dialogs.py:791
 msgid "Past Developers:"
 msgstr "Vysloužilí vývojáři:"
 
-#: ../src/dialogs.py:759
+#: ../src/dialogs.py:801
 msgid "THANKS:"
 msgstr "DÍKY:"
 
 #. remove one english sentence
 #. and add it manually as translatable
-#: ../src/dialogs.py:765
+#: ../src/dialogs.py:807
 msgid "Last but not least, we would like to thank all the package maintainers."
-msgstr "Poslední, nikoliv nejmenší, poděkování patří všem správcům instalačních balíčků."
+msgstr ""
+"Poslední, nikoliv nejmenší, poděkování patří všem správcům instalačních "
+"balíčků."
 
 #. here you write your name in the form Name FamilyName <someone@somewhere>
-#: ../src/dialogs.py:778
+#: ../src/dialogs.py:820
 msgid "translator-credits"
 msgstr "Petr Menšík <pihhan@seznam.cz>"
 
-#: ../src/dialogs.py:908
+#: ../src/dialogs.py:950
 #, python-format
 msgid "Unable to bind to port %s."
 msgstr "Nemohu naslouchat na portu %s."
 
-#: ../src/dialogs.py:909
-msgid "Maybe you have another running instance of Gajim. File Transfer will be cancelled."
+#: ../src/dialogs.py:951
+msgid ""
+"Maybe you have another running instance of Gajim. File Transfer will be "
+"cancelled."
 msgstr "Možná máš puštěnou jinou instanci Gajimu. Přenos souborů bude zrušen."
 
-#: ../src/dialogs.py:1060
+#: ../src/dialogs.py:958
+#, fuzzy, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option.\n"
+"\n"
+"Highlighting misspelled words feature will not be used"
+msgstr ""
+"Musíš nainstalovat %s slovník k použití kontroly pravopisu, nebo vybrat jiný "
+"jazyk nastavením volby speller_language."
+
+#: ../src/dialogs.py:1172
 #, python-format
 msgid "Subscription request for account %s from %s"
 msgstr "Žádost o autorizaci pro účet %s od %s"
 
-#: ../src/dialogs.py:1063
+#: ../src/dialogs.py:1175
 #, python-format
 msgid "Subscription request from %s"
 msgstr "Žádost o autorizaci od %s"
 
-#: ../src/dialogs.py:1123
-#: ../src/roster_window.py:686
+#: ../src/dialogs.py:1236 ../src/roster_window.py:762
 #, python-format
 msgid "You are already in group chat %s"
 msgstr "Už jsi v místnosti %s"
 
-#: ../src/dialogs.py:1131
+#: ../src/dialogs.py:1244
 msgid "You can not join a group chat unless you are connected."
 msgstr "Nemůžete vstoupit do diskuze pokud nejste připojen(a)."
 
-#: ../src/dialogs.py:1146
+#: ../src/dialogs.py:1262
 #, python-format
 msgid "Join Group Chat with account %s"
 msgstr "Vstoupit do diskuze z účtu %s"
 
-#: ../src/dialogs.py:1214
-#: ../src/dialogs.py:1220
+#: ../src/dialogs.py:1332 ../src/dialogs.py:1338
+#: ../src/groupchat_control.py:1639
 msgid "Invalid group chat Jabber ID"
 msgstr "Neplatné Jabber ID diskuzní místnosti"
 
-#: ../src/dialogs.py:1215
-#: ../src/dialogs.py:1221
+#: ../src/dialogs.py:1333 ../src/dialogs.py:1339
+#: ../src/groupchat_control.py:1640
 msgid "The group chat Jabber ID has not allowed characters."
 msgstr "Jabber ID diskuze obsahuje nepřijatelné znaky."
 
-#: ../src/dialogs.py:1227
+#: ../src/dialogs.py:1345
 msgid "This is not a group chat"
 msgstr "Tohle není diskuze"
 
-#: ../src/dialogs.py:1228
+#: ../src/dialogs.py:1346
 #, python-format
 msgid "%s is not the name of a group chat."
 msgstr "%s není jméno diskuze."
 
-#: ../src/dialogs.py:1267
+#: ../src/dialogs.py:1385
+#, fuzzy
+msgid "Without a connection, you can not synchronise your contacts."
+msgstr "Nemůžete měnit heslo, pokud nejste připojen(a)."
+
+#: ../src/dialogs.py:1399
+msgid "Server"
+msgstr "Server"
+
+#: ../src/dialogs.py:1432
+#, fuzzy
+msgid "This account is not connected to the server"
+msgstr "Účet \"%s\" se připojil k serveru"
+
+#: ../src/dialogs.py:1433
+#, fuzzy
+msgid "You cannot synchronize with an account unless it is connected."
+msgstr "Nemůžete vstoupit do diskuze pokud nejste připojen(a)."
+
+#: ../src/dialogs.py:1457
+msgid "Synchronise"
+msgstr ""
+
+#: ../src/dialogs.py:1515
 #, python-format
 msgid "Start Chat with account %s"
 msgstr "Začít rozhovor z účtu %s"
 
-#: ../src/dialogs.py:1269
+#: ../src/dialogs.py:1517
 msgid "Start Chat"
 msgstr "Začít rozhovor"
 
-#: ../src/dialogs.py:1270
+#: ../src/dialogs.py:1518
 msgid ""
 "Fill in the nickname or the Jabber ID of the contact you would like\n"
 "to send a chat message to:"
-msgstr "Vyplňte Jabber ID nebo přezdívku kontaktu, se kterým chcete začít rozhovor:"
+msgstr ""
+"Vyplňte Jabber ID nebo přezdívku kontaktu, se kterým chcete začít rozhovor:"
 
 #. if offline or connecting
-#: ../src/dialogs.py:1295
-#: ../src/dialogs.py:1654
-#: ../src/dialogs.py:1785
+#: ../src/dialogs.py:1543 ../src/dialogs.py:1889 ../src/dialogs.py:2020
 msgid "Connection not available"
 msgstr "Spojení není dostupné"
 
-#: ../src/dialogs.py:1296
-#: ../src/dialogs.py:1655
-#: ../src/dialogs.py:1786
+#: ../src/dialogs.py:1544 ../src/dialogs.py:1890 ../src/dialogs.py:2021
 #, python-format
 msgid "Please make sure you are connected with \"%s\"."
 msgstr "Prosím ujistěte se že jste připojen s účtem \"%s\"."
 
-#: ../src/dialogs.py:1305
-#: ../src/dialogs.py:1308
+#: ../src/dialogs.py:1553 ../src/dialogs.py:1556
 msgid "Invalid JID"
 msgstr "Neplatné JID"
 
-#: ../src/dialogs.py:1308
+#: ../src/dialogs.py:1556
 #, python-format
 msgid "Unable to parse \"%s\"."
 msgstr "Nemůžu dekódovat \"%s\"."
 
-#: ../src/dialogs.py:1317
+#: ../src/dialogs.py:1565
 msgid "Without a connection, you can not change your password."
 msgstr "Nemůžete měnit heslo, pokud nejste připojen(a)."
 
-#: ../src/dialogs.py:1336
+#: ../src/dialogs.py:1583
+msgid "Invalid password"
+msgstr "Neplatné heslo"
+
+#: ../src/dialogs.py:1584
 msgid "You must enter a password."
 msgstr "Musíte zadat heslo."
 
+#: ../src/dialogs.py:1588
+msgid "Passwords do not match"
+msgstr "Hesla se neshodují"
+
+#: ../src/dialogs.py:1589
+msgid "The passwords typed in both fields must be identical."
+msgstr "Hesla zadaná v obou políčkách musí být identická."
+
 #. img to display
 #. default value
-#: ../src/dialogs.py:1383
-#: ../src/notify.py:212
-#: ../src/notify.py:416
+#: ../src/dialogs.py:1631 ../src/notify.py:218 ../src/notify.py:428
 msgid "Contact Signed In"
 msgstr "Kontakt se přihlásil"
 
-#: ../src/dialogs.py:1385
-#: ../src/notify.py:220
-#: ../src/notify.py:418
+#: ../src/dialogs.py:1633 ../src/notify.py:226 ../src/notify.py:430
 msgid "Contact Signed Out"
 msgstr "Kontakt se odhlásil"
 
 #. chat message
-#: ../src/dialogs.py:1387
-#: ../src/notify.py:239
-#: ../src/notify.py:420
+#: ../src/dialogs.py:1635 ../src/notify.py:249 ../src/notify.py:432
 msgid "New Message"
 msgstr "Nová zpráva"
 
 #. single message
-#: ../src/dialogs.py:1387
-#: ../src/notify.py:224
-#: ../src/notify.py:420
+#: ../src/dialogs.py:1635 ../src/notify.py:230 ../src/notify.py:432
 msgid "New Single Message"
 msgstr "Nová jednoduché zpráva"
 
 #. private message
-#: ../src/dialogs.py:1388
-#: ../src/notify.py:231
-#: ../src/notify.py:421
+#: ../src/dialogs.py:1636 ../src/notify.py:237 ../src/notify.py:433
 msgid "New Private Message"
 msgstr "Nová soukromá zpráva"
 
-#: ../src/dialogs.py:1388
-#: ../src/gajim.py:1290
-#: ../src/notify.py:429
+#: ../src/dialogs.py:1636 ../src/gajim.py:1453 ../src/notify.py:441
 msgid "New E-mail"
 msgstr "Nový E-mail"
 
-#: ../src/dialogs.py:1390
-#: ../src/gajim.py:1443
-#: ../src/notify.py:423
+#: ../src/dialogs.py:1638 ../src/gajim.py:1606 ../src/notify.py:435
 msgid "File Transfer Request"
 msgstr "Žádost o přenos souboru"
 
-#: ../src/dialogs.py:1392
-#: ../src/gajim.py:1262
-#: ../src/gajim.py:1419
-#: ../src/notify.py:425
+#: ../src/dialogs.py:1640 ../src/gajim.py:1425 ../src/gajim.py:1582
+#: ../src/notify.py:437
 msgid "File Transfer Error"
 msgstr "Chyba přenosu souboru"
 
-#: ../src/dialogs.py:1394
-#: ../src/gajim.py:1482
-#: ../src/gajim.py:1504
-#: ../src/gajim.py:1521
-#: ../src/notify.py:427
+#: ../src/dialogs.py:1642 ../src/gajim.py:1645 ../src/gajim.py:1667
+#: ../src/gajim.py:1684 ../src/notify.py:439
 msgid "File Transfer Completed"
 msgstr "Přenos souboru dokončen"
 
-#: ../src/dialogs.py:1395
-#: ../src/gajim.py:1485
-#: ../src/notify.py:427
+#: ../src/dialogs.py:1643 ../src/gajim.py:1648 ../src/notify.py:439
 msgid "File Transfer Stopped"
 msgstr "Přenos souboru zastaven"
 
-#: ../src/dialogs.py:1397
-#: ../src/gajim.py:1159
-#: ../src/notify.py:431
+#: ../src/dialogs.py:1645 ../src/gajim.py:1321 ../src/notify.py:443
 msgid "Groupchat Invitation"
 msgstr "Skupinová pozvánka"
 
-#: ../src/dialogs.py:1399
-#: ../src/notify.py:204
-#: ../src/notify.py:433
+#: ../src/dialogs.py:1647 ../src/notify.py:210 ../src/notify.py:445
 msgid "Contact Changed Status"
 msgstr "Kontakt změnil stav"
 
-#: ../src/dialogs.py:1516
-#: ../src/chat_control.py:208
-msgid ""
-"If that is not your language for which you want to highlight misspelled words, then please set your $LANG as appropriate. Eg. for French do export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to make it global in /etc/profile.\n"
-"\n"
-"Highlighting misspelled words feature will not be used"
-msgstr ""
-"Pokud to není Váš jazyk, pro který chcete zvýrazňovat slova s překlepy, potom prosím nastavte proměnnou $LANG na správnou. Například. pro Češtinu spusťte export LANG=cs_CZ nebo export LANG=cs_CZ zapište do ~/.bash_profile nebo pro nastavení globálně do /etc/profile.\n"
-"\n"
-"Vlastnost zvýrazňování překlepů nebude použita"
-
-#: ../src/dialogs.py:1584
+#: ../src/dialogs.py:1819
 #, python-format
 msgid "Single Message using account %s"
 msgstr "Jednoduchá zpráva z účtu %s"
 
-#: ../src/dialogs.py:1586
+#: ../src/dialogs.py:1821
 #, python-format
 msgid "Single Message in account %s"
 msgstr "Jednoduchá zpráva z účtu %s"
 
-#: ../src/dialogs.py:1588
+#: ../src/dialogs.py:1823
 msgid "Single Message"
 msgstr "Jednoduchá zpráva"
 
 #. prepare UI for Sending
-#: ../src/dialogs.py:1591
+#: ../src/dialogs.py:1826
 #, python-format
 msgid "Send %s"
 msgstr "Odeslat %s"
 
 #. prepare UI for Receiving
-#: ../src/dialogs.py:1614
+#: ../src/dialogs.py:1849
 #, python-format
 msgid "Received %s"
 msgstr "Přijaté %s"
 
 #. we create a new blank window to send and we preset RE: and to jid
-#: ../src/dialogs.py:1686
+#: ../src/dialogs.py:1921
 #, python-format
 msgid "RE: %s"
 msgstr "RE: %s"
 
-#: ../src/dialogs.py:1687
+#: ../src/dialogs.py:1922
 #, python-format
 msgid "%s wrote:\n"
 msgstr "%s napsal(a):\n"
 
-#: ../src/dialogs.py:1731
+#: ../src/dialogs.py:1966
 #, python-format
 msgid "XML Console for %s"
 msgstr "XML Konzole pro %s"
 
-#: ../src/dialogs.py:1733
+#: ../src/dialogs.py:1968
 msgid "XML Console"
 msgstr "XML Konzole"
 
-#: ../src/dialogs.py:1856
+#: ../src/dialogs.py:2091
 #, python-format
 msgid "Privacy List <b><i>%s</i></b>"
 msgstr ""
 
-#: ../src/dialogs.py:1860
+#: ../src/dialogs.py:2095
 #, python-format
 msgid "Privacy List for %s"
 msgstr ""
 
-#: ../src/dialogs.py:1908
+#: ../src/dialogs.py:2152
 #, python-format
 msgid "Order: %s, action: %s, type: %s, value: %s"
 msgstr "Pořadí: %s, akce: %s, typ: %s, hodnota: %s"
 
-#: ../src/dialogs.py:1911
+#: ../src/dialogs.py:2155
 #, python-format
 msgid "Order: %s, action: %s"
 msgstr "Pořadí: %s, akce: %s"
 
-#: ../src/dialogs.py:1953
+#: ../src/dialogs.py:2197
 msgid "<b>Edit a rule</b>"
 msgstr "<b>Upravit pravidlo</b>"
 
-#: ../src/dialogs.py:2040
+#: ../src/dialogs.py:2284
 msgid "<b>Add a rule</b>"
 msgstr "<b>Přidat pravidlo</b>"
 
-#: ../src/dialogs.py:2136
+#: ../src/dialogs.py:2380
 #, python-format
 msgid "Privacy Lists for %s"
 msgstr ""
 
-#: ../src/dialogs.py:2138
+#: ../src/dialogs.py:2382
 msgid "Privacy Lists"
 msgstr ""
 
-#: ../src/dialogs.py:2208
+#: ../src/dialogs.py:2452
 msgid "Invalid List Name"
 msgstr "Neplatné jméno seznamu"
 
-#: ../src/dialogs.py:2209
+#: ../src/dialogs.py:2453
 msgid "You must enter a name to create a privacy list."
 msgstr "Musíte zadat jméno pro vytvoření privacy listu."
 
-#. Don't translate $Contact
-#: ../src/dialogs.py:2243
+#: ../src/dialogs.py:2490
+#, fuzzy
+msgid "$Contact has invited you to join a discussion"
+msgstr "$Contact Vás pozval(a) do místnosti %(room_jid)s"
+
+#: ../src/dialogs.py:2492
 #, python-format
 msgid "$Contact has invited you to group chat %(room_jid)s"
 msgstr "$Contact Vás pozval(a) do místnosti %(room_jid)s"
 
 #. only if not None and not ''
-#: ../src/dialogs.py:2255
+#: ../src/dialogs.py:2504
 #, python-format
 msgid "Comment: %s"
 msgstr "Komentář: %s"
 
-#: ../src/dialogs.py:2317
+#: ../src/dialogs.py:2570
 msgid "Choose Sound"
 msgstr "Vyberte zvuk"
 
-#: ../src/dialogs.py:2327
-#: ../src/dialogs.py:2372
+#: ../src/dialogs.py:2580 ../src/dialogs.py:2628
 msgid "All files"
 msgstr "VÅ¡echny soubory"
 
-#: ../src/dialogs.py:2332
+#: ../src/dialogs.py:2585
 msgid "Wav Sounds"
 msgstr "Waw soubory"
 
-#: ../src/dialogs.py:2362
+#: ../src/dialogs.py:2618
 msgid "Choose Image"
 msgstr "Vyberte obrázek"
 
-#: ../src/dialogs.py:2377
+#: ../src/dialogs.py:2633
 msgid "Images"
 msgstr "Obrázky"
 
-#: ../src/dialogs.py:2434
+#: ../src/dialogs.py:2697
 #, python-format
 msgid "When %s becomes:"
 msgstr "Kdy %s může být:"
 
-#: ../src/dialogs.py:2436
+#: ../src/dialogs.py:2699
 #, python-format
 msgid "Adding Special Notification for %s"
 msgstr "Přidávám zvláštní notifikaci pro %s"
 
 #. # means number
-#: ../src/dialogs.py:2507
+#: ../src/dialogs.py:2770
 msgid "#"
 msgstr "č."
 
-#: ../src/dialogs.py:2513
+#: ../src/dialogs.py:2776
 msgid "Condition"
 msgstr "Podmínka"
 
-#: ../src/dialogs.py:2634
+#: ../src/dialogs.py:2894
 msgid "when I am "
 msgstr "když jsem "
 
-#: ../src/disco.py:103
+#: ../src/disco.py:104
 msgid "Others"
 msgstr "Ostatní"
 
-#: ../src/disco.py:104
-#: ../src/disco.py:105
-#: ../src/disco.py:1281
-#: ../src/gajim.py:604
-#: ../src/roster_window.py:271
-#: ../src/roster_window.py:329
-#: ../src/roster_window.py:368
-#: ../src/roster_window.py:450
-#: ../src/roster_window.py:482
-#: ../src/roster_window.py:484
-#: ../src/roster_window.py:3902
-#: ../src/roster_window.py:3904
-#: ../src/common/contacts.py:267
-#: ../src/common/contacts.py:282
-#: ../src/common/helpers.py:43
+#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1346
+#: ../src/gajim.py:638 ../src/roster_window.py:281 ../src/roster_window.py:341
+#: ../src/roster_window.py:381 ../src/roster_window.py:489
+#: ../src/roster_window.py:521 ../src/roster_window.py:523
+#: ../src/roster_window.py:4678 ../src/roster_window.py:4680
+#: ../src/common/contacts.py:290 ../src/common/contacts.py:305
+#: ../src/common/helpers.py:44
 msgid "Transports"
 msgstr "Transporty"
 
 #. conference is a category for listing mostly groupchats in service discovery
-#: ../src/disco.py:107
+#: ../src/disco.py:108
 msgid "Conference"
 msgstr "Diskuze"
 
-#: ../src/disco.py:420
+#: ../src/disco.py:421
 msgid "Without a connection, you can not browse available services"
 msgstr "Bez spojení nemůžete prohlížet dostupné služby"
 
-#: ../src/disco.py:499
+#: ../src/disco.py:496
 #, python-format
 msgid "Service Discovery using account %s"
 msgstr "Procházení služeb s použitím účtu %s"
 
-#: ../src/disco.py:501
+#: ../src/disco.py:498
 msgid "Service Discovery"
 msgstr "Service Discovery"
 
-#: ../src/disco.py:641
+#: ../src/disco.py:638
 msgid "The service could not be found"
 msgstr "Tato služba nebyla nalezena"
 
-#: ../src/disco.py:642
-msgid "There is no service at the address you entered, or it is not responding. Check the address and try again."
-msgstr "Služba na zadané adrese neexistuje, nebo neodpovídá. Zkontrolujte adresu a opakujte znovu."
+#: ../src/disco.py:639
+msgid ""
+"There is no service at the address you entered, or it is not responding. "
+"Check the address and try again."
+msgstr ""
+"Služba na zadané adrese neexistuje, nebo neodpovídá. Zkontrolujte adresu a "
+"opakujte znovu."
 
-#: ../src/disco.py:646
-#: ../src/disco.py:927
+#: ../src/disco.py:643 ../src/disco.py:924
 msgid "The service is not browsable"
 msgstr "Službu nelze prohlížet"
 
-#: ../src/disco.py:647
+#: ../src/disco.py:644
 msgid "This type of service does not contain any items to browse."
 msgstr "Tento typ služby neobsahuje žádné položky, které je možné prohlížet."
 
-#: ../src/disco.py:727
+#: ../src/disco.py:724
 #, python-format
 msgid "Browsing %s using account %s"
 msgstr "Procházím %s pomocí účtu %s"
 
-#: ../src/disco.py:766
+#: ../src/disco.py:763
 msgid "_Browse"
 msgstr "_Prohlížet"
 
-#: ../src/disco.py:928
+#: ../src/disco.py:925
 msgid "This service does not contain any items to browse."
 msgstr "Tato služba neobsahuje žádné položky, které je možno prohlížet."
 
-#: ../src/disco.py:1155
-#: ../src/disco.py:1286
+#: ../src/disco.py:1153 ../src/disco.py:1351
 msgid "Re_gister"
 msgstr "Re_gistrace"
 
 # FIXME: tohle je blbe prelozene, najit v kontextu a vymyslet lepsi oznaceni
-#: ../src/disco.py:1323
+#: ../src/disco.py:1388
 #, python-format
 msgid "Scanning %d / %d.."
 msgstr "Skenuji %d / %d.."
 
 #. Users column
-#: ../src/disco.py:1504
+#: ../src/disco.py:1570
 msgid "Users"
 msgstr "Uživatelé"
 
 #. Description column
-#: ../src/disco.py:1511
+#: ../src/disco.py:1578
 msgid "Description"
 msgstr "Popis"
 
 #. Id column
-#: ../src/disco.py:1518
+#: ../src/disco.py:1586
 msgid "Id"
 msgstr "č."
 
-#: ../src/disco.py:1741
+#: ../src/disco.py:1815
 msgid "Subscribed"
 msgstr "Autorizován"
 
-#: ../src/disco.py:1767
+#: ../src/disco.py:1823
+#, fuzzy
+msgid "Node"
+msgstr "Žádný"
+
+#: ../src/disco.py:1880
 msgid "New post"
 msgstr "Nový záznam"
 
-#: ../src/disco.py:1773
+#: ../src/disco.py:1886
 msgid "_Subscribe"
 msgstr "_Žádat autorizaci"
 
-#: ../src/disco.py:1779
+#: ../src/disco.py:1892
 msgid "_Unsubscribe"
 msgstr "_Zrušit autorizaci"
 
@@ -3437,142 +3899,132 @@ msgstr "ÄŒas"
 msgid "Progress"
 msgstr "Průběh"
 
-#: ../src/filetransfers_window.py:163
-#: ../src/filetransfers_window.py:223
+#: ../src/filetransfers_window.py:159 ../src/filetransfers_window.py:213
 #, python-format
 msgid "Filename: %s"
 msgstr "Soubor: %s"
 
-#: ../src/filetransfers_window.py:164
-#: ../src/filetransfers_window.py:298
+#: ../src/filetransfers_window.py:160 ../src/filetransfers_window.py:288
 #, python-format
 msgid "Size: %s"
 msgstr "Velikost: %s"
 
 #. You is a reply of who sent a file
 #. You is a reply of who received a file
-#: ../src/filetransfers_window.py:173
-#: ../src/filetransfers_window.py:183
+#: ../src/filetransfers_window.py:169 ../src/filetransfers_window.py:179
 #: ../src/history_manager.py:463
 msgid "You"
 msgstr "Vy"
 
-#: ../src/filetransfers_window.py:174
+#: ../src/filetransfers_window.py:170
 #, python-format
 msgid "Sender: %s"
 msgstr "Odesílatel: %s"
 
-#: ../src/filetransfers_window.py:175
-#: ../src/filetransfers_window.py:572
-#: ../src/tooltips.py:573
+#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:577
+#: ../src/tooltips.py:586
 msgid "Recipient: "
 msgstr "Příjemce: "
 
-#: ../src/filetransfers_window.py:186
+#: ../src/filetransfers_window.py:182
 #, python-format
 msgid "Saved in: %s"
 msgstr "Uloženo do: %s"
 
-#: ../src/filetransfers_window.py:188
+#: ../src/filetransfers_window.py:184
 msgid "File transfer completed"
 msgstr "Přenos soubor dokončen"
 
-#: ../src/filetransfers_window.py:204
-#: ../src/filetransfers_window.py:212
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:204
 msgid "File transfer cancelled"
 msgstr "Přenos souboru zrušen"
 
-#: ../src/filetransfers_window.py:204
-#: ../src/filetransfers_window.py:213
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:205
 msgid "Connection with peer cannot be established."
 msgstr "Spojení s protistranou se nepodařilo navázat."
 
-#: ../src/filetransfers_window.py:224
+#: ../src/filetransfers_window.py:214
 #, python-format
 msgid "Recipient: %s"
 msgstr "Příjemce: %s"
 
-#: ../src/filetransfers_window.py:226
+#: ../src/filetransfers_window.py:216
 #, python-format
 msgid "Error message: %s"
 msgstr "Chybová zpráva: %s"
 
-#: ../src/filetransfers_window.py:227
+#: ../src/filetransfers_window.py:217
 msgid "File transfer stopped by the contact at the other end"
 msgstr "Přenos souboru byl ukončen protistranou"
 
-#: ../src/filetransfers_window.py:244
+#: ../src/filetransfers_window.py:234
 msgid "Choose File to Send..."
 msgstr "Vyber soubor k odeslání..."
 
-#: ../src/filetransfers_window.py:263
+#: ../src/filetransfers_window.py:253
 msgid "Gajim cannot access this file"
 msgstr "Gajim nemůže otevřít tento soubor"
 
-#: ../src/filetransfers_window.py:264
+#: ../src/filetransfers_window.py:254
 msgid "This file is being used by another process."
 msgstr "Tento soubor je používán jiným procesem."
 
-#: ../src/filetransfers_window.py:296
+#: ../src/filetransfers_window.py:286
 #, python-format
 msgid "File: %s"
 msgstr "Soubor: %s"
 
-#: ../src/filetransfers_window.py:301
+#: ../src/filetransfers_window.py:291
 #, python-format
 msgid "Type: %s"
 msgstr "Typ: %s"
 
-#: ../src/filetransfers_window.py:303
+#: ../src/filetransfers_window.py:293
 #, python-format
 msgid "Description: %s"
 msgstr "Popis: %s"
 
-#: ../src/filetransfers_window.py:304
+#: ../src/filetransfers_window.py:294
 #, python-format
 msgid "%s wants to send you a file:"
 msgstr "%s Vám chce poslat soubor:"
 
-#: ../src/filetransfers_window.py:318
-#: ../src/gtkgui_helpers.py:748
+#: ../src/filetransfers_window.py:308 ../src/gtkgui_helpers.py:766
 #, python-format
 msgid "Cannot overwrite existing file \"%s\""
 msgstr "Nemohu přepsat existující soubor \"%s\""
 
-#: ../src/filetransfers_window.py:319
-#: ../src/gtkgui_helpers.py:750
-msgid "A file with this name already exists and you do not have permission to overwrite it."
+#: ../src/filetransfers_window.py:309 ../src/gtkgui_helpers.py:768
+msgid ""
+"A file with this name already exists and you do not have permission to "
+"overwrite it."
 msgstr "Soubor tohoto jména již existuje a ty nemáš oprávnění k jeho přepsání."
 
-#: ../src/filetransfers_window.py:326
-#: ../src/gtkgui_helpers.py:754
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:772
 msgid "This file already exists"
 msgstr "Tento soubor už existuje"
 
-#: ../src/filetransfers_window.py:326
-#: ../src/gtkgui_helpers.py:754
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:772
 msgid "What do you want to do?"
 msgstr "Co by jste rád(a) dělal(a)?"
 
-#: ../src/filetransfers_window.py:338
-#: ../src/gtkgui_helpers.py:764
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:782
 #, python-format
 msgid "Directory \"%s\" is not writable"
 msgstr "Adresář \"%s\" není zapisovatelný"
 
-#: ../src/filetransfers_window.py:338
-#: ../src/gtkgui_helpers.py:765
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:783
 msgid "You do not have permission to create files in this directory."
 msgstr "Nemáš oprávnění k vytváření souborů v tomto adresáři."
 
-#: ../src/filetransfers_window.py:348
+#: ../src/filetransfers_window.py:338
 msgid "Save File as..."
 msgstr "Uložit jako..."
 
 #. Print remaining time in format 00:00:00
 #. You can change the places of (hours), (minutes), (seconds) -
 #. they are not translatable.
-#: ../src/filetransfers_window.py:429
+#: ../src/filetransfers_window.py:419
 #, python-format
 msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
@@ -3580,97 +4032,104 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 #. This should make the string Kb/s,
 #. where 'Kb' part is taken from %s.
 #. Only the 's' after / (which means second) should be translated.
-#: ../src/filetransfers_window.py:505
+#: ../src/filetransfers_window.py:508
 #, python-format
 msgid "(%(filesize_unit)s/s)"
 msgstr "(%(filesize_unit)s/s)"
 
-#: ../src/filetransfers_window.py:544
-#: ../src/filetransfers_window.py:547
+#: ../src/filetransfers_window.py:547 ../src/filetransfers_window.py:550
 msgid "Invalid File"
 msgstr "Neplatný soubor"
 
-#: ../src/filetransfers_window.py:544
+#: ../src/filetransfers_window.py:547
 msgid "File: "
 msgstr "Soubor: "
 
-#: ../src/filetransfers_window.py:548
+#: ../src/filetransfers_window.py:551
 msgid "It is not possible to send empty files"
 msgstr "Není možné posílat prázdné soubory"
 
-#: ../src/filetransfers_window.py:568
-#: ../src/tooltips.py:563
+#: ../src/filetransfers_window.py:573 ../src/tooltips.py:576
 msgid "Name: "
 msgstr "Jméno: "
 
-#: ../src/filetransfers_window.py:570
-#: ../src/tooltips.py:567
+#: ../src/filetransfers_window.py:575 ../src/tooltips.py:580
 msgid "Sender: "
 msgstr "Odesílatel: "
 
-#: ../src/filetransfers_window.py:758
+#: ../src/filetransfers_window.py:763
 msgid "Pause"
 msgstr "Pauza"
 
-#: ../src/gajim.py:47
+#: ../src/gajim.py:49
 #, python-format
 msgid "%s is not a valid loglevel"
 msgstr "%s není platný loglevel"
 
-#: ../src/gajim.py:122
+#: ../src/gajim.py:138
 msgid "Gajim needs X server to run. Quiting..."
 msgstr "Gajim vyžaduje k běhu X server. Končím..."
 
-#: ../src/gajim.py:126
+#: ../src/gajim.py:142
 msgid "Gajim needs PyGTK 2.8 or above"
 msgstr "Gajim vyžaduje PyGTK 2.8 nebo novější"
 
-#: ../src/gajim.py:127
+#: ../src/gajim.py:143
 msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
 msgstr "Gajim vyžaduje PyGTK 2.8 nebo novější. Končím..."
 
-#: ../src/gajim.py:129
+#: ../src/gajim.py:145
 msgid "Gajim needs GTK 2.8 or above"
 msgstr "Gajim potřebuje GTK 2.8 nebo novější"
 
-#: ../src/gajim.py:130
+#: ../src/gajim.py:146
 msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
 msgstr "Gajim vyžaduje GTK 2.8 nebo novější. Končím..."
 
 # FIXME: runtime je jak?
-#: ../src/gajim.py:135
+#: ../src/gajim.py:151
 msgid "GTK+ runtime is missing libglade support"
 msgstr "GTK+ runtime vyžaduje podporu libglade"
 
 # FIXME: runtime?
-#: ../src/gajim.py:137
+#: ../src/gajim.py:153
 #, python-format
-msgid "Please remove your current GTK+ runtime and install the latest stable version from %s"
-msgstr "Prosím odinstalujte stávající GTK+ runtime a nainstalujte poslední stabilní verzi z %s"
+msgid ""
+"Please remove your current GTK+ runtime and install the latest stable "
+"version from %s"
+msgstr ""
+"Prosím odinstalujte stávající GTK+ runtime a nainstalujte poslední stabilní "
+"verzi z %s"
 
-#: ../src/gajim.py:139
-msgid "Please make sure that GTK+ and PyGTK have libglade support in your system."
-msgstr "Ujistěte se prosím, že GTK+ a PyGTK ve Vašem systému podporují libglade."
+#: ../src/gajim.py:155
+msgid ""
+"Please make sure that GTK+ and PyGTK have libglade support in your system."
+msgstr ""
+"Ujistěte se prosím, že GTK+ a PyGTK ve Vašem systému podporují libglade."
 
-#: ../src/gajim.py:144
+#: ../src/gajim.py:160
 msgid "Gajim needs PySQLite2 to run"
 msgstr "Gajim vyžaduje PySQLite2"
 
-#: ../src/gajim.py:152
+#: ../src/gajim.py:168
 msgid "Gajim needs pywin32 to run"
 msgstr "Gajim potřebuje k běhu pywin32"
 
-#: ../src/gajim.py:153
+#: ../src/gajim.py:169
 #, python-format
-msgid "Please make sure that Pywin32 is installed on your system. You can get it at %s"
-msgstr "Prosím ujistěte se, že Pywin32 je nainstalován na vašem počítači. Můžete jej získat na %s"
+msgid ""
+"Please make sure that Pywin32 is installed on your system. You can get it at "
+"%s"
+msgstr ""
+"Prosím ujistěte se, že Pywin32 je nainstalován na vašem počítači. Můžete jej "
+"získat na %s"
 
 #. set the icon to all newly opened wind
-#: ../src/gajim.py:300
+#: ../src/gajim.py:311
 msgid "Gajim is already running"
 msgstr "Gajim již běží"
 
-#: ../src/gajim.py:301
+#: ../src/gajim.py:312
 msgid ""
 "Another instance of Gajim seems to be running\n"
 "Run anyway?"
@@ -3678,89 +4137,138 @@ msgstr ""
 "Jiná instance Gajimu pravděpodobně již běží\n"
 "Přesto spustit?"
 
-#: ../src/gajim.py:408
-#, python-format
-msgid "HTTP (%s) Authorization for %s (id: %s)"
-msgstr "HTTP (%s) Autorizace pro %s (id: %s)"
+#: ../src/gajim.py:335 ../src/common/connection_handlers.py:897
+#: ../src/common/connection_handlers.py:1538
+#: ../src/common/connection_handlers.py:1566
+#: ../src/common/connection_handlers.py:1577
+#: ../src/common/connection_handlers.py:1596
+#: ../src/common/connection_handlers.py:1755
+#: ../src/common/connection_handlers.py:1867 ../src/common/connection.py:913
+msgid "Disk Write Error"
+msgstr ""
 
-#: ../src/gajim.py:409
+#: ../src/gajim.py:428
 msgid "Do you accept this request?"
 msgstr "Chcete přijmout tuto žádost?"
 
-#: ../src/gajim.py:455
-#: ../src/notify.py:435
+#: ../src/gajim.py:431
+#, python-format
+msgid "HTTP (%s) Authorization for %s (id: %s)"
+msgstr "HTTP (%s) Autorizace pro %s (id: %s)"
+
+#: ../src/gajim.py:478 ../src/notify.py:447
 msgid "Connection Failed"
 msgstr "Spojení selhalo"
 
-#: ../src/gajim.py:775
+#: ../src/gajim.py:810
 #, python-format
 msgid "Subject: %s"
 msgstr "Předmět: %s"
 
 #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
-#: ../src/gajim.py:820
-#: ../src/gajim.py:833
+#: ../src/gajim.py:857 ../src/gajim.py:870
 #, python-format
 msgid "error while sending %s ( %s )"
 msgstr "chyba při odesílání %s ( %s )"
 
-#: ../src/gajim.py:866
+#: ../src/gajim.py:903
 msgid "Authorization accepted"
 msgstr "Autorizace přijata"
 
-#: ../src/gajim.py:867
+#: ../src/gajim.py:904
 #, python-format
 msgid "The contact \"%s\" has authorized you to see his or her status."
 msgstr "Kontakt \"%s\" Vás autorizoval k zobrazení jeho stavu."
 
-#: ../src/gajim.py:875
+#: ../src/gajim.py:912
 #, python-format
 msgid "Contact \"%s\" removed subscription from you"
 msgstr "Kontakt \"%s\" Vám odebral autorizaci"
 
 # FIXME: hrozna veta
-#: ../src/gajim.py:876
+#: ../src/gajim.py:913
 msgid "You will always see him or her as offline."
 msgstr "Uvidíte jej nebo ji vždy jako odpojenou."
 
-#: ../src/gajim.py:919
+#: ../src/gajim.py:957
 #, python-format
 msgid "Contact with \"%s\" cannot be established"
 msgstr "Kontakt s \"%s\" nebyl navázán"
 
-#: ../src/gajim.py:920
-#: ../src/common/connection.py:423
+#: ../src/gajim.py:958 ../src/common/connection.py:463
 msgid "Check your connection or try again later."
 msgstr "Ověřte spojení nebo zkuste později."
 
-#: ../src/gajim.py:1069
-#: ../src/roster_window.py:1217
+#: ../src/gajim.py:1129 ../src/roster_window.py:1342
 #, python-format
 msgid "%s is now %s (%s)"
 msgstr "%s je nyní %s (%s)"
 
 #. No status message
-#: ../src/gajim.py:1072
-#: ../src/groupchat_control.py:952
-#: ../src/roster_window.py:1220
+#: ../src/gajim.py:1132 ../src/groupchat_control.py:1100
+#: ../src/roster_window.py:1345
 #, python-format
 msgid "%s is now %s"
 msgstr "%s je nyní %s"
 
-#: ../src/gajim.py:1169
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/gajim.py:1252 ../src/groupchat_control.py:912
+msgid "Any occupant is allowed to see your full JID"
+msgstr ""
+
+#: ../src/gajim.py:1254
+msgid "Room now shows unavailable member"
+msgstr ""
+
+#: ../src/gajim.py:1256
+msgid "room now does not show unavailable members"
+msgstr ""
+
+#: ../src/gajim.py:1259
+msgid "A non-privacy-related room configuration change has occurred"
+msgstr ""
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#: ../src/gajim.py:1262
+msgid "Room logging is now enabled"
+msgstr ""
+
+#: ../src/gajim.py:1264
+msgid "Room logging is now disabled"
+msgstr ""
+
+#: ../src/gajim.py:1266
+msgid "Room is now non-anonymous"
+msgstr ""
+
+#: ../src/gajim.py:1268
+msgid "Room is now semi-anonymous"
+msgstr ""
+
+#: ../src/gajim.py:1270
+msgid "Room is now fully-anonymous"
+msgstr ""
+
+#: ../src/gajim.py:1301
+#, fuzzy, python-format
+msgid "A Password is required to join the room %s. Please type it"
+msgstr "Pro připojení do této místnosti je vyžadováno heslo."
+
+#: ../src/gajim.py:1331
 msgid "Your passphrase is incorrect"
 msgstr "Vaše heslo je neplatné"
 
-#: ../src/gajim.py:1170
+#: ../src/gajim.py:1332
 msgid "You are currently connected without your OpenPGP key."
 msgstr "Momentálně jste připojen(a) bez vašeho OpenPGP klíče."
 
-#: ../src/gajim.py:1273
+#: ../src/gajim.py:1436
 #, python-format
 msgid "New mail on %(gmail_mail_address)s"
 msgstr "Nový E-mail pro %(gmail_mail_address)s"
 
-#: ../src/gajim.py:1275
+#: ../src/gajim.py:1438
 #, python-format
 msgid "You have %d new mail conversation"
 msgid_plural "You have %d new mail conversations"
@@ -3771,7 +4279,7 @@ msgstr[2] "Máte %d nepřečtených E-mailů"
 #. FIXME: emulate Gtalk client popups. find out what they parse and how
 #. they decide what to show
 #. each message has a 'From', 'Subject' and 'Snippet' field
-#: ../src/gajim.py:1284
+#: ../src/gajim.py:1447
 #, python-format
 msgid ""
 "\n"
@@ -3780,53 +4288,85 @@ msgstr ""
 "\n"
 "Od: %(from_address)s"
 
-#: ../src/gajim.py:1440
+#: ../src/gajim.py:1603
 #, python-format
 msgid "%s wants to send you a file."
 msgstr "%s Vám chce poslat soubor."
 
-#: ../src/gajim.py:1505
+#: ../src/gajim.py:1668
 #, python-format
 msgid "You successfully received %(filename)s from %(name)s."
 msgstr "Soubor %(filename)s od %(name)s byl úspěsně přijat."
 
 #. ft stopped
-#: ../src/gajim.py:1509
+#: ../src/gajim.py:1672
 #, python-format
 msgid "File transfer of %(filename)s from %(name)s stopped."
 msgstr "Přenos souboru %(filename)s od %(name)s byl zastaven."
 
-#: ../src/gajim.py:1522
+#: ../src/gajim.py:1685
 #, python-format
 msgid "You successfully sent %(filename)s to %(name)s."
 msgstr "Soubor %(filename)s byl uspěšně odeslán %(name)s."
 
 #. ft stopped
-#: ../src/gajim.py:1526
+#: ../src/gajim.py:1689
 #, python-format
 msgid "File transfer of %(filename)s to %(name)s stopped."
 msgstr "Přenos souboru %(filename)s pro %(name)s byl zastaven."
 
-#: ../src/gajim.py:1639
+#: ../src/gajim.py:1823
 msgid "Username Conflict"
 msgstr "Konflikt uživatelských jmen"
 
-#: ../src/gajim.py:1640
+#: ../src/gajim.py:1824
 msgid "Please type a new username for your local account"
 msgstr "Prosím zadejte nové uživatelské jméno pro lokální účet"
 
+#: ../src/gajim.py:1841
+msgid "Ping?"
+msgstr ""
+
+#: ../src/gajim.py:1849
+#, python-format
+msgid "Pong! (%s s.)"
+msgstr ""
+
+#: ../src/gajim.py:1855
+msgid "Error."
+msgstr ""
+
+#: ../src/gajim.py:1880
+#, fuzzy
+msgid "Resource Conflict"
+msgstr "Konflikt uživatelských jmen"
+
+#: ../src/gajim.py:1881
+msgid ""
+"You are already connected to this account with the same resource. Please "
+"type a new one"
+msgstr ""
+
 # FIXME: jaky je rozdil mezi settings a preferences?
 #. it is good to notify the user
 #. in case he or she cannot see the output of the console
-#: ../src/gajim.py:1981
+#: ../src/gajim.py:2241
 msgid "Could not save your settings and preferences"
 msgstr "Nelze uložit Vaše nastavení"
 
-#: ../src/gajim.py:2179
+#. sorted alphanum
+#: ../src/gajim.py:2376 ../src/common/config.py:85 ../src/common/config.py:393
+#: ../src/common/optparser.py:193 ../src/common/optparser.py:411
+#: ../src/common/optparser.py:445
+#, fuzzy
+msgid "default"
+msgstr "Výchozí"
+
+#: ../src/gajim.py:2462
 msgid "Network Manager support not available"
 msgstr "Podpora Network Manageru není dostupná"
 
-#: ../src/gajim.py:2258
+#: ../src/gajim.py:2563
 msgid "Session Management support not available (missing gnome.ui module)"
 msgstr "Podpora Správce sezení není dostupná (schází gnome.ui modul)"
 
@@ -3852,22 +4392,20 @@ msgid "Pops up a window with the next pending event"
 msgstr "Zobrazí okno s další nepřečtenou událostí"
 
 #: ../src/gajim-remote.py:81
-msgid "Prints a list of all contacts in the roster. Each contact appears on a separate line"
-msgstr "Vytiskne seznam všech kontaktů v rosteru. Každý kontakt se objeví na samostatném řádku"
-
-#: ../src/gajim-remote.py:84
-#: ../src/gajim-remote.py:99
-#: ../src/gajim-remote.py:109
-#: ../src/gajim-remote.py:122
-#: ../src/gajim-remote.py:136
-#: ../src/gajim-remote.py:157
-#: ../src/gajim-remote.py:187
-#: ../src/gajim-remote.py:196
-#: ../src/gajim-remote.py:203
-#: ../src/gajim-remote.py:210
-#: ../src/gajim-remote.py:221
-#: ../src/gajim-remote.py:237
-#: ../src/gajim-remote.py:246
+msgid ""
+"Prints a list of all contacts in the roster. Each contact appears on a "
+"separate line"
+msgstr ""
+"Vytiskne seznam všech kontaktů v rosteru. Každý kontakt se objeví na "
+"samostatném řádku"
+
+#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99
+#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122
+#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:145
+#: ../src/gajim-remote.py:166 ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:205 ../src/gajim-remote.py:212
+#: ../src/gajim-remote.py:219 ../src/gajim-remote.py:230
+#: ../src/gajim-remote.py:246 ../src/gajim-remote.py:255
 msgid "account"
 msgstr "účet"
 
@@ -3890,11 +4428,11 @@ msgstr "stav"
 
 #: ../src/gajim-remote.py:97
 msgid "one of: offline, online, chat, away, xa, dnd, invisible "
-msgstr "jeden z: odpojen, připojen, ukecaný, pryč, nedostupný, nerušit, neviditelný "
+msgstr ""
+"jeden z: odpojen, připojen, ukecaný, pryč, nedostupný, nerušit, neviditelný "
 
-#: ../src/gajim-remote.py:98
-#: ../src/gajim-remote.py:119
-#: ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119
+#: ../src/gajim-remote.py:133 ../src/gajim-remote.py:144
 msgid "message"
 msgstr "zpráva"
 
@@ -3903,8 +4441,12 @@ msgid "status message"
 msgstr "text stavu"
 
 #: ../src/gajim-remote.py:99
-msgid "change status of account \"account\". If not specified, try to change status of all accounts that have \"sync with global status\" option set"
-msgstr "změnit stav účtu \"account\". Pokud není uveden, zkuste změnit stav všech účtů které mají povolenu volbu \"sync with global status\" "
+msgid ""
+"change status of account \"account\". If not specified, try to change status "
+"of all accounts that have \"sync with global status\" option set"
+msgstr ""
+"změnit stav účtu \"account\". Pokud není uveden, zkuste změnit stav všech "
+"účtů které mají povolenu volbu \"sync with global status\" "
 
 #: ../src/gajim-remote.py:105
 msgid "Shows the chat dialog so that you can send messages to a contact"
@@ -3914,43 +4456,51 @@ msgstr "Zobrazte okno rozhovoru, aby jste mohl(a) poslat zprávu kontaktu"
 msgid "JID of the contact that you want to chat with"
 msgstr "JID kontaktu, se kterým chcete komunikovat"
 
-#: ../src/gajim-remote.py:109
-#: ../src/gajim-remote.py:187
+#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:196
 msgid "if specified, contact is taken from the contact list of this account"
 msgstr "pokud uvedeno, kontakt bude vzít ze seznamu kontaktů pro tento účet"
 
 #: ../src/gajim-remote.py:114
-msgid "Sends new chat message to a contact in the roster. Both OpenPGP key and account are optional. If you want to set only 'account', without 'OpenPGP key', just set 'OpenPGP key' to ''."
-msgstr "Poslat nový rozhovor kontaktu v Seznamu. Obojí OpenPGP klíč a účet jsou volitelné. Pokud chcete nastavit pouze 'account' bez 'OpenPGP key', nastavte prostě 'OpenPGP key' na ''."
+msgid ""
+"Sends new chat message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Poslat nový rozhovor kontaktu v Seznamu. Obojí OpenPGP klíč a účet jsou "
+"volitelné. Pokud chcete nastavit pouze 'account' bez 'OpenPGP key', nastavte "
+"prostÄ› 'OpenPGP key' na ''."
 
-#: ../src/gajim-remote.py:118
-#: ../src/gajim-remote.py:131
+#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:131
 msgid "JID of the contact that will receive the message"
 msgstr "JID kontaktu, který obdrží zprávu"
 
-#: ../src/gajim-remote.py:119
-#: ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:144
 msgid "message contents"
 msgstr "Tělo zprávy"
 
-#: ../src/gajim-remote.py:120
-#: ../src/gajim-remote.py:134
+#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
 msgid "pgp key"
 msgstr "pgp klíč"
 
-#: ../src/gajim-remote.py:120
-#: ../src/gajim-remote.py:134
+#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
 msgid "if specified, the message will be encrypted using this public key"
 msgstr "pokud bude uvedeno, zpráva bude zašifrována tímto veřejným klíčem"
 
-#: ../src/gajim-remote.py:122
-#: ../src/gajim-remote.py:136
+#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136
+#: ../src/gajim-remote.py:145
 msgid "if specified, the message will be sent using this account"
 msgstr "pokud bude uvedeno, zpráva bude odeslána z tohoto účtu"
 
 #: ../src/gajim-remote.py:127
-msgid "Sends new single message to a contact in the roster. Both OpenPGP key and account are optional. If you want to set only 'account', without 'OpenPGP key', just set 'OpenPGP key' to ''."
-msgstr "Poslat novou prostou zprávu kontaktu v Seznamu. Obojí OpenPGP klíč a účet jsou volitelné. Pokud chcete nastavit pouze 'account' bez 'OpenPGP key', nastavte prostě 'OpenPGP key' na ''."
+msgid ""
+"Sends new single message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Poslat novou prostou zprávu kontaktu v Seznamu. Obojí OpenPGP klíč a účet "
+"jsou volitelné. Pokud chcete nastavit pouze 'account' bez 'OpenPGP key', "
+"nastavte prostÄ› 'OpenPGP key' na ''."
 
 #: ../src/gajim-remote.py:132
 msgid "subject"
@@ -3961,151 +4511,163 @@ msgid "message subject"
 msgstr "předmět zprávy"
 
 #: ../src/gajim-remote.py:141
+msgid "Sends new message to a groupchat you've joined."
+msgstr ""
+
+#: ../src/gajim-remote.py:143
+#, fuzzy
+msgid "JID of the room that will receive the message"
+msgstr "JID kontaktu, který obdrží zprávu"
+
+#: ../src/gajim-remote.py:150
 msgid "Gets detailed info on a contact"
 msgstr "Získej detailní informace o kontaktu"
 
-#: ../src/gajim-remote.py:143
-#: ../src/gajim-remote.py:156
-#: ../src/gajim-remote.py:186
-#: ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:152 ../src/gajim-remote.py:165
+#: ../src/gajim-remote.py:195 ../src/gajim-remote.py:204
 msgid "JID of the contact"
 msgstr "JID kontaktu"
 
-#: ../src/gajim-remote.py:147
+#: ../src/gajim-remote.py:156
 msgid "Gets detailed info on a account"
 msgstr "Získej detailní informace o účtu"
 
-#: ../src/gajim-remote.py:149
+#: ../src/gajim-remote.py:158
 msgid "Name of the account"
 msgstr "Jméno účtu"
 
-#: ../src/gajim-remote.py:153
+#: ../src/gajim-remote.py:162
 msgid "Sends file to a contact"
 msgstr "Pošle soubor kontaktu"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:164
 msgid "file"
 msgstr "soubor"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:164
 msgid "File path"
 msgstr "Cesta k souboru"
 
-#: ../src/gajim-remote.py:157
+#: ../src/gajim-remote.py:166
 msgid "if specified, file will be sent using this account"
 msgstr "pokud bude uvedeno, zpráva bude odeslána z tohoto účtu"
 
-#: ../src/gajim-remote.py:162
+#: ../src/gajim-remote.py:171
 msgid "Lists all preferences and their values"
 msgstr "Vypíše všechna nastavení a jejich hodnoty"
 
 # FIXME: opravit, pokud je mozne prekladat i key & value
-#: ../src/gajim-remote.py:166
+#: ../src/gajim-remote.py:175
 msgid "Sets value of 'key' to 'value'."
 msgstr "Nastaví hodnotu klíče 'key' na hodnotu 'value'"
 
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:177
 msgid "key=value"
 msgstr "klíč=hodnota"
 
 # FIXME: opet
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:177
 msgid "'key' is the name of the preference, 'value' is the value to set it to"
 msgstr "'klíč' je jméno volby, 'hodnota' je hodnota která se nastavuje"
 
-#: ../src/gajim-remote.py:173
+#: ../src/gajim-remote.py:182
 msgid "Deletes a preference item"
 msgstr "Smaže položku nastavení"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:184
 msgid "key"
 msgstr "klíč"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:184
 msgid "name of the preference to be deleted"
 msgstr "jméno volby, která bude smazána"
 
-#: ../src/gajim-remote.py:179
+#: ../src/gajim-remote.py:188
 msgid "Writes the current state of Gajim preferences to the .config file"
 msgstr "Zapíše aktuální nastavení do souboru .config"
 
-#: ../src/gajim-remote.py:184
+#: ../src/gajim-remote.py:193
 msgid "Removes contact from roster"
 msgstr "Odstraní kontakt ze Seznamu"
 
-#: ../src/gajim-remote.py:193
+#: ../src/gajim-remote.py:202
 msgid "Adds contact to roster"
 msgstr "Přidat kontakt do Seznamu"
 
-#: ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:204
 msgid "jid"
 msgstr "jid"
 
-#: ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:205
 msgid "Adds new contact to this account"
 msgstr "Přidá nový kontakt do tohoto účtu"
 
-#: ../src/gajim-remote.py:201
+#: ../src/gajim-remote.py:210
 msgid "Returns current status (the global one unless account is specified)"
 msgstr "Vrátí aktuální stav (globální, pokud není uveden účet)"
 
-#: ../src/gajim-remote.py:208
-msgid "Returns current status message(the global one unless account is specified)"
+#: ../src/gajim-remote.py:217
+msgid ""
+"Returns current status message(the global one unless account is specified)"
 msgstr "Vrací aktuální stav (globální, pokud není uveden účet)"
 
-#: ../src/gajim-remote.py:215
+#: ../src/gajim-remote.py:224
 msgid "Returns number of unread messages"
 msgstr "Vrací počet nepřečtených zpráv"
 
-#: ../src/gajim-remote.py:219
+#: ../src/gajim-remote.py:228
 msgid "Opens 'Start Chat' dialog"
 msgstr "Otevře dialog 'Začít rozhovor'"
 
-#: ../src/gajim-remote.py:221
+#: ../src/gajim-remote.py:230
 msgid "Starts chat, using this account"
 msgstr "Začít rozhovor z tohoto účtu"
 
-#: ../src/gajim-remote.py:225
+#: ../src/gajim-remote.py:234
 msgid "Sends custom XML"
 msgstr "Poslat vlastní XML"
 
-#: ../src/gajim-remote.py:227
+#: ../src/gajim-remote.py:236
 msgid "XML to send"
 msgstr "XML k odeslání"
 
-#: ../src/gajim-remote.py:228
-msgid "Account in which the xml will be sent; if not specified, xml will be sent to all accounts"
-msgstr "Účet, ze kterého bude xml odesláno; pokud nebude uvedeno, xml bude odeslání ze všech účtů"
+#: ../src/gajim-remote.py:237
+msgid ""
+"Account in which the xml will be sent; if not specified, xml will be sent to "
+"all accounts"
+msgstr ""
+"Účet, ze kterého bude xml odesláno; pokud nebude uvedeno, xml bude odeslání "
+"ze všech účtů"
 
-#: ../src/gajim-remote.py:234
+#: ../src/gajim-remote.py:243
 msgid "Handle a xmpp:/ uri"
 msgstr "Obsluhovat xmpp:/ uri"
 
-#: ../src/gajim-remote.py:236
+#: ../src/gajim-remote.py:245
 msgid "uri"
 msgstr "uri"
 
-#: ../src/gajim-remote.py:241
+#: ../src/gajim-remote.py:250
 msgid "Join a MUC room"
 msgstr "_Vstoupit do místnosti MUC"
 
-#: ../src/gajim-remote.py:243
+#: ../src/gajim-remote.py:252
 msgid "room"
 msgstr "místnost"
 
-#: ../src/gajim-remote.py:244
+#: ../src/gajim-remote.py:253
 msgid "nick"
 msgstr "přezdívka"
 
-#: ../src/gajim-remote.py:245
+#: ../src/gajim-remote.py:254
 msgid "password"
 msgstr "heslo"
 
-#: ../src/gajim-remote.py:268
+#: ../src/gajim-remote.py:277
 msgid "Missing argument \"contact_jid\""
 msgstr "Chybí parametry \"contact_jid\""
 
-#: ../src/gajim-remote.py:287
+#: ../src/gajim-remote.py:296
 #, python-format
 msgid ""
 "'%s' is not in your roster.\n"
@@ -4114,11 +4676,11 @@ msgstr ""
 "'%s' není ve vašem Seznamu.\n"
 "Prosím uveďte účet, přes který bude odeslána zpráva."
 
-#: ../src/gajim-remote.py:290
+#: ../src/gajim-remote.py:299
 msgid "You have no active account"
 msgstr "Nemáte aktivní účet"
 
-#: ../src/gajim-remote.py:354
+#: ../src/gajim-remote.py:363
 #, python-format
 msgid ""
 "Usage: %s %s %s \n"
@@ -4127,16 +4689,16 @@ msgstr ""
 "Použití: %s %s %s \n"
 "\t %s"
 
-#: ../src/gajim-remote.py:357
+#: ../src/gajim-remote.py:366
 msgid "Arguments:"
 msgstr "Parametry:"
 
-#: ../src/gajim-remote.py:361
+#: ../src/gajim-remote.py:370
 #, python-format
 msgid "%s not found"
 msgstr "%s nebyl nalezen"
 
-#: ../src/gajim-remote.py:365
+#: ../src/gajim-remote.py:374
 #, python-format
 msgid ""
 "Usage: %s command [arguments]\n"
@@ -4145,7 +4707,7 @@ msgstr ""
 "Použití: %s příkaz [parametry]\n"
 "Příkaz je jeden z:\n"
 
-#: ../src/gajim-remote.py:438
+#: ../src/gajim-remote.py:447
 #, python-format
 msgid ""
 "Too many arguments. \n"
@@ -4154,7 +4716,7 @@ msgstr ""
 "Příliš mnoho parametrů. \n"
 "Napište \"%s help %s\" pro více informací"
 
-#: ../src/gajim-remote.py:442
+#: ../src/gajim-remote.py:451
 #, python-format
 msgid ""
 "Argument \"%s\" is not specified. \n"
@@ -4163,269 +4725,313 @@ msgstr ""
 "Parametry \"%s\" nebyl uveden. \n"
 "Napište \"%s help %s\" pro více informací"
 
-#: ../src/gajim-remote.py:460
+#: ../src/gajim-remote.py:469
 msgid "Wrong uri"
 msgstr "Nesprávné uri"
 
-#: ../src/gajim_themes_window.py:60
+#: ../src/gajim_themes_window.py:61
 msgid "Theme"
 msgstr "Téma"
 
+#: ../src/gajim_themes_window.py:99
+#, fuzzy
+msgid "You cannot make changes to the default theme"
+msgstr "Nemůžete smazat právě používané téma"
+
+#: ../src/gajim_themes_window.py:100
+msgid "Please create a clean new theme with your desired name."
+msgstr ""
+
 #. don't confuse translators
-#: ../src/gajim_themes_window.py:155
+#: ../src/gajim_themes_window.py:174
 msgid "theme name"
 msgstr "jméno tématu"
 
-#: ../src/gajim_themes_window.py:172
+#: ../src/gajim_themes_window.py:191
 msgid "You cannot delete your current theme"
 msgstr "Nemůžete smazat právě používané téma"
 
-#: ../src/gajim_themes_window.py:173
+#: ../src/gajim_themes_window.py:192
 msgid "Please first choose another for your current theme."
 msgstr "Vyberte prosím napřed jiné téma."
 
-#: ../src/groupchat_control.py:106
-msgid "Private Chat"
-msgstr "Soukromý rozhovor"
-
-#: ../src/groupchat_control.py:106
-msgid "Private Chats"
-msgstr "Soukromé rozhovory"
-
-#: ../src/groupchat_control.py:123
+#: ../src/groupchat_control.py:133
 msgid "Sending private message failed"
 msgstr "Odesílání soukromé zprávy selhalo"
 
 #. in second %s code replaces with nickname
-#: ../src/groupchat_control.py:125
+#: ../src/groupchat_control.py:135
 #, python-format
 msgid "You are no longer in group chat \"%s\" or \"%s\" has left."
 msgstr "Už nejsi v místnosti \"%s\" nebo \"%s\" odešel(a)."
 
-#: ../src/groupchat_control.py:144
-msgid "Group Chat"
-msgstr "Diskuze"
-
-#: ../src/groupchat_control.py:144
-msgid "Group Chats"
-msgstr "Diskuze"
-
-#: ../src/groupchat_control.py:318
+#: ../src/groupchat_control.py:341
 msgid "Insert Nickname"
 msgstr "Vložit přezdívku"
 
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/groupchat_control.py:915
+msgid "Room logging is enabled"
+msgstr ""
+
+#: ../src/groupchat_control.py:917
+#, fuzzy
+msgid "A new room has been created"
+msgstr "Váš účet byl úspěšně vytvořen"
+
+#: ../src/groupchat_control.py:920
+msgid "The server has assigned or modified your roomnick"
+msgstr ""
+
 #. do not print 'kicked by None'
-#: ../src/groupchat_control.py:837
+#: ../src/groupchat_control.py:926
 #, python-format
 msgid "%(nick)s has been kicked: %(reason)s"
 msgstr "%(nick)s byli vyhozeni: %(reason)s"
 
-#: ../src/groupchat_control.py:841
+#: ../src/groupchat_control.py:930
 #, python-format
 msgid "%(nick)s has been kicked by %(who)s: %(reason)s"
 msgstr "%(nick)s byli vyhozeni od %(who)s: %(reason)s"
 
 # FIXME: preklad pro ban? zabanovani je hnusne
 #. do not print 'banned by None'
-#: ../src/groupchat_control.py:848
+#: ../src/groupchat_control.py:937
 #, python-format
 msgid "%(nick)s has been banned: %(reason)s"
 msgstr "%(nick)s byli zakázáni: %(reason)s"
 
-#: ../src/groupchat_control.py:852
+#: ../src/groupchat_control.py:941
 #, python-format
 msgid "%(nick)s has been banned by %(who)s: %(reason)s"
 msgstr "%(nick)s byl zakázán od %(who)s: %(reason)s"
 
-#: ../src/groupchat_control.py:860
+#. Someone changed his or her nick
+#. We changed our nick
+#: ../src/groupchat_control.py:948
 #, python-format
 msgid "You are now known as %s"
 msgstr "Jste nyní znám(a) jako %s"
 
-#: ../src/groupchat_control.py:862
+#: ../src/groupchat_control.py:950
 #, python-format
 msgid "%s is now known as %s"
 msgstr "%s se přejmenoval na %s"
 
-#: ../src/groupchat_control.py:945
+#: ../src/groupchat_control.py:983 ../src/groupchat_control.py:987
+#: ../src/groupchat_control.py:992
+#, fuzzy, python-format
+msgid "%(nick)s has been removed from the room (%(reason)s)"
+msgstr "%(nick)s byli vyhozeni od %(who)s: %(reason)s"
+
+#: ../src/groupchat_control.py:984
+#, fuzzy
+msgid "affiliation changed"
+msgstr "Přidružení:"
+
+#: ../src/groupchat_control.py:989
+msgid "room configuration changed to members-only"
+msgstr ""
+
+#: ../src/groupchat_control.py:994
+msgid "system shutdown"
+msgstr ""
+
+#: ../src/groupchat_control.py:1093
 #, python-format
 msgid "%s has left"
 msgstr "%s odešel(a)"
 
-#: ../src/groupchat_control.py:950
+#: ../src/groupchat_control.py:1098
 #, python-format
 msgid "%s has joined the group chat"
 msgstr "%s vstoupil do místnosti"
 
-#: ../src/groupchat_control.py:1072
-#: ../src/groupchat_control.py:1090
-#: ../src/groupchat_control.py:1183
-#: ../src/groupchat_control.py:1200
+#: ../src/groupchat_control.py:1229 ../src/groupchat_control.py:1247
+#: ../src/groupchat_control.py:1340 ../src/groupchat_control.py:1357
 #, python-format
 msgid "Nickname not found: %s"
 msgstr "Přezdívka nenalezena: %s"
 
-#: ../src/groupchat_control.py:1106
+#: ../src/groupchat_control.py:1263
 msgid "This group chat has no subject"
 msgstr "Místnost nemá žádné téma"
 
-#: ../src/groupchat_control.py:1119
+#: ../src/groupchat_control.py:1276
 #, python-format
 msgid "Invited %(contact_jid)s to %(room_jid)s."
 msgstr "Pozval(a) %(contact_jid)s do %(room_jid)s."
 
 #. %s is something the user wrote but it is not a jid so we inform
-#: ../src/groupchat_control.py:1126
-#: ../src/groupchat_control.py:1154
+#: ../src/groupchat_control.py:1283 ../src/groupchat_control.py:1311
 #, python-format
 msgid "%s does not appear to be a valid JID"
 msgstr "%s nevypadá jako platné JID"
 
-#: ../src/groupchat_control.py:1237
-#, python-format
-msgid "No such command: /%s (if you want to send this, prefix it with /say)"
-msgstr "Neznámý příkaz: /%s (pokud to chcete odeslat, napište před to /say)"
-
-#: ../src/groupchat_control.py:1260
-#, python-format
-msgid "Commands: %s"
-msgstr "Příkazy: %s"
-
-#: ../src/groupchat_control.py:1262
-#, python-format
-msgid "Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The nickname of an occupant may be substituted, but not if it contains \"@\". If the JID is currently in the group chat, he/she/it will also be kicked. Does NOT support spaces in nickname."
-msgstr "Použití: /%s <přezdívka|JID> [důvod], zakáže JID přístup do místnosti. Přezdívka nájemníka může být nahrazena, pokud neobsahuje \"@\". Pokud je JID právě v místnosti, bude vyhozen. NEpodporuje mezery v přezdívce."
-
-#: ../src/groupchat_control.py:1269
-#, python-format
-msgid "Usage: /%s <nickname>, opens a private chat window with the specified occupant."
-msgstr "Použití: /%s <přezdívka>, otevře okno soukromého rozhovoru uvedenému nájemníkovi."
-
-#: ../src/groupchat_control.py:1273
-#, python-format
-msgid "Usage: /%s, clears the text window."
-msgstr "Použití: /%s, smaže zprávy v okně."
-
-#: ../src/groupchat_control.py:1275
+#: ../src/groupchat_control.py:1420
 #, python-format
-msgid "Usage: /%s [reason], closes the current window or tab, displaying reason if specified."
-msgstr "Použití: /%s [důvod], uzavře toto okno nebo záložku, a vypíše důvod, pokud byl uveden."
+msgid ""
+"Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
+"nickname of an occupant may be substituted, but not if it contains \"@\". If "
+"the JID is currently in the group chat, he/she/it will also be kicked. Does "
+"NOT support spaces in nickname."
+msgstr ""
+"Použití: /%s <přezdívka|JID> [důvod], zakáže JID přístup do místnosti. "
+"Přezdívka nájemníka může být nahrazena, pokud neobsahuje \"@\". Pokud je JID "
+"právě v místnosti, bude vyhozen. NEpodporuje mezery v přezdívce."
 
-#: ../src/groupchat_control.py:1278
+#: ../src/groupchat_control.py:1427
 #, python-format
-msgid "Usage: /%s, hide the chat buttons."
-msgstr "Použití: /%s, skryje tlačítka rozhovoru."
+msgid ""
+"Usage: /%s <nickname>, opens a private chat window with the specified "
+"occupant."
+msgstr ""
+"Použití: /%s <přezdívka>, otevře okno soukromého rozhovoru uvedenému "
+"nájemníkovi."
 
-#: ../src/groupchat_control.py:1281
+#: ../src/groupchat_control.py:1433
 #, python-format
-msgid "Usage: /%s <JID> [reason], invites JID to the current group chat, optionally providing a reason."
-msgstr "Použití: /%s <JID> [důvod], pozve JID do této místnosti, případně s uvedeným důvodem."
+msgid ""
+"Usage: /%s [reason], closes the current window or tab, displaying reason if "
+"specified."
+msgstr ""
+"Použití: /%s [důvod], uzavře toto okno nebo záložku, a vypíše důvod, pokud "
+"byl uveden."
 
-#: ../src/groupchat_control.py:1285
+#: ../src/groupchat_control.py:1439
 #, python-format
-msgid "Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally using specified nickname."
-msgstr "Použití: /%s <místnost>@<server>[/přezdívka], nabízí vstup do místnosti místnost@server, případně s uvedenou přezdívkou."
+msgid ""
+"Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
+"providing a reason."
+msgstr ""
+"Použití: /%s <JID> [důvod], pozve JID do této místnosti, případně s uvedeným "
+"důvodem."
 
-#: ../src/groupchat_control.py:1289
+#: ../src/groupchat_control.py:1443
 #, python-format
-msgid "Usage: /%s <nickname> [reason], removes the occupant specified by nickname from the group chat and optionally displays a reason. Does NOT support spaces in nickname."
-msgstr "Použití: /%s <přezdívka> [důvod], odstraní nájemníka určeného přezdívkou z místnosti a případně zobrazí důvod. NEpodporuje mezery v přezdívce."
+msgid ""
+"Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
+"using specified nickname."
+msgstr ""
+"Použití: /%s <místnost>@<server>[/přezdívka], nabízí vstup do místnosti "
+"místnost@server, případně s uvedenou přezdívkou."
 
-#: ../src/groupchat_control.py:1294
+#: ../src/groupchat_control.py:1447
 #, python-format
-msgid "Usage: /%s <action>, sends action to the current group chat. Use third person. (e.g. /%s explodes.)"
-msgstr "Použití: /%s <akce>, pošle akci do aktuální místnosti. Použijte třetí osobu (například /%s explodoval.)"
+msgid ""
+"Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
+"from the group chat and optionally displays a reason. Does NOT support "
+"spaces in nickname."
+msgstr ""
+"Použití: /%s <přezdívka> [důvod], odstraní nájemníka určeného přezdívkou z "
+"místnosti a případně zobrazí důvod. NEpodporuje mezery v přezdívce."
 
-#: ../src/groupchat_control.py:1298
+#: ../src/groupchat_control.py:1456
 #, python-format
-msgid "Usage: /%s <nickname> [message], opens a private message window and sends message to the occupant specified by nickname."
-msgstr "Použití: /%s <přezdívka> [zpráva], otevře okno se soukromou zprávou a odešle zprávu nájemníkovi určeném přezdívkou."
+msgid ""
+"Usage: /%s <nickname> [message], opens a private message window and sends "
+"message to the occupant specified by nickname."
+msgstr ""
+"Použití: /%s <přezdívka> [zpráva], otevře okno se soukromou zprávou a odešle "
+"zprávu nájemníkovi určeném přezdívkou."
 
-#: ../src/groupchat_control.py:1303
+#: ../src/groupchat_control.py:1461
 #, python-format
 msgid "Usage: /%s <nickname>, changes your nickname in current group chat."
 msgstr "Použití: /%s <přezdívka>, změní Vaši přezdívku v aktuální místnosti"
 
-#: ../src/groupchat_control.py:1307
+#: ../src/groupchat_control.py:1465
 #, python-format
 msgid "Usage: /%s , display the names of group chat occupants."
 msgstr "Použití: /%s , zobrazí jména nájemníků v místnosti."
 
-#: ../src/groupchat_control.py:1311
+#: ../src/groupchat_control.py:1469
 #, python-format
 msgid "Usage: /%s [topic], displays or updates the current group chat topic."
-msgstr "Použití: /%s [téma], zobrazí nebo aktualizuje téma v aktuální místnosti."
+msgstr ""
+"Použití: /%s [téma], zobrazí nebo aktualizuje téma v aktuální místnosti."
 
-#: ../src/groupchat_control.py:1314
+#: ../src/groupchat_control.py:1472
 #, python-format
-msgid "Usage: /%s <message>, sends a message without looking for other commands."
+msgid ""
+"Usage: /%s <message>, sends a message without looking for other commands."
 msgstr "Použití: /%s <zpráva>, odešle zprávu bez hledání jiných příkazů."
 
-#: ../src/groupchat_control.py:1317
-#, python-format
-msgid "No help info for /%s"
-msgstr "Žádná další nápověda pro /%s"
-
-#: ../src/groupchat_control.py:1380
+#: ../src/groupchat_control.py:1561
 #, python-format
 msgid "Are you sure you want to leave group chat \"%s\"?"
 msgstr "Jste si jistý(á), že chcete opustit místnost \"%s\"?"
 
-#: ../src/groupchat_control.py:1382
-msgid "If you close this window, you will be disconnected from this group chat."
+#: ../src/groupchat_control.py:1563
+msgid ""
+"If you close this window, you will be disconnected from this group chat."
 msgstr "Pokud zavřete toto okno, budete odpojen(a) z této místnosti."
 
-#: ../src/groupchat_control.py:1386
-#: ../src/roster_window.py:4042
+#: ../src/groupchat_control.py:1567 ../src/roster_window.py:4826
 msgid "Do _not ask me again"
 msgstr "Příště _nezobrazovat"
 
-#: ../src/groupchat_control.py:1420
+#: ../src/groupchat_control.py:1601
 msgid "Changing Subject"
 msgstr "Měním Téma"
 
-#: ../src/groupchat_control.py:1421
+#: ../src/groupchat_control.py:1602
 msgid "Please specify the new subject:"
 msgstr "Prosím zadejte nové téma:"
 
-#: ../src/groupchat_control.py:1430
+#: ../src/groupchat_control.py:1611
 msgid "Changing Nickname"
 msgstr "Měním přezdívku"
 
-#: ../src/groupchat_control.py:1431
+#: ../src/groupchat_control.py:1612
 msgid "Please specify the new nickname you want to use:"
 msgstr "Prosím zadejte novou přezdívku, kterou chcete používat:"
 
-#: ../src/groupchat_control.py:1456
+#. Ask for a reason
+#: ../src/groupchat_control.py:1627
+#, fuzzy, python-format
+msgid "Destroying %s"
+msgstr "Popis: %s"
+
+#: ../src/groupchat_control.py:1628
+msgid ""
+"You are going to definitively destroy this room.\n"
+"You may specify a reason below:"
+msgstr ""
+
+#: ../src/groupchat_control.py:1630
+msgid "You may also enter an alternate venue:"
+msgstr ""
+
+#: ../src/groupchat_control.py:1661
 msgid "Bookmark already set"
 msgstr "Záložka je už nastavena"
 
-#: ../src/groupchat_control.py:1457
+#: ../src/groupchat_control.py:1662
 #, python-format
 msgid "Group Chat \"%s\" is already in your bookmarks."
 msgstr "Diskuze \"%s\" už je ve Vašich záložkách."
 
-#: ../src/groupchat_control.py:1466
+#: ../src/groupchat_control.py:1671
 msgid "Bookmark has been added successfully"
 msgstr "Záložka byla úspěšně přidána"
 
-#: ../src/groupchat_control.py:1467
+#: ../src/groupchat_control.py:1672
 msgid "You can manage your bookmarks via Actions menu in your roster."
 msgstr "Můžete spravovat Vaše záložky přes menu Akce ve vašem Seznamu."
 
 #. ask for reason
-#: ../src/groupchat_control.py:1595
+#: ../src/groupchat_control.py:1824
 #, python-format
 msgid "Kicking %s"
 msgstr "Vyhazuji %s"
 
-#: ../src/groupchat_control.py:1596
-#: ../src/groupchat_control.py:1879
+#: ../src/groupchat_control.py:1825 ../src/groupchat_control.py:2125
 msgid "You may specify a reason below:"
 msgstr "Můžete uvést důvod níže:"
 
 #. ask for reason
-#: ../src/groupchat_control.py:1878
+#: ../src/groupchat_control.py:2124
 #, python-format
 msgid "Banning %s"
 msgstr "Zakazuji %s"
@@ -4436,7 +5042,9 @@ msgid "A programming error has been detected"
 msgstr "Byla objevena chyba v programu"
 
 #: ../src/gtkexcepthook.py:42
-msgid "It probably is not fatal, but should be reported to the developers nonetheless."
+msgid ""
+"It probably is not fatal, but should be reported to the developers "
+"nonetheless."
 msgstr "Pravděpodobně není fatální, ale přesto by měla být ohlášena vývojářům."
 
 #: ../src/gtkexcepthook.py:48
@@ -4448,8 +5056,7 @@ msgid "Details"
 msgstr "Detaily"
 
 #. we talk about file
-#: ../src/gtkgui_helpers.py:156
-#: ../src/gtkgui_helpers.py:171
+#: ../src/gtkgui_helpers.py:156 ../src/gtkgui_helpers.py:171
 #, python-format
 msgid "Error: cannot open %s for reading"
 msgstr "Chyba: nemůžu otevřít %s pro čtení"
@@ -4470,32 +5077,33 @@ msgid "Could not write to %s. Session Management support will not work"
 msgstr "Nemůžu zapsat do %s. Podpora správy sezení nebude fungovat"
 
 #. xmpp: is currently handled by another program, so ask the user
-#: ../src/gtkgui_helpers.py:692
+#: ../src/gtkgui_helpers.py:710
 msgid "Gajim is not the default Jabber client"
 msgstr "Gajim není výchozí Jabber klient"
 
-#: ../src/gtkgui_helpers.py:693
+#: ../src/gtkgui_helpers.py:711
 msgid "Would you like to make Gajim the default Jabber client?"
 msgstr "Chcete nastavit Gajim jako výchozí Jabber klient?"
 
-#: ../src/gtkgui_helpers.py:694
+#: ../src/gtkgui_helpers.py:712
 msgid "Always check to see if Gajim is the default Jabber client on startup"
 msgstr "Vždy zkontroluj při startu, zda je Gajim výchozí Jabber klient."
 
-#: ../src/gtkgui_helpers.py:793
+#: ../src/gtkgui_helpers.py:811
 msgid "Extension not supported"
 msgstr "Rozšíření není podporováno"
 
-#: ../src/gtkgui_helpers.py:794
+#: ../src/gtkgui_helpers.py:812
 #, python-format
 msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
-msgstr "Obrázek nelze uložit ve formátu %(type)s. Uložit jako %(new_filename)s?"
+msgstr ""
+"Obrázek nelze uložit ve formátu %(type)s. Uložit jako %(new_filename)s?"
 
-#: ../src/gtkgui_helpers.py:803
+#: ../src/gtkgui_helpers.py:821
 msgid "Save Image as..."
 msgstr "Uložit obrázek jako..."
 
-#: ../src/history_manager.py:65
+#: ../src/history_manager.py:68
 msgid "Cannot find history logs database"
 msgstr "Nemůžu nalézt databázi s historií"
 
@@ -4505,36 +5113,39 @@ msgid "Contacts"
 msgstr "Kontakty"
 
 #. holds time
-#: ../src/history_manager.py:121
-#: ../src/history_manager.py:161
+#: ../src/history_manager.py:121 ../src/history_manager.py:161
 #: ../src/history_window.py:86
 msgid "Date"
 msgstr "Datum"
 
 #. holds nickname
-#: ../src/history_manager.py:127
-#: ../src/history_manager.py:179
+#: ../src/history_manager.py:127 ../src/history_manager.py:179
 msgid "Nickname"
 msgstr "Přezdívka"
 
 #. holds message
-#: ../src/history_manager.py:135
-#: ../src/history_manager.py:167
+#: ../src/history_manager.py:135 ../src/history_manager.py:167
 #: ../src/history_window.py:94
 msgid "Message"
 msgstr "Zpráva"
 
 #: ../src/history_manager.py:187
-msgid "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING)"
+msgid ""
+"Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS "
+"RUNNING)"
 msgstr "Chcete pročistit databázi? (VELICE NEDOPORUČUJEME POKUD GAJIM BĚŽÍ)"
 
 #: ../src/history_manager.py:189
 msgid ""
-"Normally allocated database size will not be freed, it will just become reusable. If you really want to reduce database filesize, click YES, else click NO.\n"
+"Normally allocated database size will not be freed, it will just become "
+"reusable. If you really want to reduce database filesize, click YES, else "
+"click NO.\n"
 "\n"
 "In case you click YES, please wait..."
 msgstr ""
-"Běžně se velikost alokovaná databází neuvolňuje, pouze se označí k novému použití. Pokud opravdu chcete snížit velikost databáze, klikněte ANO, jinak NE.\n"
+"Běžně se velikost alokovaná databází neuvolňuje, pouze se označí k novému "
+"použití. Pokud opravdu chcete snížit velikost databáze, klikněte ANO, jinak "
+"NE.\n"
 "\n"
 "V případě kliknutí na ANO prosím vyčkejte..."
 
@@ -4554,8 +5165,7 @@ msgstr[0] "Vážně chcete smazat všechny záznamy historie vybraného kontaktu
 msgstr[1] "Vážně chcete smazat všechny záznamy historie vybraných kontaktů?"
 msgstr[2] ""
 
-#: ../src/history_manager.py:518
-#: ../src/history_manager.py:554
+#: ../src/history_manager.py:518 ../src/history_manager.py:554
 msgid "This is an irreversible operation."
 msgstr "Tato operace je nevratná."
 
@@ -4566,222 +5176,97 @@ msgstr[0] "Vážně chcete smazat vybranou zprávu?"
 msgstr[1] "Vážně chcete smazat vybrané zprávy?"
 msgstr[2] ""
 
-#: ../src/history_window.py:103
-#: ../src/history_window.py:105
-#, python-format
-msgid "Conversation History with %s"
-msgstr "Historie rozhovorů s %s"
-
-#: ../src/history_window.py:258
-#, python-format
-msgid "%(nick)s is now %(status)s: %(status_msg)s"
-msgstr "%(nick)s je nyní %(status)s: %(status_msg)s"
-
-#: ../src/history_window.py:262
-#: ../src/notify.py:199
-#, python-format
-msgid "%(nick)s is now %(status)s"
-msgstr "%(nick)s je nyní %(status)s"
-
-#: ../src/history_window.py:268
-#, python-format
-msgid "Status is now: %(status)s: %(status_msg)s"
-msgstr "Status je nyní %(status)s: %(status_msg)s"
-
-#: ../src/history_window.py:271
-#, python-format
-msgid "Status is now: %(status)s"
-msgstr "Status je nyní %(status)s"
-
-#. the next script, executed in the "po" directory,
-#. generates the following list.
-#. #!/bin/sh
-#. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
-#. echo "{_('en'):'en'",$LANG"}"
-#: ../src/chat_control.py:52
-msgid "English"
-msgstr "Angličtina"
-
-#: ../src/chat_control.py:52
-msgid "Belarusian"
-msgstr "Běloruština"
-
-#: ../src/chat_control.py:52
-msgid "Bulgarian"
-msgstr "Bulharština"
-
-#: ../src/chat_control.py:52
-msgid "Breton"
-msgstr "Bretonština"
-
-#: ../src/chat_control.py:52
-msgid "Czech"
-msgstr "Čeština"
-
-#: ../src/chat_control.py:52
-msgid "German"
-msgstr "Němčina"
-
-#: ../src/chat_control.py:52
-msgid "Greek"
-msgstr "Řečtina"
-
-#: ../src/chat_control.py:52
-msgid "British"
-msgstr "Britština"
-
-#: ../src/chat_control.py:52
-msgid "Esperanto"
-msgstr "Esperanto"
-
-#: ../src/chat_control.py:52
-msgid "Spanish"
-msgstr "Španělština"
-
-#: ../src/chat_control.py:52
-msgid "Basque"
-msgstr "Baskičtina"
-
-#: ../src/chat_control.py:52
-msgid "French"
-msgstr "Francouzština"
-
-#: ../src/chat_control.py:52
-msgid "Croatian"
-msgstr "Chorvatština"
-
-#: ../src/chat_control.py:52
-msgid "Italian"
-msgstr "Italština"
-
-#: ../src/chat_control.py:52
-msgid "Norwegian (b)"
-msgstr "Norština (b)"
-
-#: ../src/chat_control.py:52
-msgid "Dutch"
-msgstr "Holandština"
-
-#: ../src/chat_control.py:52
-msgid "Norwegian"
-msgstr "Norština"
-
-#: ../src/chat_control.py:52
-msgid "Polish"
-msgstr "Polština"
-
-#: ../src/chat_control.py:52
-msgid "Portuguese"
-msgstr "Portugalština"
-
-#: ../src/chat_control.py:52
-msgid "Brazilian Portuguese"
-msgstr "Brazilská portugalština"
-
-#: ../src/chat_control.py:52
-msgid "Russian"
-msgstr "Ruština"
-
-#: ../src/chat_control.py:52
-msgid "Slovak"
-msgstr "Slovenština"
-
-#: ../src/chat_control.py:52
-msgid "Swedish"
-msgstr "Švédština"
-
-#: ../src/chat_control.py:52
-msgid "Chinese (Ch)"
-msgstr "Čínština"
-
-#: ../src/chat_control.py:247
-msgid "Spelling language"
-msgstr "Kontrola jazyka"
-
-#. we are not connected
-#: ../src/chat_control.py:270
-#: ../src/chat_control.py:476
-msgid "A connection is not available"
-msgstr "Spojení není dostupné"
+#: ../src/history_window.py:103 ../src/history_window.py:105
+#, python-format
+msgid "Conversation History with %s"
+msgstr "Historie rozhovorů s %s"
 
-#: ../src/chat_control.py:271
-#: ../src/chat_control.py:477
-msgid "Your message can not be sent until you are connected."
-msgstr "Va¹e zpráva nemù¾e být odeslána dokud se nepøipojíte."
+#: ../src/history_window.py:266
+#, python-format
+msgid "%(nick)s is now %(status)s: %(status_msg)s"
+msgstr "%(nick)s je nyní %(status)s: %(status_msg)s"
 
-#: ../src/chat_control.py:856
-msgid "Chats"
-msgstr "Rozhovory"
+#: ../src/history_window.py:270 ../src/notify.py:205
+#, python-format
+msgid "%(nick)s is now %(status)s"
+msgstr "%(nick)s je nyní %(status)s"
 
-#: ../src/chat_control.py:1038
+#: ../src/history_window.py:276
 #, python-format
-msgid "%(nickname)s from group chat %(room_name)s"
-msgstr "%(nickname)s z diskuze %(room_name)s"
+msgid "Status is now: %(status)s: %(status_msg)s"
+msgstr "Status je nyní %(status)s: %(status_msg)s"
 
-#. we talk about a contact here
-#: ../src/chat_control.py:1127
+#: ../src/history_window.py:279
 #, python-format
-msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
-msgstr "%s nerozesílá svůj OpenPGP klíč nebo nemá žádný přiřazen"
+msgid "Status is now: %(status)s"
+msgstr "Status je nyní %(status)s"
 
-#: ../src/chat_control.py:1263
-msgid "Encryption enabled"
-msgstr "Šifrování zapnuto"
+#: ../src/htmltextview.py:583 ../src/htmltextview.py:594
+#, fuzzy
+msgid "Timeout loading image"
+msgstr "Nezdařilo se načtení obrázku"
 
-#: ../src/chat_control.py:1268
-msgid "Encryption disabled"
-msgstr "Šifrování vypnuto"
+#: ../src/htmltextview.py:604
+msgid "Image is too big"
+msgstr ""
 
-#. %s is being replaced in the code with JID
-#: ../src/chat_control.py:1556
-#, python-format
-msgid "You just received a new message from \"%s\""
-msgstr "Právě jsi obdržela novou zprávu od \"%s\""
+#: ../src/message_window.py:287
+msgid "Chats"
+msgstr "Rozhovory"
+
+#: ../src/message_window.py:289
+msgid "Group Chats"
+msgstr "Diskuze"
 
-#: ../src/chat_control.py:1557
-msgid "If you close this tab and you have history disabled, this message will be lost."
-msgstr "Pokud zavřete toto okno a historie je vypnutá, tato zpráva bude ztracena."
+#: ../src/message_window.py:291
+msgid "Private Chats"
+msgstr "Soukromé rozhovory"
 
-#: ../src/message_window.py:273
+#: ../src/message_window.py:293
 msgid "Messages"
 msgstr "Zprávy"
 
-#: ../src/message_window.py:274
+#: ../src/message_window.py:294
 #, python-format
 msgid "%s - Gajim"
 msgstr "%s - Gajim"
 
-#: ../src/notify.py:197
+#: ../src/notify.py:203
 #, python-format
 msgid "%(nick)s Changed Status"
 msgstr "%(nick)s Změnil(a) stav"
 
-#: ../src/notify.py:207
+#: ../src/notify.py:213
 #, python-format
 msgid "%(nickname)s Signed In"
 msgstr "%(nickname)s se přihlásil"
 
-#: ../src/notify.py:215
+#: ../src/notify.py:221
 #, python-format
 msgid "%(nickname)s Signed Out"
 msgstr "%(nickname)s se odhlásil"
 
-#: ../src/notify.py:227
+#: ../src/notify.py:233
 #, python-format
 msgid "New Single Message from %(nickname)s"
 msgstr "Nová jednoduché zpráva od %(nickname)s"
 
-#: ../src/notify.py:235
+#: ../src/notify.py:241
 #, python-format
 msgid "New Private Message from group chat %s"
 msgstr "Nová soukromá zpráva z místnosti %s"
 
-#: ../src/notify.py:236
+#: ../src/notify.py:243
 #, python-format
 msgid "%(nickname)s: %(message)s"
 msgstr "%(nickname)s: %(message)s"
 
-#: ../src/notify.py:242
+#: ../src/notify.py:246
+#, fuzzy, python-format
+msgid "Messaged by %(nickname)s"
+msgstr "Nová zpráva od %(nickname)s"
+
+#: ../src/notify.py:252
 #, python-format
 msgid "New Message from %(nickname)s"
 msgstr "Nová zpráva od %(nickname)s"
@@ -4790,255 +5275,340 @@ msgstr "Nová zpráva od %(nickname)s"
 msgid "Retrieving profile..."
 msgstr "Stahuji profil..."
 
+#: ../src/profile_window.py:123 ../src/roster_window.py:1876
+#, fuzzy
+msgid "File is empty"
+msgstr "Cesta k souboru"
+
+#: ../src/profile_window.py:126 ../src/roster_window.py:1879
+#, fuzzy
+msgid "File does not exist"
+msgstr "Taková diskuze neexistuje."
+
 #. keep identation
-#: ../src/profile_window.py:143
+#. unknown format
+#: ../src/profile_window.py:140 ../src/profile_window.py:156
+#: ../src/roster_window.py:1881 ../src/roster_window.py:1892
 msgid "Could not load image"
 msgstr "Nezdařilo se načtení obrázku"
 
-#: ../src/profile_window.py:255
+#: ../src/profile_window.py:257
 msgid "Information received"
 msgstr "Informace přijata"
 
-#: ../src/profile_window.py:324
+#: ../src/profile_window.py:326
 msgid "Without a connection you can not publish your contact information."
 msgstr "Bez opětovného připojení nemůžete zveřejnit Vaše osobní údaje."
 
-#: ../src/profile_window.py:336
+#: ../src/profile_window.py:338
 msgid "Sending profile..."
 msgstr "Odesílám profil..."
 
-#: ../src/profile_window.py:351
+#: ../src/profile_window.py:353
 msgid "Information NOT published"
 msgstr "Informace NEBYLY zveřejněny"
 
-#: ../src/profile_window.py:358
+#: ../src/profile_window.py:360
 msgid "vCard publication failed"
 msgstr "publikování vizitky se nezdařilo"
 
-#: ../src/profile_window.py:359
-msgid "There was an error while publishing your personal information, try again later."
-msgstr "Nastala chyba při publikování Vašich osobních údajů, zkuste to později znovu."
+#: ../src/profile_window.py:361
+msgid ""
+"There was an error while publishing your personal information, try again "
+"later."
+msgstr ""
+"Nastala chyba při publikování Vašich osobních údajů, zkuste to později znovu."
 
-#: ../src/roster_window.py:171
-#: ../src/roster_window.py:226
+#: ../src/roster_window.py:181 ../src/roster_window.py:236
 msgid "Merged accounts"
 msgstr "Spojené účty"
 
-#: ../src/roster_window.py:344
-#: ../src/common/helpers.py:43
+#: ../src/roster_window.py:356 ../src/roster_window.py:621
+#: ../src/roster_window.py:2110 ../src/common/contacts.py:307
+#: ../src/common/helpers.py:44
 msgid "Observers"
 msgstr "Přihlížející"
 
-#: ../src/roster_window.py:691
-#: ../src/roster_window.py:3207
+#. Make special context menu if group is Groupchats
+#: ../src/roster_window.py:440 ../src/roster_window.py:445
+#: ../src/roster_window.py:1935 ../src/roster_window.py:1938
+#: ../src/roster_window.py:2607 ../src/roster_window.py:2610
+#: ../src/roster_window.py:2635 ../src/roster_window.py:4686
+#: ../src/roster_window.py:4688 ../src/common/commands.py:194
+#: ../src/common/contacts.py:97 ../src/common/helpers.py:44
+msgid "Groupchats"
+msgstr "Diskuze"
+
+#: ../src/roster_window.py:770 ../src/roster_window.py:3947
 msgid "You cannot join a group chat while you are invisible"
 msgstr "Nemůžete vstoupit do diskuze, pokud jste neviditelný(á)"
 
 #. new chat
+#. single message
 #. for chat_with
 #. for single message
-#: ../src/roster_window.py:883
-#: ../src/systray.py:187
-#: ../src/systray.py:192
+#. join gc
+#: ../src/roster_window.py:983 ../src/roster_window.py:993
+#: ../src/roster_window.py:1002 ../src/systray.py:207 ../src/systray.py:212
+#: ../src/systray.py:218
 #, python-format
 msgid "using account %s"
 msgstr "pomocí účtu %s"
 
-#. the 'manage gc bookmarks' item is shown
-#. below to avoid duplicate code
 #. add
-#: ../src/roster_window.py:908
+#: ../src/roster_window.py:1009
 #, python-format
 msgid "to %s account"
 msgstr "do účtu %s"
 
 #. disco
-#: ../src/roster_window.py:913
+#: ../src/roster_window.py:1014
 #, python-format
 msgid "using %s account"
 msgstr "pomocí účtu %s"
 
+#: ../src/roster_window.py:1095
+msgid "_Manage Bookmarks..."
+msgstr "Spravovat _záložky..."
+
 #. profile, avatar
-#: ../src/roster_window.py:988
+#: ../src/roster_window.py:1114
 #, python-format
 msgid "of account %s"
 msgstr "účtu %s"
 
-#: ../src/roster_window.py:1008
-msgid "_Manage Bookmarks..."
-msgstr "Spravovat _záložky..."
-
-#: ../src/roster_window.py:1037
+#: ../src/roster_window.py:1154
 #, python-format
 msgid "for account %s"
 msgstr "pro účet %s"
 
 #. History manager
-#: ../src/roster_window.py:1058
+#: ../src/roster_window.py:1175
 msgid "History Manager"
 msgstr "Správce historie"
 
-#: ../src/roster_window.py:1067
+#: ../src/roster_window.py:1184
 msgid "_Join New Group Chat"
 msgstr "_Připojit se do diskuze"
 
-#: ../src/roster_window.py:1397
-#: ../src/roster_window.py:3400
-#: ../src/roster_window.py:3407
+#: ../src/roster_window.py:1538 ../src/roster_window.py:4145
+#: ../src/roster_window.py:4152
 msgid "You have unread messages"
 msgstr "Máte nepřečtené zprávy"
 
-#: ../src/roster_window.py:1398
+#: ../src/roster_window.py:1539
 msgid "You must read them before removing this transport."
 msgstr "Musíš si je přečíst před smazáním transportu."
 
-#: ../src/roster_window.py:1401
+#: ../src/roster_window.py:1542
 #, python-format
 msgid "Transport \"%s\" will be removed"
 msgstr "Transport \"%s\" bude smazán"
 
-#: ../src/roster_window.py:1402
-msgid "You will no longer be able to send and receive messages from contacts using this transport."
-msgstr "Už více nebudete moci posílat i přijímat zprávy od kontaktů z tohoto transportu."
+#: ../src/roster_window.py:1543
+msgid ""
+"You will no longer be able to send and receive messages from contacts using "
+"this transport."
+msgstr ""
+"Už více nebudete moci posílat i přijímat zprávy od kontaktů z tohoto "
+"transportu."
 
-#: ../src/roster_window.py:1405
+#: ../src/roster_window.py:1546
 msgid "Transports will be removed"
 msgstr "Transport bude smazán"
 
-#: ../src/roster_window.py:1410
+#: ../src/roster_window.py:1551
 #, python-format
-msgid "You will no longer be able to send and receive messages to contacts from these transports:%s"
-msgstr "Už více nebudete moci posílat i přijímat zprávy od kontaktů z těchto transportů:%s"
+msgid ""
+"You will no longer be able to send and receive messages to contacts from "
+"these transports:%s"
+msgstr ""
+"Už více nebudete moci posílat i přijímat zprávy od kontaktů z těchto "
+"transportů:%s"
 
 #. it's jid
-#: ../src/roster_window.py:1430
+#: ../src/roster_window.py:1717
 msgid "Rename Contact"
 msgstr "Přejmenovat kontakt"
 
-#: ../src/roster_window.py:1431
+#: ../src/roster_window.py:1718
 #, python-format
 msgid "Enter a new nickname for contact %s"
 msgstr "Zadej novou přezdívku pro kontakt %s."
 
-#: ../src/roster_window.py:1438
+#: ../src/roster_window.py:1725
 msgid "Rename Group"
 msgstr "Přejmenovat skupinu"
 
-#: ../src/roster_window.py:1439
+#: ../src/roster_window.py:1726
 #, python-format
 msgid "Enter a new name for group %s"
 msgstr "Zadej nové jméno pro skupinu %s."
 
-#: ../src/roster_window.py:1514
+#: ../src/roster_window.py:1801
 msgid "Remove Group"
 msgstr "Odstranit skupinu"
 
-#: ../src/roster_window.py:1515
+#: ../src/roster_window.py:1802
 #, python-format
 msgid "Do you want to remove group %s from the roster?"
 msgstr "Chceš smazat skupinu %s z rosteru?"
 
-#: ../src/roster_window.py:1516
+#: ../src/roster_window.py:1803
 msgid "Remove also all contacts in this group from your roster"
 msgstr "Odstranit také všechny kontakty v této skupině z Vašeho rosteru"
 
-#: ../src/roster_window.py:1545
+#: ../src/roster_window.py:1834
 msgid "Assign OpenPGP Key"
 msgstr "Přiřadit OpenPGP klíč"
 
-#: ../src/roster_window.py:1546
+#: ../src/roster_window.py:1835
 msgid "Select a key to apply to the contact"
 msgstr "Vybrat klíč k použítí s kontaktem"
 
-#: ../src/roster_window.py:1781
-#: ../src/roster_window.py:2042
-msgid "_New group chat"
-msgstr "_Nová diskuze"
+#: ../src/roster_window.py:2156
+#, fuzzy
+msgid "_New Group Chat"
+msgstr "Nová diskuze"
 
-#: ../src/roster_window.py:1912
+#: ../src/roster_window.py:2298
 msgid "I would like to add you to my roster"
 msgstr "Rád bych si Vás přidal(a) do svého seznamu"
 
-#: ../src/roster_window.py:2087
-#: ../src/roster_window.py:2134
+#. Send Group Message
+#: ../src/roster_window.py:2432 ../src/roster_window.py:2644
 msgid "Send Group M_essage"
 msgstr "Ode_slat skupinovou zprávu"
 
-#: ../src/roster_window.py:2113
-msgid "Re_name"
-msgstr "Přejme_novat"
+#: ../src/roster_window.py:2451
+msgid "_New group chat"
+msgstr "_Nová diskuze"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2489
+#, fuzzy
+msgid "_Manage Contacts"
+msgstr "Přejmenovat kontakt"
+
+#: ../src/roster_window.py:2550
+msgid "_Maximize"
+msgstr ""
 
-#: ../src/roster_window.py:2140
+#: ../src/roster_window.py:2557
+#, fuzzy
+msgid "_Disconnect"
+msgstr "Kontakt se odpojil"
+
+#: ../src/roster_window.py:2636
+msgid "_Maximize All"
+msgstr ""
+
+#: ../src/roster_window.py:2652
 msgid "To all users"
 msgstr "Všem uživatelům"
 
-#: ../src/roster_window.py:2143
+#: ../src/roster_window.py:2655
 msgid "To all online users"
 msgstr "Všem dostupným uživatelům"
 
-#: ../src/roster_window.py:2179
+#. Log Off
+#: ../src/roster_window.py:2772
+#, fuzzy
+msgid "_Log off"
+msgstr "_Odhlásit"
+
+#. Log on
+#: ../src/roster_window.py:2778
 msgid "_Log on"
 msgstr "Přih_lásit"
 
-#: ../src/roster_window.py:2189
-msgid "Log _off"
-msgstr "_Odhlásit"
+#. Send single message
+#: ../src/roster_window.py:2790
+#, fuzzy
+msgid "Send Single Message"
+msgstr "Ode_slat jednoduchou zprávu"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2837
+#, fuzzy
+msgid "_Manage Transport"
+msgstr "Transporty"
+
+#. Modify Transport
+#: ../src/roster_window.py:2845
+#, fuzzy
+msgid "_Modify Transport"
+msgstr "Zobrazuj trans_porty"
+
+#. Information
+#: ../src/roster_window.py:2882
+#, fuzzy
+msgid "_Information"
+msgstr "Informace o kontaktu"
 
-#: ../src/roster_window.py:2311
-#: ../src/roster_window.py:2382
+#: ../src/roster_window.py:2959 ../src/roster_window.py:3033
 msgid "_Change Status Message"
 msgstr "Z_měnit popis stavu"
 
-#: ../src/roster_window.py:2454
+#: ../src/roster_window.py:3105
 msgid "Authorization has been sent"
 msgstr "Autorizace byla odeslána"
 
-#: ../src/roster_window.py:2455
+#: ../src/roster_window.py:3106
 #, python-format
 msgid "Now \"%s\" will know your status."
 msgstr "Nyní bude \"%s\" znát váš status."
 
-#: ../src/roster_window.py:2475
+#: ../src/roster_window.py:3126
 msgid "Subscription request has been sent"
 msgstr "Žádost o autorizaci byla odeslána"
 
-#: ../src/roster_window.py:2476
+#: ../src/roster_window.py:3127
 #, python-format
 msgid "If \"%s\" accepts this request you will know his or her status."
-msgstr "Pokud \"%s\" povolí Vaši žádost o autorizaci, budete vidět jeho status."
+msgstr ""
+"Pokud \"%s\" povolí Vaši žádost o autorizaci, budete vidět jeho status."
 
-#: ../src/roster_window.py:2488
+#: ../src/roster_window.py:3139
 msgid "Authorization has been removed"
 msgstr "Autorizace byla zrušena"
 
-#: ../src/roster_window.py:2489
+#: ../src/roster_window.py:3140
 #, python-format
 msgid "Now \"%s\" will always see you as offline."
 msgstr "Nyní Vás \"%s\" uvidí vždy jako odpojeného."
 
-#: ../src/roster_window.py:2681
+#: ../src/roster_window.py:3338
 #, python-format
 msgid "Contact \"%s\" will be removed from your roster"
 msgstr "Kontakt \"%s\" bude smazán z Vašeho rosteru"
 
-#: ../src/roster_window.py:2685
-msgid "By removing this contact you also remove authorization resulting in him or her always seeing you as offline."
-msgstr "Smazáním kontaktu také zrušíte autorizaci. Kontakt Vás tak vždy uvidí jako odpojeného."
+#: ../src/roster_window.py:3342
+msgid ""
+"By removing this contact you also remove authorization resulting in him or "
+"her always seeing you as offline."
+msgstr ""
+"Smazáním kontaktu také zrušíte autorizaci. Kontakt Vás tak vždy uvidí jako "
+"odpojeného."
 
-#: ../src/roster_window.py:2690
-msgid "By removing this contact you also by default remove authorization resulting in him or her always seeing you as offline."
-msgstr "Smazáním kontaktu také zrušíte autorizaci. Kontakt Vás tak vždy uvidí jako odpojeného."
+#: ../src/roster_window.py:3347
+msgid ""
+"By removing this contact you also by default remove authorization resulting "
+"in him or her always seeing you as offline."
+msgstr ""
+"Smazáním kontaktu také zrušíte autorizaci. Kontakt Vás tak vždy uvidí jako "
+"odpojeného."
 
-#: ../src/roster_window.py:2693
+#: ../src/roster_window.py:3350
 msgid "I want this contact to know my status after removal"
 msgstr "Chci aby tento kontakt věděl o mém stavu i po odstranění"
 
 #. several contact to remove at the same time
-#: ../src/roster_window.py:2697
+#: ../src/roster_window.py:3354
 msgid "Contacts will be removed from your roster"
 msgstr "Kontakty budou smazány z Vašeho rosteru"
 
-#: ../src/roster_window.py:2701
+#: ../src/roster_window.py:3358
 #, python-format
 msgid ""
 "By removing these contacts:%s\n"
@@ -5047,194 +5617,228 @@ msgstr ""
 "Smazáním těchto kontaktů:%s\n"
 "také zrušíte autorizaci. Kontakty Vás tak vždy uvidí jako odpojeného."
 
-#: ../src/roster_window.py:2733
-msgid "Gnome Keyring is installed but not correctly started (environment variable probably not correctly set)"
-msgstr "Gnome Keyring je nainstalován ale není správně spuštěn (proměná prostředí není asi správně nastavena)"
+#: ../src/roster_window.py:3390
+msgid ""
+"Gnome Keyring is installed but not correctly started (environment variable "
+"probably not correctly set)"
+msgstr ""
+"Gnome Keyring je nainstalován ale není správně spuštěn (proměná prostředí "
+"není asi správně nastavena)"
+
+#: ../src/roster_window.py:3417
+msgid "GPG is not usable"
+msgstr ""
 
-#. TODO: make this string translatable
 #. %s is the account name here
-#: ../src/roster_window.py:2761
-#: ../src/common/connection.py:677
-#: ../src/common/zeroconf/connection_zeroconf.py:158
+#: ../src/roster_window.py:3417 ../src/common/connection.py:681
+#: ../src/common/zeroconf/connection_zeroconf.py:165
 #, python-format
 msgid "You will be connected to %s without OpenPGP."
 msgstr "Budete připojen(a) k %s bez OpenPGP."
 
-#: ../src/roster_window.py:2778
+#: ../src/roster_window.py:3434
 msgid "Passphrase Required"
 msgstr "Heslo Vyžadováno"
 
-#: ../src/roster_window.py:2779
+#: ../src/roster_window.py:3435
 #, python-format
 msgid "Enter GPG key passphrase for account %s."
 msgstr "Zadej heslo GPG klíče pro účet %s."
 
-#: ../src/roster_window.py:2784
+#: ../src/roster_window.py:3440
 msgid "Save passphrase"
 msgstr "Uložit heslo"
 
-#: ../src/roster_window.py:2792
+#: ../src/roster_window.py:3448
 msgid "Wrong Passphrase"
 msgstr "Nesprávné heslo"
 
-#: ../src/roster_window.py:2793
+#: ../src/roster_window.py:3449
 msgid "Please retype your GPG passphrase or press Cancel."
 msgstr "Prosím zopakujte Vaše heslo pro GPG klíč, nebo stiskněte Zrušit."
 
-#: ../src/roster_window.py:2850
-#: ../src/roster_window.py:2910
+#: ../src/roster_window.py:3532 ../src/roster_window.py:3609
 msgid "You are participating in one or more group chats"
 msgstr "Účinkujete v jedné nebo více diskuzích"
 
-#: ../src/roster_window.py:2851
-#: ../src/roster_window.py:2911
-msgid "Changing your status to invisible will result in disconnection from those group chats. Are you sure you want to go invisible?"
-msgstr "Změna vašeho stavu na neviditelný způsobí odpojení od těchto diskuzí. Jste si jistý(á), že se chcete stát neviditelným(ou)?"
+#: ../src/roster_window.py:3533 ../src/roster_window.py:3610
+msgid ""
+"Changing your status to invisible will result in disconnection from those "
+"group chats. Are you sure you want to go invisible?"
+msgstr ""
+"Změna vašeho stavu na neviditelný způsobí odpojení od těchto diskuzí. Jste "
+"si jistý(á), že se chcete stát neviditelným(ou)?"
 
-#: ../src/roster_window.py:2868
+#: ../src/roster_window.py:3567
 msgid "No account available"
 msgstr "Žádný účet není dostupný"
 
-#: ../src/roster_window.py:2869
+#: ../src/roster_window.py:3568
 msgid "You must create an account before you can chat with other contacts."
-msgstr "Musíte vytvořit účet před tím, než budete moci hovořit s jinými uživateli."
+msgstr ""
+"Musíte vytvořit účet před tím, než budete moci hovořit s jinými uživateli."
 
-#: ../src/roster_window.py:2967
+#: ../src/roster_window.py:3696
 #, python-format
 msgid "\"%(title)s\" by %(artist)s"
 msgstr "\"%(title)s\" od %(artist)s"
 
-#: ../src/roster_window.py:3401
-#: ../src/roster_window.py:3408
-msgid "Messages will only be available for reading them later if you have history enabled."
-msgstr "Zprávy bude možné číst později pouze v případě, budete-li mít povolenou historii."
+#: ../src/roster_window.py:4146 ../src/roster_window.py:4153
+msgid ""
+"Messages will only be available for reading them later if you have history "
+"enabled."
+msgstr ""
+"Zprávy bude možné číst později pouze v případě, budete-li mít povolenou "
+"historii."
 
-#: ../src/roster_window.py:3992
+#: ../src/roster_window.py:4772
 msgid "Metacontacts storage not supported by your server"
 msgstr "Uložení metakontaktů není podporováno serverem"
 
-#: ../src/roster_window.py:3994
-msgid "Your server does not support storing metacontacts information. So those information will not be save on next reconnection."
-msgstr "Tvůj server nepodporuje ukládání metakontaktů. Tyto informace nebudou při přístím připojení uloženy."
+#: ../src/roster_window.py:4774
+msgid ""
+"Your server does not support storing metacontacts information. So those "
+"information will not be save on next reconnection."
+msgstr ""
+"Tvůj server nepodporuje ukládání metakontaktů. Tyto informace nebudou při "
+"přístím připojení uloženy."
 
-#: ../src/roster_window.py:4036
-msgid "You are about to create a metacontact. Are you sure you want to continue?"
+#: ../src/roster_window.py:4820
+msgid ""
+"You are about to create a metacontact. Are you sure you want to continue?"
 msgstr "Chystáte se vytvořit metacontact. Určitě chcete pokračovat?"
 
-#: ../src/roster_window.py:4038
-msgid "Metacontacts are a way to regroup several contacts in one line. Generally it is used when the same person has several Jabber accounts or transport accounts."
-msgstr "Metakontakty jsou způsob k organizaci několika kontaktů do jednoho. Obecně jsou užitečné, když jeden člověk má víc účtů v síti Jabber nebo účty v transportech."
-
-#: ../src/roster_window.py:4205
-#, python-format
-msgid "Drop %s in group %s"
-msgstr "Smazat %s ve skupinÄ› %s"
-
-#: ../src/roster_window.py:4212
-#, python-format
-msgid "Make %s and %s metacontacts"
-msgstr "Učiň %s a %s metakontakty"
+#: ../src/roster_window.py:4822
+msgid ""
+"Metacontacts are a way to regroup several contacts in one line. Generally it "
+"is used when the same person has several Jabber accounts or transport "
+"accounts."
+msgstr ""
+"Metakontakty jsou způsob k organizaci několika kontaktů do jednoho. Obecně "
+"jsou užitečné, když jeden člověk má víc účtů v síti Jabber nebo účty v "
+"transportech."
+
+#: ../src/roster_window.py:4920
+#, fuzzy, python-format
+msgid "Do you want to send that file to %s:"
+msgid_plural "Do you want to send those files to %s:"
+msgstr[0] "%s Vám chce poslat soubor:"
+msgstr[1] "%s Vám chce poslat soubor:"
+msgstr[2] "%s Vám chce poslat soubor:"
 
 # FIXME: nejak divne, asi spatne prelozene
-#: ../src/roster_window.py:4399
+#: ../src/roster_window.py:5202
 msgid "Change Status Message..."
 msgstr "Změnit popis stavu..."
 
-#: ../src/systray.py:144
+#: ../src/systray.py:164
 msgid "_Change Status Message..."
 msgstr "_Změnit popis stavu..."
 
-#: ../src/systray.py:232
+#: ../src/systray.py:249
 msgid "Hide this menu"
 msgstr "Skryje toto menu"
 
-#: ../src/tooltips.py:309
-#: ../src/tooltips.py:492
+#: ../src/tooltips.py:310 ../src/tooltips.py:503
 msgid "Jabber ID: "
 msgstr "Jabber ID:"
 
-#: ../src/tooltips.py:312
-#: ../src/tooltips.py:496
+#: ../src/tooltips.py:313 ../src/tooltips.py:507
 msgid "Resource: "
 msgstr "Zdroj: "
 
-#: ../src/tooltips.py:317
+#: ../src/tooltips.py:318
 #, python-format
 msgid "%(owner_or_admin_or_member)s of this group chat"
 msgstr "%(owner_or_admin_or_member)s této diskuze"
 
-#: ../src/tooltips.py:430
-#: ../src/tooltips.py:610
+#: ../src/tooltips.py:416
+msgid " [blocked]"
+msgstr ""
+
+#: ../src/tooltips.py:420
+msgid " [minimized]"
+msgstr ""
+
+#: ../src/tooltips.py:435 ../src/tooltips.py:623
 msgid "Status: "
 msgstr "Stav: "
 
-#: ../src/tooltips.py:461
+#: ../src/tooltips.py:465
 #, python-format
 msgid "Last status: %s"
 msgstr "Poslední stav: %s"
 
-#: ../src/tooltips.py:463
+#: ../src/tooltips.py:467
 #, python-format
 msgid " since %s"
 msgstr " od %s"
 
+#: ../src/tooltips.py:485
+#, fuzzy
+msgid "Connected"
+msgstr "Spojení"
+
+#: ../src/tooltips.py:487
+#, fuzzy
+msgid "Disconnected"
+msgstr "Kontakt se odpojil"
+
 #. ('both' is the normal sub so we don't show it)
-#: ../src/tooltips.py:502
+#: ../src/tooltips.py:514
 msgid "Subscription: "
 msgstr "Autorizace: "
 
-#: ../src/tooltips.py:512
+#: ../src/tooltips.py:524
 msgid "OpenPGP: "
 msgstr "OpenPGP: "
 
-#: ../src/tooltips.py:566
+#: ../src/tooltips.py:579
 msgid "Download"
 msgstr "Download"
 
-#: ../src/tooltips.py:572
+#: ../src/tooltips.py:585
 msgid "Upload"
 msgstr "Upload"
 
-#: ../src/tooltips.py:579
+#: ../src/tooltips.py:592
 msgid "Type: "
 msgstr "Typ: "
 
-#: ../src/tooltips.py:585
+#: ../src/tooltips.py:598
 msgid "Transferred: "
 msgstr "Přeneseno: "
 
-#: ../src/tooltips.py:588
-#: ../src/tooltips.py:609
+#: ../src/tooltips.py:601 ../src/tooltips.py:622
 msgid "Not started"
 msgstr "Nespuštěno"
 
-#: ../src/tooltips.py:592
+#: ../src/tooltips.py:605
 msgid "Stopped"
 msgstr "Zastaveno"
 
-#: ../src/tooltips.py:594
-#: ../src/tooltips.py:597
+#: ../src/tooltips.py:607 ../src/tooltips.py:610
 msgid "Completed"
 msgstr "Dokončeno"
 
-#: ../src/tooltips.py:601
+#: ../src/tooltips.py:614
 msgid "?transfer status:Paused"
 msgstr "?transfer status:Pozastaveno"
 
 #. stalled is not paused. it is like 'frozen' it stopped alone
-#: ../src/tooltips.py:605
+#: ../src/tooltips.py:618
 msgid "Stalled"
 msgstr "Stagnuje"
 
-#: ../src/tooltips.py:607
+#: ../src/tooltips.py:620
 msgid "Transferring"
 msgstr "Přenáším"
 
-#: ../src/tooltips.py:639
+#: ../src/tooltips.py:652
 msgid "This service has not yet responded with detailed information"
 msgstr "Tato služba dosud neodpověděla s detaily"
 
-#: ../src/tooltips.py:642
+#: ../src/tooltips.py:655
 msgid ""
 "This service could not respond with detailed information.\n"
 "It is most likely legacy or broken"
@@ -5242,51 +5846,79 @@ msgstr ""
 "Tato služba nemůže odpovědět s více podrobnostmi.\n"
 "Pravděpodobně je stará nebo rozbitá"
 
-#: ../src/vcard.py:217
+#: ../src/vcard.py:240
 msgid "?Client:Unknown"
 msgstr "?Client:Neznámý"
 
-#: ../src/vcard.py:219
+#: ../src/vcard.py:242
 msgid "?OS:Unknown"
 msgstr "?OS:Neznámý"
 
-#: ../src/vcard.py:247
-#: ../src/vcard.py:449
+#: ../src/vcard.py:267 ../src/vcard.py:277 ../src/vcard.py:467
 #, python-format
 msgid "since %s"
 msgstr "od %s"
 
-#: ../src/vcard.py:277
+#: ../src/vcard.py:306
 msgid "Affiliation:"
 msgstr "Vztah:"
 
-#: ../src/vcard.py:285
-msgid "This contact is interested in your presence information, but you are not interested in his/her presence"
+#: ../src/vcard.py:314
+msgid ""
+"This contact is interested in your presence information, but you are not "
+"interested in his/her presence"
 msgstr "Tento kontakt zajímá Váš stav, ale Vy se nezajímate o jeho stav"
 
-#: ../src/vcard.py:287
-msgid "You are interested in the contact's presence information, but he/she is not interested in yours"
+#: ../src/vcard.py:316
+msgid ""
+"You are interested in the contact's presence information, but he/she is not "
+"interested in yours"
 msgstr "Vy se zajímáte o stav kontaktu, ale on se nezajímá o Váš stav"
 
-#: ../src/vcard.py:289
+#: ../src/vcard.py:318
 msgid "You and the contact are interested in each other's presence information"
 msgstr "Vy i kontakt se zajímáte o stav toho druhého"
 
 #. None
-#: ../src/vcard.py:291
-msgid "You are not interested in the contact's presence, and neither he/she is interested in yours"
+#: ../src/vcard.py:320
+msgid ""
+"You are not interested in the contact's presence, and neither he/she is "
+"interested in yours"
 msgstr "Vy ani kontakt se nezajímáte o stav toho druhého"
 
-#: ../src/vcard.py:299
+#: ../src/vcard.py:328
 msgid "You are waiting contact's answer about your subscription request"
 msgstr "Čekáte na odpověď kontaktu na vaši žádost o autorizaci"
 
-#: ../src/vcard.py:311
-#: ../src/vcard.py:338
-#: ../src/vcard.py:482
+#: ../src/vcard.py:332 ../src/vcard.py:369 ../src/vcard.py:492
 msgid " resource with priority "
 msgstr "zdroj s prioritou "
 
+#: ../src/common/check_paths.py:33
+msgid "creating logs database"
+msgstr "vytvářím databázi historie"
+
+#: ../src/common/check_paths.py:96 ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:114
+#, python-format
+msgid "%s is a file but it should be a directory"
+msgstr "%s je soubor, ale měl by být adresář"
+
+#: ../src/common/check_paths.py:97 ../src/common/check_paths.py:108
+#: ../src/common/check_paths.py:115 ../src/common/check_paths.py:123
+msgid "Gajim will now exit"
+msgstr "Gajim se nyní ukončí"
+
+#: ../src/common/check_paths.py:122
+#, python-format
+msgid "%s is a directory but should be a file"
+msgstr "%s je adresář, ale měl by to být soubor"
+
+#: ../src/common/check_paths.py:138
+#, python-format
+msgid "creating %s directory"
+msgstr "vytvářím adresář %s "
+
 #: ../src/common/commands.py:69
 msgid "Change status information"
 msgstr "Informace o změně stavu"
@@ -5344,47 +5976,54 @@ msgstr "Opustit diskuzi"
 msgid "Choose the groupchats you want to leave"
 msgstr "Vyber diskuze, které chceš opustit"
 
-#: ../src/common/commands.py:194
-msgid "Groupchats"
-msgstr "Diskuze"
-
 #: ../src/common/commands.py:230
 msgid "You left the following groupchats:"
 msgstr "Opustil(a) jste následující diskuze:"
 
-#: ../src/common/config.py:56
+#: ../src/common/commands.py:242
+#, fuzzy
+msgid "Forward unread messages"
+msgstr "%d nepřečtená zpráva"
+
+#: ../src/common/commands.py:262
+msgid "All unread messages have been forwarded."
+msgstr ""
+
+#: ../src/common/config.py:57
 msgid "Use D-Bus and Notification-Daemon to show notifications"
 msgstr "Používej DBus a Notifikačního démona k zobrazování notifikací"
 
-#: ../src/common/config.py:61
+#: ../src/common/config.py:62
 msgid "Time in minutes, after which your status changes to away."
 msgstr "Čas v minutách, po kterém se Váš stav přepne na pryč."
 
-#: ../src/common/config.py:62
+#: ../src/common/config.py:63
 msgid "Away as a result of being idle"
 msgstr "Pryč jako výsledek nečinnosti"
 
-#: ../src/common/config.py:64
+#: ../src/common/config.py:65
 msgid "Time in minutes, after which your status changes to not available."
 msgstr "Čas v minutách, po kterém se Váš stav přepne na nedostupný."
 
-#: ../src/common/config.py:65
+#: ../src/common/config.py:66
 msgid "Not available as a result of being idle"
 msgstr "Nedostupný jako výsledek nečinnosti"
 
-#: ../src/common/config.py:83
-msgid "List (space separated) of rows (accounts and groups) that are collapsed."
-msgstr "Seznam (oddělené mezerami) řádků (účtů a skupin), které budou \"zhroucené\"."
+#: ../src/common/config.py:84
+msgid ""
+"List (space separated) of rows (accounts and groups) that are collapsed."
+msgstr ""
+"Seznam (oddělené mezerami) řádků (účtů a skupin), které budou \"zhroucené\"."
 
-#: ../src/common/config.py:88
+#: ../src/common/config.py:89
 msgid "Enable link-local/zeroconf messaging"
 msgstr "Povolit lokální zprávy typu zeroconf"
 
-#: ../src/common/config.py:91
+#: ../src/common/config.py:92
 msgid "Language used by speller"
 msgstr "Jazyk použitý kontrolou pravopisu"
 
-#: ../src/common/config.py:92
+#: ../src/common/config.py:93
 msgid ""
 "'always' - print time for every message.\n"
 "'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
@@ -5394,608 +6033,786 @@ msgstr ""
 "'někdy' - vypiš čas každou print_ichat_every_foo_minutes minutu.\n"
 "'nikdy' - nevypisuj čas."
 
-#: ../src/common/config.py:93
-msgid "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. This is used only if print_time is 'sometimes'."
-msgstr "Vypiš čas v rozhovorech s použitím Fuzzy Clock. Hodnota náhodnosti je od 1 to 4, nebo 0 pro vypnutí Fuzzy Clock. 1 je nejpřesnější čas, 4 nejméně přesný. Toto se použije jenom při print_time nastaveném na 'někdy'."
+#: ../src/common/config.py:94
+msgid ""
+"Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
+"to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
+"This is used only if print_time is 'sometimes'."
+msgstr ""
+"Vypiš čas v rozhovorech s použitím Fuzzy Clock. Hodnota náhodnosti je od 1 "
+"to 4, nebo 0 pro vypnutí Fuzzy Clock. 1 je nejpřesnější čas, 4 nejméně "
+"přesný. Toto se použije jenom při print_time nastaveném na 'někdy'."
 
-#: ../src/common/config.py:96
+#: ../src/common/config.py:97
 msgid "Treat * / _ pairs as possible formatting characters."
 msgstr "Ber * / _ páry jako možné formátovací znaky."
 
-#: ../src/common/config.py:97
-msgid "If True, do not remove */_ . So *abc* will be bold but with * * not removed."
-msgstr "Pokud zapnuto, nemažte */_ . Potom *abc* bude tučně ale s * * neodstraněnými."
-
-#: ../src/common/config.py:100
-msgid "Uses ReStructured text markup to send HTML, plus ascii formatting if selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html (If you want to use this, install docutils)"
-msgstr "Pokud je vybráno, použije ReStructured text markup k odeslání HTML, navíc s ascii formátování. Pro syntaxi navštivte http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html (Pokud si to chcete prohlédnout, nainstalujte docutils)"
+#: ../src/common/config.py:98
+msgid ""
+"If True, do not remove */_ . So *abc* will be bold but with * * not removed."
+msgstr ""
+"Pokud zapnuto, nemažte */_ . Potom *abc* bude tučně ale s * * neodstraněnými."
 
-#: ../src/common/config.py:109
-msgid "Character to add after nickname when using nick completion (tab) in group chat."
-msgstr "Znak, který se přidá za přezdívku po použití doplňování jména tabulátorem v diskuzi."
+#: ../src/common/config.py:101
+msgid ""
+"Uses ReStructured text markup to send HTML, plus ascii formatting if "
+"selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
+"restructuredtext.html (If you want to use this, install docutils)"
+msgstr ""
+"Pokud je vybráno, použije ReStructured text markup k odeslání HTML, navíc s "
+"ascii formátování. Pro syntaxi navštivte http://docutils.sourceforge.net/"
+"docs/ref/rst/restructuredtext.html (Pokud si to chcete prohlédnout, "
+"nainstalujte docutils)"
 
 #: ../src/common/config.py:110
-msgid "Character to propose to add after desired nickname when desired nickname is used by someone else in group chat."
-msgstr "Znak navržený pro přidání za zamýšlenou přezdívku, pokud už ji používá někdo jiný v diskuzi."
+msgid ""
+"Character to add after nickname when using nick completion (tab) in group "
+"chat."
+msgstr ""
+"Znak, který se přidá za přezdívku po použití doplňování jména tabulátorem v "
+"diskuzi."
 
-#: ../src/common/config.py:133
-msgid "This option let you customize timestamp that is printed in conversation. For exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on strftime for full documentation: http://docs.python.org/lib/module-time.html"
-msgstr "Tato volba umožní vlastní formátování času, který je zobrazován v rozhovorech. Například \"[%H:%M]\" zobrazí \"[hodina:minuta]\". Pro víc informací shlédněte dokumentaci pythonu funkce strftime na: http://docs.python.org/lib/module-time.html"
+#: ../src/common/config.py:111
+msgid ""
+"Character to propose to add after desired nickname when desired nickname is "
+"used by someone else in group chat."
+msgstr ""
+"Znak navržený pro přidání za zamýšlenou přezdívku, pokud už ji používá někdo "
+"jiný v diskuzi."
 
 #: ../src/common/config.py:134
+msgid ""
+"This option let you customize timestamp that is printed in conversation. For "
+"exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
+"strftime for full documentation: http://docs.python.org/lib/module-time.html"
+msgstr ""
+"Tato volba umožní vlastní formátování času, který je zobrazován v "
+"rozhovorech. Například \"[%H:%M]\" zobrazí \"[hodina:minuta]\". Pro víc "
+"informací shlédněte dokumentaci pythonu funkce strftime na: http://docs."
+"python.org/lib/module-time.html"
+
+#: ../src/common/config.py:135
 msgid "Characters that are printed before the nickname in conversations"
 msgstr "Znaky, které budou vypisovány před přezdívkou v rozhovorech"
 
-#: ../src/common/config.py:135
+#: ../src/common/config.py:136
 msgid "Characters that are printed after the nickname in conversations"
 msgstr "Znaky, které budou vypisovány za přezdívkou v rozhovorech"
 
-#: ../src/common/config.py:142
+#: ../src/common/config.py:143
 msgid "Add * and [n] in roster title?"
 msgstr "Přidat * a [n] k titulku Seznamu?"
 
-#: ../src/common/config.py:143
-msgid "How many lines to remember from previous conversation when a chat tab/window is reopened."
-msgstr "Jak moc řádků si pamatovat z předchozího rozhovoru, když je okno/záložka rozhovoru znovu otevřena."
-
 #: ../src/common/config.py:144
+msgid ""
+"How many lines to remember from previous conversation when a chat tab/window "
+"is reopened."
+msgstr ""
+"Jak moc řádků si pamatovat z předchozího rozhovoru, když je okno/záložka "
+"rozhovoru znovu otevřena."
+
+#: ../src/common/config.py:145
 msgid "How many minutes should last lines from previous conversation last."
 msgstr "Kolik minut by měly řádky z předchozího rozhovoru zůstat."
 
-#: ../src/common/config.py:145
-msgid "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ Client default behaviour)."
-msgstr "Odeslat zprávu při Ctrl+Enter a při Enter přejít na nový řádek (výchozí chování klienta Mirabilis ICQ)."
+#: ../src/common/config.py:146
+msgid ""
+"Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
+"Client default behaviour)."
+msgstr ""
+"Odeslat zprávu při Ctrl+Enter a při Enter přejít na nový řádek (výchozí "
+"chování klienta Mirabilis ICQ)."
 
-#: ../src/common/config.py:147
+#: ../src/common/config.py:148
 msgid "How many lines to store for Ctrl+KeyUP."
 msgstr "Kolik řádků uložit pro Ctrl+Šipka nahoru."
 
-#: ../src/common/config.py:150
+#: ../src/common/config.py:151
 #, python-format
-msgid "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' which means use wiktionary."
-msgstr "Buď vlastní url s %s v těle, kde %s je slovo nebo fráze, nebo 'WIKTIONARY', která znamená že se použije wiktionary."
+msgid ""
+"Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' "
+"which means use wiktionary."
+msgstr ""
+"Buď vlastní url s %s v těle, kde %s je slovo nebo fráze, nebo 'WIKTIONARY', "
+"která znamená že se použije wiktionary."
 
-#: ../src/common/config.py:153
+#: ../src/common/config.py:154
 msgid "If checked, Gajim can be controlled remotely using gajim-remote."
 msgstr "Pokud zaškrtnuta, Gajim může být ovládán vzdáleně pomocí gajim-remote."
 
-#: ../src/common/config.py:154
-msgid "If True, listen to D-Bus signals from NetworkManager and change the status of accounts (provided they do not have listen_to_network_manager set to False and they sync with global status) based upon the status of the network connection."
-msgstr "Je-li povoleno, čeká na D-Bus signál z NetworkManager a změní stav účtů (pokud nemají nastaveno listen_to_network_manager nastavený na False a synchronizují se s globálním stavem) v závislosti na stavu síťového připojení."
-
 #: ../src/common/config.py:155
-msgid "Sent chat state notifications. Can be one of all, composing_only, disabled."
-msgstr "Odešílat události stavu rozhovoru. Může být pouze jediná, composing_only, vypnutá."
+msgid ""
+"If True, listen to D-Bus signals from NetworkManager and change the status "
+"of accounts (provided they do not have listen_to_network_manager set to "
+"False and they sync with global status) based upon the status of the network "
+"connection."
+msgstr ""
+"Je-li povoleno, čeká na D-Bus signál z NetworkManager a změní stav účtů "
+"(pokud nemají nastaveno listen_to_network_manager nastavený na False a "
+"synchronizují se s globálním stavem) v závislosti na stavu síťového "
+"připojení."
 
 #: ../src/common/config.py:156
-msgid "Displayed chat state notifications in chat windows. Can be one of all, composing_only, disabled."
-msgstr "Zobraz stavy rozhovoru v okně rozhovoru. Může být jedno z all, composing_only nebo disabled."
+msgid ""
+"Sent chat state notifications. Can be one of all, composing_only, disabled."
+msgstr ""
+"Odešílat události stavu rozhovoru. Může být pouze jediná, composing_only, "
+"vypnutá."
 
-#: ../src/common/config.py:158
-msgid "When not printing time for every message (print_time==sometimes), print it every x minutes."
-msgstr "Když nevypisuji čas pro každou zprávu (print_time=='někdy'), vypisuj ji každých x minut."
+#: ../src/common/config.py:157
+msgid ""
+"Displayed chat state notifications in chat windows. Can be one of all, "
+"composing_only, disabled."
+msgstr ""
+"Zobraz stavy rozhovoru v okně rozhovoru. Může být jedno z all, "
+"composing_only nebo disabled."
 
 #: ../src/common/config.py:159
-msgid "Ask before closing a group chat tab/window."
-msgstr "Ptát se před zavřením oken/záložek diskuzí."
+msgid ""
+"When not printing time for every message (print_time==sometimes), print it "
+"every x minutes."
+msgstr ""
+"Když nevypisuji čas pro každou zprávu (print_time=='někdy'), vypisuj ji "
+"každých x minut."
 
 #: ../src/common/config.py:160
-msgid "Always ask before closing group chat tab/window in this space separated list of group chat jids."
-msgstr "Vždy se ptát před zavřením oken/panelů diskuzí uvedených v tomto seznamu mezerami oddělením Jabber ID místností."
+msgid "Ask before closing a group chat tab/window."
+msgstr "Ptát se před zavřením oken/záložek diskuzí."
 
 #: ../src/common/config.py:161
-msgid "Never ask before closing group chat tab/window in this space separated list of group chat jids."
-msgstr "Nikdy se neptát před zavřením oken/záložek diskuzí uvedených v tomto seznamu mezerami oddělenými Jabber ID místností."
+msgid ""
+"Always ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Vždy se ptát před zavřením oken/panelů diskuzí uvedených v tomto seznamu "
+"mezerami oddělením Jabber ID místností."
+
+#: ../src/common/config.py:162
+msgid ""
+"Never ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Nikdy se neptát před zavřením oken/záložek diskuzí uvedených v tomto seznamu "
+"mezerami oddělenými Jabber ID místností."
 
-#: ../src/common/config.py:164
-msgid "Comma separated list of hosts that we send, in addition of local interfaces, for File Transfer in case of address translation/port forwarding."
-msgstr "Čárkami oddělený seznam počítačů kterým posíláme, navíc k lokálním síťovým rozhraním, pro přenos souborů v případě překladu adres nebo přesměrováním portů."
+#: ../src/common/config.py:165
+msgid ""
+"Comma separated list of hosts that we send, in addition of local interfaces, "
+"for File Transfer in case of address translation/port forwarding."
+msgstr ""
+"Čárkami oddělený seznam počítačů kterým posíláme, navíc k lokálním síťovým "
+"rozhraním, pro přenos souborů v případě překladu adres nebo přesměrováním "
+"portů."
 
-#: ../src/common/config.py:166
+#: ../src/common/config.py:167
 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
 msgstr "IEC standard říká KiB = 1024 bytů, KB = 1000 bytů."
 
-#: ../src/common/config.py:168
+#: ../src/common/config.py:169
 msgid "Notify of events in the system trayicon."
 msgstr "Upozorni na události v systémovém trayi."
 
-#: ../src/common/config.py:174
+#: ../src/common/config.py:175
 msgid "Show tab when only one conversation?"
 msgstr "Zobrazit záložku při jediném rozhovoru?"
 
-#: ../src/common/config.py:175
+#: ../src/common/config.py:176
 msgid "Show tabbed notebook border in chat windows?"
 msgstr "Zobrazit okraj panelu v oknech rozhovorů?"
 
-#: ../src/common/config.py:176
+#: ../src/common/config.py:177
 msgid "Show close button in tab?"
 msgstr "Zobrazit tlačitko zavřít v záložce?"
 
-#: ../src/common/config.py:189
-msgid "A semicolon-separated list of words that will be highlighted in group chats."
-msgstr "Středníkem oddělený seznam slov, které budou zvýrazněny v diskuzích."
-
-#: ../src/common/config.py:190
-msgid "If True, quits Gajim when X button of Window Manager is clicked. This setting is taken into account only if trayicon is used."
-msgstr "Pokud zapnuto, ukonči Gajim když bude stisknuto tlačítko X v titulku okna. Toto nastavení se použije pouze tehdy, pokud je použita ikona v trayi."
+#: ../src/common/config.py:186
+msgid "Preview new messages in notification popup?"
+msgstr ""
 
 #: ../src/common/config.py:191
-msgid "If True, Gajim will check if it's the default jabber client on each startup."
-msgstr "Pokud zapnuto, Gajim zkontroluje, zda je výchozí jabber klient, při každém startu."
+msgid ""
+"A semicolon-separated list of words that will be highlighted in group chats."
+msgstr "Středníkem oddělený seznam slov, které budou zvýrazněny v diskuzích."
 
 #: ../src/common/config.py:192
-msgid "If True, Gajim will display an icon on each tab containing unread messages. Depending on the theme, this icon may be animated."
-msgstr "Pokud zapnuto, Gajim zobrazí ikonu v každé záložce obsahující nepřečtené zprávy. V závislosti na tématu, tato ikona může být animovaná."
+msgid ""
+"If True, quits Gajim when X button of Window Manager is clicked. This "
+"setting is taken into account only if trayicon is used."
+msgstr ""
+"Pokud zapnuto, ukonči Gajim když bude stisknuto tlačítko X v titulku okna. "
+"Toto nastavení se použije pouze tehdy, pokud je použita ikona v trayi."
 
 #: ../src/common/config.py:193
-msgid "If True, Gajim will display the status message, if not empty, for every contact under the contact name in roster window."
-msgstr "Pokud zapnuto, Gajim zobrazí popis stavu, pokud není prázdný, pro každý kontakt pod jménem v okně Seznamu."
+msgid ""
+"If True, Gajim will check if it's the default jabber client on each startup."
+msgstr ""
+"Pokud zapnuto, Gajim zkontroluje, zda je výchozí jabber klient, při každém "
+"startu."
+
+#: ../src/common/config.py:194
+msgid ""
+"If True, Gajim will display an icon on each tab containing unread messages. "
+"Depending on the theme, this icon may be animated."
+msgstr ""
+"Pokud zapnuto, Gajim zobrazí ikonu v každé záložce obsahující nepřečtené "
+"zprávy. V závislosti na tématu, tato ikona může být animovaná."
 
 #: ../src/common/config.py:195
-msgid "If True, Gajim will ask for avatar each contact that did not have an avatar last time or has one cached that is too old."
-msgstr "pokud zapnuto, Gajim se zeptá na avatara každého kontaktu který neměl naposledy avatara nebo kterého uložený je příliš starý."
+msgid ""
+"If True, Gajim will display the status message, if not empty, for every "
+"contact under the contact name in roster window."
+msgstr ""
+"Pokud zapnuto, Gajim zobrazí popis stavu, pokud není prázdný, pro každý "
+"kontakt pod jménem v okně Seznamu."
 
-#: ../src/common/config.py:196
-msgid "If False, Gajim will no longer print status line in chats when a contact changes his or her status and/or his or her status message."
-msgstr "Pokud vypnuto, Gajim nebude zobrazovat stavové řádky v rozhovorech, když kontakt změní jeho stav a/nebo jeho stavovou zprávu."
+#: ../src/common/config.py:197
+msgid ""
+"If True, Gajim will ask for avatar each contact that did not have an avatar "
+"last time or has one cached that is too old."
+msgstr ""
+"pokud zapnuto, Gajim se zeptá na avatara každého kontaktu který neměl "
+"naposledy avatara nebo kterého uložený je příliš starý."
 
-#: ../src/common/config.py:197
-msgid "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no longer print status line in groupchats when a member changes his or her status and/or his or her status message. If \"all\" Gajim will print all status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves group chat."
-msgstr "může být \"none\", \"all\", \"in_and_out\". Pokud je \"none\", Gajim nebude nadále vypisovat stavy v diskuzích když účastník změní svůj stav nebo stavovou zprávu. Pokud je \"all\", Gajim bude vypisovat všechny změny stavů. Při \"in_and_out\" Gajim vypíše stav jenom při vstupu a odchodu z místnosti."
+#: ../src/common/config.py:198
+msgid ""
+"If False, Gajim will no longer print status line in chats when a contact "
+"changes his or her status and/or his or her status message."
+msgstr ""
+"Pokud vypnuto, Gajim nebude zobrazovat stavové řádky v rozhovorech, když "
+"kontakt změní jeho stav a/nebo jeho stavovou zprávu."
 
 #: ../src/common/config.py:199
+msgid ""
+"can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
+"longer print status line in groupchats when a member changes his or her "
+"status and/or his or her status message. If \"all\" Gajim will print all "
+"status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves "
+"group chat."
+msgstr ""
+"může být \"none\", \"all\", \"in_and_out\". Pokud je \"none\", Gajim nebude "
+"nadále vypisovat stavy v diskuzích když účastník změní svůj stav nebo "
+"stavovou zprávu. Pokud je \"all\", Gajim bude vypisovat všechny změny stavů. "
+"Při \"in_and_out\" Gajim vypíše stav jenom při vstupu a odchodu z místnosti."
+
+#: ../src/common/config.py:201
 msgid "Background color of contacts when they just signed in."
 msgstr "Barva pozadí kontaktů, jež se zrovna přihlásili."
 
-#: ../src/common/config.py:200
+#: ../src/common/config.py:202
 msgid "Background color of contacts when they just signed out."
 msgstr "Barva pozadí kontaktů, jež se přávě odhlásili."
 
-#: ../src/common/config.py:202
-msgid "If True, restored messages will use a smaller font than the default one."
-msgstr "Pokud je povoleno, minulé zprávy budou vypsány menším písmem, než je výchozí."
+#: ../src/common/config.py:204
+msgid ""
+"If True, restored messages will use a smaller font than the default one."
+msgstr ""
+"Pokud je povoleno, minulé zprávy budou vypsány menším písmem, než je výchozí."
 
-#: ../src/common/config.py:203
+#: ../src/common/config.py:205
 msgid "Don't show avatar for the transport itself."
 msgstr "Nezobrazuj avatara pro transport samotný."
 
-#: ../src/common/config.py:204
+#: ../src/common/config.py:206
 msgid "Don't show roster in the system taskbar."
 msgstr "Nezobrazuj roster v liště úloh."
 
-#: ../src/common/config.py:205
-msgid "If True and installed GTK+ and PyGTK versions are at least 2.8, make the window flash (the default behaviour in most Window Managers) when holding pending events."
-msgstr "Pokud je True a instalované GTK+ a PyGTK verze jsou alespoň 2.8, blikej oknem (výchozí chování ve většině Window Managerů) pokud čekají nové události."
-
 #: ../src/common/config.py:207
-msgid "Jabberd1.4 does not like sha info when one join a password protected group chat. Turn this option to False to stop sending sha info in group chat presences."
-msgstr "Jabberd1.4 nemá rád sha informaci, pokud někdo vstupuje do místnosti chráněné heslem. Zaškrtněte tuto volbu na False, aby se sha informace neposílala v presenci u diskuzí."
+msgid ""
+"If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
+"window flash (the default behaviour in most Window Managers) when holding "
+"pending events."
+msgstr ""
+"Pokud je True a instalované GTK+ a PyGTK verze jsou alespoň 2.8, blikej "
+"oknem (výchozí chování ve většině Window Managerů) pokud čekají nové "
+"události."
+
+#: ../src/common/config.py:209
+msgid ""
+"Jabberd1.4 does not like sha info when one join a password protected group "
+"chat. Turn this option to False to stop sending sha info in group chat "
+"presences."
+msgstr ""
+"Jabberd1.4 nemá rád sha informaci, pokud někdo vstupuje do místnosti "
+"chráněné heslem. Zaškrtněte tuto volbu na False, aby se sha informace "
+"neposílala v presenci u diskuzí."
 
 #. always, never, peracct, pertype should not be translated
-#: ../src/common/config.py:210
+#: ../src/common/config.py:212
 msgid ""
 "Controls the window where new messages are placed.\n"
 "'always' - All messages are sent to a single window.\n"
 "'never' - All messages get their own window.\n"
 "'peracct' - Messages for each account are sent to a specific window.\n"
-"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a specific window. Note, changing this option requires restarting Gajim before the changes will take effect."
+"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a "
+"specific window. Note, changing this option requires restarting Gajim before "
+"the changes will take effect."
 msgstr ""
 "Řídí okno, kam budou doručeny nové zprávy.\n"
 "'vždy' - Všechny zprávy jsou odeslány do jediného okna.\n"
 "'nikdy' - Všechny zprávy dostanou svoje vlastní okno.\n"
 "'peracct' - Zprávy pro každý účet jsou doručeny do zvláštních oken.\n"
-"'pertype' - Každý typ zprávy (např. rohovor vs diskuze) jsou odeslány do zvláštního okna. Vězte, že změna této volby vyžaduje restartování Gajimu, aby se projevila"
+"'pertype' - Každý typ zprávy (např. rohovor vs diskuze) jsou odeslány do "
+"zvláštního okna. Vězte, že změna této volby vyžaduje restartování Gajimu, "
+"aby se projevila"
 
-#: ../src/common/config.py:211
+#: ../src/common/config.py:213
 msgid "If False, you will no longer see the avatar in the chat window."
 msgstr "Pokud je False, nebudete nadále vidět avatary v okně rozhovoru"
 
-#: ../src/common/config.py:212
+#: ../src/common/config.py:214
 msgid "If True, pressing the escape key closes a tab/window."
 msgstr "Pokud je True, stiskem escape zavřete panel nebo okno"
 
-#: ../src/common/config.py:213
-msgid "Hides the buttons in group chat window."
+#: ../src/common/config.py:215
+#, fuzzy
+msgid "Hides the buttons in chat windows."
 msgstr "Skryje tlačítka v okně diskuze."
 
-#: ../src/common/config.py:214
-msgid "Hides the buttons in two persons chat window."
-msgstr "Skryje tlačítka v okně rozhovoru dvou lidí."
-
-#: ../src/common/config.py:215
+#: ../src/common/config.py:216
 msgid "Hides the banner in a group chat window"
 msgstr "Skryje nadpis v oknÄ› diskuze"
 
-#: ../src/common/config.py:216
+#: ../src/common/config.py:217
 msgid "Hides the banner in two persons chat window"
 msgstr "Skryje nadpis v okně rozhovoru dvou lidí"
 
-#: ../src/common/config.py:217
+#: ../src/common/config.py:218
 msgid "Hides the group chat occupants list in group chat window."
 msgstr "Skryje seznam lidí místnosti v okně diskuze."
 
-#: ../src/common/config.py:218
-msgid "In a chat, show the nickname at the beginning of a line only when it's not the same person talking than in previous message."
-msgstr "V rozhovoru zobraz přezdívku na začátku řádku pouze v případě, když to není stejný člověk, jako v předchozí zprávě."
-
 #: ../src/common/config.py:219
-msgid "Indentation when using merge consecutive nickname."
+msgid ""
+"In a chat, show the nickname at the beginning of a line only when it's not "
+"the same person talking than in previous message."
 msgstr ""
+"V rozhovoru zobraz přezdívku na začátku řádku pouze v případě, když to není "
+"stejný člověk, jako v předchozí zprávě."
 
 #: ../src/common/config.py:220
-msgid "List of colors that will be used to color nicknames in group chats."
-msgstr "Seznam barev používaných k obarvení přezdívek v diskuzích."
+msgid "Indentation when using merge consecutive nickname."
+msgstr ""
 
 #: ../src/common/config.py:221
-msgid "Ctrl-Tab go to next composing tab when none is unread."
-msgstr "Ctrl-Tab jde na další rozepsanou záložku, když žádný není nepřečtená."
+#, fuzzy
+msgid "Smooth scroll message in conversation window"
+msgstr "Odeslat zprávu a zavřít okno"
 
 #: ../src/common/config.py:222
-msgid "Should we show the confirm metacontacts creation dialog or not? Empty string means we never show the dialog."
-msgstr "Mám zobrazit dialog vytvoření metakontaktu nebo ne? Prázdný řetezec znamená nikdy nezobrazovat dialog."
+msgid "List of colors that will be used to color nicknames in group chats."
+msgstr "Seznam barev používaných k obarvení přezdívek v diskuzích."
 
 #: ../src/common/config.py:223
-msgid "If True, you will be able to set a negative priority to your account in account modification window. BE CAREFUL, when you are logged in with a negative priority, you will NOT receive any message from your server."
-msgstr "Je-li povoleno, bude možné použít zápornou prioritu účtu v okně úprava účtu. BUĎ OPATRNÝ, když jsi přihlášen se zápornou prioritou, nedostaneš od serveru žádnou zprávu."
+msgid "Ctrl-Tab go to next composing tab when none is unread."
+msgstr "Ctrl-Tab jde na další rozepsanou záložku, když žádný není nepřečtená."
 
 #: ../src/common/config.py:224
-msgid "If True, Gajim will use Gnome Keyring (if available) to store account passwords."
-msgstr "Je-li povoleno, Gajim použije Gnome Keyring (je-li dostupný) k uložení hesel k účtům."
+msgid ""
+"Should we show the confirm metacontacts creation dialog or not? Empty string "
+"means we never show the dialog."
+msgstr ""
+"Mám zobrazit dialog vytvoření metakontaktu nebo ne? Prázdný řetezec znamená "
+"nikdy nezobrazovat dialog."
 
 #: ../src/common/config.py:225
-msgid "If True, Gajim will show number of online and total contacts in account and group rows."
-msgstr "Je-li povoleno, Gajim zobrazí počet dostupných a všech kontaktů v účtu a u řádků skupin."
+msgid ""
+"If True, you will be able to set a negative priority to your account in "
+"account modification window. BE CAREFUL, when you are logged in with a "
+"negative priority, you will NOT receive any message from your server."
+msgstr ""
+"Je-li povoleno, bude možné použít zápornou prioritu účtu v okně úprava účtu. "
+"BUĎ OPATRNÝ, když jsi přihlášen se zápornou prioritou, nedostaneš od serveru "
+"žádnou zprávu."
 
 #: ../src/common/config.py:226
-msgid "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages as if they were of this type"
-msgstr "Může být prázdný, 'chat' nebo 'message'. Není-lí prázdné, považuj všechny příchozí zprávy jako uvedený typ"
+msgid ""
+"If True, Gajim will use Gnome Keyring (if available) to store account "
+"passwords."
+msgstr ""
+"Je-li povoleno, Gajim použije Gnome Keyring (je-li dostupný) k uložení hesel "
+"k účtům."
+
+#: ../src/common/config.py:227
+msgid ""
+"If True, Gajim will show number of online and total contacts in account and "
+"group rows."
+msgstr ""
+"Je-li povoleno, Gajim zobrazí počet dostupných a všech kontaktů v účtu a u "
+"řádků skupin."
+
+#: ../src/common/config.py:228
+msgid ""
+"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
+"as if they were of this type"
+msgstr ""
+"Může být prázdný, 'chat' nebo 'message'. Není-lí prázdné, považuj všechny "
+"příchozí zprávy jako uvedený typ"
+
+#: ../src/common/config.py:229
+msgid ""
+"If True, Gajim will scroll and select the contact who sent you the last "
+"message, if chat window is not already opened."
+msgstr ""
+
+#: ../src/common/config.py:230
+msgid ""
+"If True, Gajim will convert string between $$ and $$ to an image using dvips "
+"and convert before insterting it in chat window."
+msgstr ""
+
+#: ../src/common/config.py:231
+msgid "Time of inactivity needed before the change status window closes down."
+msgstr ""
+
+#: ../src/common/config.py:232
+msgid ""
+"Maximum number of lines that are printed in conversations. Oldest lines are "
+"cleared."
+msgstr ""
 
-#: ../src/common/config.py:237
-msgid "Priority will change automatically according to your status. Priorities are defined in autopriority_* options."
-msgstr "Priorita se změní automaticky podle tvého stavu. Priority jsou definovány v nastavení jako položky autopriority_*."
+#: ../src/common/config.py:243
+msgid ""
+"Priority will change automatically according to your status. Priorities are "
+"defined in autopriority_* options."
+msgstr ""
+"Priorita se změní automaticky podle tvého stavu. Priority jsou definovány v "
+"nastavení jako položky autopriority_*."
 
 #. yes, no, ask
-#: ../src/common/config.py:266
+#: ../src/common/config.py:273
 msgid "Jabberd2 workaround"
 msgstr "Jabberd2 workaround"
 
-#: ../src/common/config.py:270
-msgid "If checked, Gajim will use your IP and proxies defined in file_transfer_proxies option for file transfer."
-msgstr "Pokud je zaškrtnuto, Gajim použije Vaší IP a proxy servery definované ve volbě pro přenos souborů file_transfer_proxies."
+#: ../src/common/config.py:277
+msgid ""
+"If checked, Gajim will use your IP and proxies defined in "
+"file_transfer_proxies option for file transfer."
+msgstr ""
+"Pokud je zaškrtnuto, Gajim použije Vaší IP a proxy servery definované ve "
+"volbě pro přenos souborů file_transfer_proxies."
 
-#: ../src/common/config.py:329
+#: ../src/common/config.py:336
 msgid "Is OpenPGP enabled for this contact?"
 msgstr "Je OpenPGP povoleno pro tento kontakt?"
 
-#: ../src/common/config.py:330
-#: ../src/common/config.py:333
+#: ../src/common/config.py:337 ../src/common/config.py:340
 msgid "Language for which we want to check misspelled words"
 msgstr "Jazyk, pro který chcete kontrolovat překlepy ve slovech"
 
-#: ../src/common/config.py:339
+#: ../src/common/config.py:346
 msgid "all or space separated status"
 msgstr "všechny nebo mezerou oddělené stavy"
 
-#: ../src/common/config.py:340
+#: ../src/common/config.py:347
 msgid "'yes', 'no', or 'both'"
 msgstr "'yes', 'no', nebo 'both'"
 
-#: ../src/common/config.py:341
-#: ../src/common/config.py:343
-#: ../src/common/config.py:344
-#: ../src/common/config.py:347
-#: ../src/common/config.py:348
+#: ../src/common/config.py:348 ../src/common/config.py:350
+#: ../src/common/config.py:351 ../src/common/config.py:354
+#: ../src/common/config.py:355
 msgid "'yes', 'no' or ''"
 msgstr "'yes', 'no' nebo ''"
 
-#: ../src/common/config.py:354
+#: ../src/common/config.py:361
 msgid "Sleeping"
 msgstr "Spím"
 
-#: ../src/common/config.py:355
+#: ../src/common/config.py:362
 msgid "Back soon"
 msgstr "Hned jsem zpět"
 
-#: ../src/common/config.py:355
+#: ../src/common/config.py:362
 msgid "Back in some minutes."
 msgstr "Jsem zpátky za pár minut."
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:363
 msgid "Eating"
 msgstr "Jím"
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:363
 msgid "I'm eating, so leave me a message."
 msgstr "Právě jím, prosím zanechte mi zprávu."
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:364
 msgid "Movie"
 msgstr "Film"
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:364
 msgid "I'm watching a movie."
 msgstr "Dívám se na film."
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:365
 msgid "Working"
 msgstr "Pracuji"
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:365
 msgid "I'm working."
 msgstr "Právě pracuji."
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:366
 msgid "Phone"
 msgstr "Telefon"
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:366
 msgid "I'm on the phone."
 msgstr "Zrovna telefonuji."
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:367
 msgid "Out"
 msgstr "Venku"
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:367
 msgid "I'm out enjoying life."
 msgstr "Užívám si života venku."
 
-#: ../src/common/config.py:364
+#: ../src/common/config.py:371
 msgid "I'm available."
 msgstr "Jsem dostupný."
 
-#: ../src/common/config.py:365
+#: ../src/common/config.py:372
 msgid "I'm free for chat."
 msgstr "Hledám někoho na pokec."
 
-#: ../src/common/config.py:367
+#: ../src/common/config.py:374
 msgid "I'm not available."
 msgstr "Nejsem dostupný."
 
-#: ../src/common/config.py:368
+#: ../src/common/config.py:375
 msgid "Do not disturb."
 msgstr "Nerušit."
 
-#: ../src/common/config.py:369
-#: ../src/common/config.py:370
+#: ../src/common/config.py:376 ../src/common/config.py:377
 msgid "Bye!"
 msgstr "Zdar!"
 
-#: ../src/common/config.py:379
-msgid "Sound to play when a group chat message contains one of the words in muc_highlight_words, or when a group chat message contains your nickname."
-msgstr "Zvuk, který bude přehrán, pokud zpráva diskuze obsahuje jedno ze slov v muc_highlight_words, nebo když obsahuje Vaši přezdívku."
+#: ../src/common/config.py:386
+msgid ""
+"Sound to play when a group chat message contains one of the words in "
+"muc_highlight_words, or when a group chat message contains your nickname."
+msgstr ""
+"Zvuk, který bude přehrán, pokud zpráva diskuze obsahuje jedno ze slov v "
+"muc_highlight_words, nebo když obsahuje Vaši přezdívku."
 
-#: ../src/common/config.py:380
+#: ../src/common/config.py:387
 msgid "Sound to play when any MUC message arrives."
 msgstr "Přehraný zvuk při příchodu jakékoliv MUC zprávy."
 
-#: ../src/common/config.py:389
-#: ../src/common/optparser.py:195
+#: ../src/common/config.py:396 ../src/common/optparser.py:207
 msgid "green"
 msgstr "zelený"
 
-#: ../src/common/config.py:393
-#: ../src/common/optparser.py:181
+#: ../src/common/config.py:400 ../src/common/optparser.py:193
 msgid "grocery"
 msgstr "potraviny"
 
-#: ../src/common/config.py:397
+#: ../src/common/config.py:404
 msgid "human"
 msgstr "člověk"
 
-#: ../src/common/config.py:401
+#: ../src/common/config.py:408
 msgid "marine"
 msgstr "mariňák"
 
-#: ../src/common/connection_handlers.py:52
+#: ../src/common/connection_handlers.py:54
 #: ../src/common/zeroconf/connection_handlers_zeroconf.py:44
 msgid "Unable to load idle module"
 msgstr "Nelze nahrát idle modul"
 
-#: ../src/common/connection_handlers.py:180
-#: ../src/common/connection_handlers.py:215
+#: ../src/common/connection_handlers.py:182
+#: ../src/common/connection_handlers.py:217
 #: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
 msgid "Wrong host"
 msgstr "Nesprávné jméno počítače"
 
-#: ../src/common/connection_handlers.py:180
+#: ../src/common/connection_handlers.py:182
 #: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
 #, python-format
-msgid "The host %s you configured as the ft_add_hosts_to_send advanced option is not valid, so ignored."
+msgid ""
+"The host %s you configured as the ft_add_hosts_to_send advanced option is "
+"not valid, so ignored."
 msgstr ""
 
-#: ../src/common/connection_handlers.py:216
+#: ../src/common/connection_handlers.py:218
 msgid "Invalid local address? :-O"
 msgstr "Neplatná místní adresa? :-O"
 
-#: ../src/common/connection_handlers.py:607
+#: ../src/common/connection_handlers.py:610
 #, python-format
 msgid "Registration information for transport %s has not arrived in time"
 msgstr "Registrační informace pro transport %s nedorazily včas"
 
-#: ../src/common/connection_handlers.py:1565
+#: ../src/common/connection_handlers.py:1642
 #, python-format
 msgid "Nickname not allowed: %s"
 msgstr "Přezdívka nepovolena: %s"
 
-#. password required to join
 #. we are banned
 #. group chat does not exist
-#: ../src/common/connection_handlers.py:1627
-#: ../src/common/connection_handlers.py:1630
-#: ../src/common/connection_handlers.py:1633
-#: ../src/common/connection_handlers.py:1636
-#: ../src/common/connection_handlers.py:1639
-#: ../src/common/connection_handlers.py:1642
-#: ../src/common/connection_handlers.py:1650
+#: ../src/common/connection_handlers.py:1712
+#: ../src/common/connection_handlers.py:1715
+#: ../src/common/connection_handlers.py:1718
+#: ../src/common/connection_handlers.py:1721
+#: ../src/common/connection_handlers.py:1725
+#: ../src/common/connection_handlers.py:1734
 msgid "Unable to join group chat"
 msgstr "Nelze se připojit se do diskuze"
 
-#: ../src/common/connection_handlers.py:1628
-msgid "A password is required to join this group chat."
-msgstr "Pro připojení do této místnosti je vyžadováno heslo."
-
-#: ../src/common/connection_handlers.py:1631
-msgid "You are banned from this group chat."
+#: ../src/common/connection_handlers.py:1713
+#, fuzzy, python-format
+msgid "You are banned from group chat %s."
 msgstr "Máš zakázán přístup do této diskuze."
 
-#: ../src/common/connection_handlers.py:1634
-msgid "Such group chat does not exist."
+#: ../src/common/connection_handlers.py:1716
+#, fuzzy, python-format
+msgid "Group chat %s does not exist."
 msgstr "Taková diskuze neexistuje."
 
-#: ../src/common/connection_handlers.py:1637
+#: ../src/common/connection_handlers.py:1719
 msgid "Group chat creation is restricted."
 msgstr "Vytváření místností není povoleno."
 
-#: ../src/common/connection_handlers.py:1640
-msgid "Your registered nickname must be used."
+#: ../src/common/connection_handlers.py:1722
+#, fuzzy, python-format
+msgid "Your registered nickname must be used in group chat %s."
 msgstr "Musí být použita přezdívka, jež máte zaregistrovánu."
 
-#: ../src/common/connection_handlers.py:1643
-msgid "You are not in the members list."
+#: ../src/common/connection_handlers.py:1726
+#, fuzzy, python-format
+msgid "You are not in the members list in groupchat %s."
 msgstr "Nejsi v seznamu členů."
 
-#: ../src/common/connection_handlers.py:1651
+#: ../src/common/connection_handlers.py:1735
+#, fuzzy, python-format
 msgid ""
-"Your desired nickname is in use or registered by another occupant.\n"
+"Your desired nickname in group chat %s is in use or registered by another "
+"occupant.\n"
 "Please specify another nickname below:"
 msgstr ""
-"Tebou požadované přezdívka se již používá nebo je zaregistrována někým jiným.\n"
+"Tebou požadované přezdívka se již používá nebo je zaregistrována někým "
+"jiným.\n"
 "Níže vyber jinou přezdívku:"
 
-#: ../src/common/connection_handlers.py:1713
+#. Room has been destroyed. see
+#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom
+#: ../src/common/connection_handlers.py:1766
+#, fuzzy
+msgid "Room has been destroyed"
+msgstr "Autorizace byla zrušena"
+
+#: ../src/common/connection_handlers.py:1773
+#, python-format
+msgid "You can join this room instead: %s"
+msgstr ""
+
+#: ../src/common/connection_handlers.py:1800
 msgid "I would like to add you to my roster."
 msgstr "Rád(a) bych si tě přidal(a) do seznamu."
 
 #. BE CAREFUL: no con.updateRosterItem() in a callback
-#: ../src/common/connection_handlers.py:1734
+#: ../src/common/connection_handlers.py:1821
 #, python-format
 msgid "we are now subscribed to %s"
 msgstr "jsme nyní zapsáni k %s"
 
-#: ../src/common/connection_handlers.py:1736
+#: ../src/common/connection_handlers.py:1823
 #, python-format
 msgid "unsubscribe request from %s"
 msgstr "Žádost o zrušení autorizace od %s"
 
-#: ../src/common/connection_handlers.py:1738
+#: ../src/common/connection_handlers.py:1825
 #, python-format
 msgid "we are now unsubscribed from %s"
 msgstr "byla nám zrušena autorizace od %s"
 
-#: ../src/common/connection_handlers.py:1914
+#: ../src/common/connection_handlers.py:1947
 #, python-format
-msgid "JID %s is not RFC compliant. It will not be added to your roster. Use roster management tools such as http://jru.jabberstudio.org/ to remove it"
-msgstr "JID %s neodpovídá RFC. Nebude přidáno do tvého rosteru. Použij nástroje pro správu rosteru jako je http://jru.jabberstudio.org/ k jeho odstranění"
+msgid ""
+"JID %s is not RFC compliant. It will not be added to your roster. Use roster "
+"management tools such as http://jru.jabberstudio.org/ to remove it"
+msgstr ""
+"JID %s neodpovídá RFC. Nebude přidáno do tvého rosteru. Použij nástroje pro "
+"správu rosteru jako je http://jru.jabberstudio.org/ k jeho odstranění"
 
-#: ../src/common/connection.py:187
-#: ../src/common/zeroconf/connection_zeroconf.py:196
+#: ../src/common/connection.py:241
+#: ../src/common/zeroconf/connection_zeroconf.py:203
 #, python-format
 msgid "Connection with account \"%s\" has been lost"
 msgstr "Spojení s účtem \"%s\" bylo ztraceno"
 
-#: ../src/common/connection.py:188
+#: ../src/common/connection.py:242
 msgid "Reconnect manually."
 msgstr "Znovu připojit ručně."
 
-#: ../src/common/connection.py:199
-#: ../src/common/connection.py:226
-#, python-format
-msgid "Transport %s answered wrongly to register request: %s"
+#: ../src/common/connection.py:253
+#, fuzzy, python-format
+msgid "Server %s answered wrongly to register request: %s"
 msgstr "Transport %s odpověděl chybně na požadavek registrace: %s"
 
 #. wrong answer
-#: ../src/common/connection.py:225
+#: ../src/common/connection.py:261
 msgid "Invalid answer"
 msgstr "Neplatná odpověď"
 
-#: ../src/common/connection.py:422
-#: ../src/common/connection.py:521
-#: ../src/common/connection.py:979
-#: ../src/common/zeroconf/connection_zeroconf.py:217
+#: ../src/common/connection.py:262
+#, python-format
+msgid "Transport %s answered wrongly to register request: %s"
+msgstr "Transport %s odpověděl chybně na požadavek registrace: %s"
+
+#: ../src/common/connection.py:408
+#, fuzzy
+msgid "Connection to proxy failed"
+msgstr "Spojení selhalo"
+
+#: ../src/common/connection.py:462 ../src/common/connection.py:508
+#: ../src/common/connection.py:1055
+#: ../src/common/zeroconf/connection_zeroconf.py:237
 #, python-format
 msgid "Could not connect to \"%s\""
 msgstr "Nemůžu se připojit k \"%s\""
 
-#: ../src/common/connection.py:436
+#: ../src/common/connection.py:476
 #, python-format
 msgid "Connected to server %s:%s with %s"
 msgstr "Připojen k server %s: %s s %s"
 
-#: ../src/common/connection.py:450
-#, python-format
-msgid "Security error connecting to \"%s\""
-msgstr "Bezpečnostní chyba při připojení k \"%s\""
-
-#: ../src/common/connection.py:451
-msgid "The server's key has changed, or someone is trying to hack your connection."
-msgstr "Klíč serveru se změnil, nebo se někdo pokouší prolomit tvoje spojení."
-
-#: ../src/common/connection.py:458
-#, python-format
-msgid "Unable to check fingerprint for %s. Connection could be insecure."
-msgstr "Nemohu zkontrolovat otisk pro %s. Spojení nemusí být zcela bezpečné."
-
-#: ../src/common/connection.py:500
-#, python-format
-msgid "Missing fingerprint in SSL connection to %s"
-msgstr "Schází otisk v SSL spojení k %s"
-
-#: ../src/common/connection.py:506
-#, python-format
-msgid "Fingerprint mismatch for %s: Got %s, expected %s"
-msgstr "Otisk se neshoduje pro %s: Dostal jsem %s, očekával jsem %s"
-
-#: ../src/common/connection.py:522
+#: ../src/common/connection.py:509
 msgid "Check your connection or try again later"
 msgstr "Ověřte připojení nebo zkuste později"
 
-#: ../src/common/connection.py:548
+#: ../src/common/connection.py:534
 #, python-format
 msgid "Authentication failed with \"%s\""
 msgstr "Autentizace selhala s \"%s\""
 
-#: ../src/common/connection.py:549
+#: ../src/common/connection.py:535
 msgid "Please check your login and password for correctness."
 msgstr "Prosím zkontrolujte správnost jména a hesla."
 
-#: ../src/common/connection.py:576
+#: ../src/common/connection.py:578
 msgid "Error while removing privacy list"
 msgstr "chyba při odebírání privacy listu"
 
-#: ../src/common/connection.py:577
+#: ../src/common/connection.py:579
 #, python-format
-msgid "Privacy list %s has not been removed. It is maybe active in one of your connected resources. Deactivate it and try again."
-msgstr "Privacy list %s nebyl odstraněn. Možná je aktivní v jednom z připojených zdrojů. Zruště jeho používání a zkuste znovu."
+msgid ""
+"Privacy list %s has not been removed. It is maybe active in one of your "
+"connected resources. Deactivate it and try again."
+msgstr ""
+"Privacy list %s nebyl odstraněn. Možná je aktivní v jednom z připojených "
+"zdrojů. Zruště jeho používání a zkuste znovu."
 
 #. We didn't set a passphrase
-#: ../src/common/connection.py:675
-#: ../src/common/zeroconf/connection_zeroconf.py:156
+#: ../src/common/connection.py:679
+#: ../src/common/zeroconf/connection_zeroconf.py:163
 msgid "OpenPGP passphrase was not given"
 msgstr "OpenPGP heslo nebylo zadáno"
 
-#. do not show I'm invisible!
-#: ../src/common/connection.py:717
-msgid "invisible"
-msgstr "neviditelný"
-
-#: ../src/common/connection.py:718
-msgid "offline"
-msgstr "odpojen"
-
-#: ../src/common/connection.py:719
-#, python-format
-msgid "I'm %s"
-msgstr "Jsem %s"
-
 #. we're not english
 #. one  in locale and one en
-#: ../src/common/connection.py:810
+#: ../src/common/connection.py:842
 msgid "[This message is *encrypted* (See :JEP:`27`]"
 msgstr "[Tato zpráva je *zašifrovaná* (Viz :JEP:`27`]"
 
-#: ../src/common/connection.py:866
-#: ../src/common/zeroconf/connection_zeroconf.py:397
+#: ../src/common/connection.py:904
+#: ../src/common/zeroconf/connection_zeroconf.py:423
 #, python-format
 msgid ""
 "Subject: %s\n"
@@ -6004,11 +6821,11 @@ msgstr ""
 "Předmět: %s\n"
 "%s"
 
-#: ../src/common/connection.py:1005
+#: ../src/common/connection.py:1087
 msgid "Not fetched because of invisible status"
 msgstr "Nestáhnuto z důvodu stavu neviditelnosti"
 
-#: ../src/common/contacts.py:271
+#: ../src/common/contacts.py:294
 msgid "Not in roster"
 msgstr "Není v rosteru"
 
@@ -6023,17 +6840,18 @@ msgstr "Možnosti D-Bus nemohou být použity"
 
 #: ../src/common/exceptions.py:22
 msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
-msgstr "Závislost na pysqlite2 (neboli python-pysqlite2) není splněna. Končím..."
+msgstr ""
+"Závislost na pysqlite2 (neboli python-pysqlite2) není splněna. Končím..."
 
-#: ../src/common/exceptions.py:30
+#: ../src/common/exceptions.py:39
 msgid "Service not available: Gajim is not running, or remote_control is False"
 msgstr "Služba není dostupná. Gajim neběží, nebo remote_control je vypnutý"
 
-#: ../src/common/exceptions.py:38
+#: ../src/common/exceptions.py:47
 msgid "D-Bus is not present on this machine or python module is missing"
 msgstr "D-Bus není přítomna na tohto stroji nebo modul pythonu chybí"
 
-#: ../src/common/exceptions.py:46
+#: ../src/common/exceptions.py:55
 msgid ""
 "Session bus is not available.\n"
 "Try reading http://trac.gajim.org/wiki/GajimDBus"
@@ -6091,68 +6909,55 @@ msgstr "dvanáct"
 
 #. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). '''
 #. A "singular-form". It is used when talking about hour 0
-#: ../src/common/fuzzyclock.py:47
-#: ../src/common/fuzzyclock.py:55
+#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
 msgid "$0 o'clock"
 msgstr "$0 hodin"
 
-#: ../src/common/fuzzyclock.py:47
-#: ../src/common/fuzzyclock.py:55
+#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
 msgid "five past $0"
 msgstr "pět po $0"
 
-#: ../src/common/fuzzyclock.py:48
-#: ../src/common/fuzzyclock.py:56
+#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
 msgid "ten past $0"
 msgstr "deset po $0"
 
-#: ../src/common/fuzzyclock.py:48
-#: ../src/common/fuzzyclock.py:56
+#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
 msgid "quarter past $0"
 msgstr "čtvrt po $0"
 
-#: ../src/common/fuzzyclock.py:49
-#: ../src/common/fuzzyclock.py:57
+#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
 msgid "twenty past $0"
 msgstr "dvacet po $0"
 
-#: ../src/common/fuzzyclock.py:49
-#: ../src/common/fuzzyclock.py:57
+#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
 msgid "twenty five past $0"
 msgstr "dvacet pět po $%"
 
-#: ../src/common/fuzzyclock.py:50
-#: ../src/common/fuzzyclock.py:58
+#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
 msgid "half past $0"
 msgstr "půl $1"
 
-#: ../src/common/fuzzyclock.py:50
-#: ../src/common/fuzzyclock.py:58
+#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
 msgid "twenty five to $1"
 msgstr "dvacet pět do $1"
 
-#: ../src/common/fuzzyclock.py:51
-#: ../src/common/fuzzyclock.py:59
+#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
 msgid "twenty to $1"
 msgstr "dvacet do $1"
 
-#: ../src/common/fuzzyclock.py:51
-#: ../src/common/fuzzyclock.py:59
+#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
 msgid "quarter to $1"
 msgstr "tři čtvrtě na $1"
 
-#: ../src/common/fuzzyclock.py:52
-#: ../src/common/fuzzyclock.py:60
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
 msgid "ten to $1"
 msgstr "za deset $1"
 
-#: ../src/common/fuzzyclock.py:52
-#: ../src/common/fuzzyclock.py:60
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
 msgid "five to $1"
 msgstr "za pět $1"
 
-#: ../src/common/fuzzyclock.py:52
-#: ../src/common/fuzzyclock.py:61
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:61
 msgid "$1 o'clock"
 msgstr "$1 hodin"
 
@@ -6204,287 +7009,252 @@ msgstr "Konec týdne"
 msgid "Weekend!"
 msgstr "Víkend!"
 
-#: ../src/common/helpers.py:114
+#: ../src/common/helpers.py:115
 msgid "Invalid character in username."
 msgstr "Neplatný znak v uživatelském jméně."
 
-#: ../src/common/helpers.py:119
+#: ../src/common/helpers.py:120
 msgid "Server address required."
 msgstr "Je potřeba adresa serveru."
 
-#: ../src/common/helpers.py:124
+#: ../src/common/helpers.py:125
 msgid "Invalid character in hostname."
 msgstr "Neplatný znak v hostname."
 
-#: ../src/common/helpers.py:130
+#: ../src/common/helpers.py:131
 msgid "Invalid character in resource."
 msgstr "Neplatný znak ve zdroji."
 
 #. GiB means gibibyte
-#: ../src/common/helpers.py:170
+#: ../src/common/helpers.py:171
 #, python-format
 msgid "%s GiB"
 msgstr "%s GiB"
 
 #. GB means gigabyte
-#: ../src/common/helpers.py:173
+#: ../src/common/helpers.py:174
 #, python-format
 msgid "%s GB"
 msgstr "%s GB"
 
 #. MiB means mibibyte
-#: ../src/common/helpers.py:177
+#: ../src/common/helpers.py:178
 #, python-format
 msgid "%s MiB"
 msgstr "%s MiB"
 
 #. MB means megabyte
-#: ../src/common/helpers.py:180
+#: ../src/common/helpers.py:181
 #, python-format
 msgid "%s MB"
 msgstr "%s MB"
 
 #. KiB means kibibyte
-#: ../src/common/helpers.py:184
+#: ../src/common/helpers.py:185
 #, python-format
 msgid "%s KiB"
 msgstr "%s KiB"
 
 #. KB means kilo bytes
-#: ../src/common/helpers.py:187
+#: ../src/common/helpers.py:188
 #, python-format
 msgid "%s KB"
 msgstr "%s KB"
 
 #. B means bytes
-#: ../src/common/helpers.py:190
+#: ../src/common/helpers.py:191
 #, python-format
 msgid "%s B"
 msgstr "%s B"
 
-#: ../src/common/helpers.py:219
+#: ../src/common/helpers.py:222
 msgid "_Busy"
 msgstr "_Nerušit"
 
-#: ../src/common/helpers.py:221
+#: ../src/common/helpers.py:224
 msgid "Busy"
 msgstr "Nerušit"
 
-#: ../src/common/helpers.py:224
+#: ../src/common/helpers.py:227
 msgid "_Not Available"
 msgstr "Ne_dostupný"
 
-#: ../src/common/helpers.py:229
+#: ../src/common/helpers.py:232
 msgid "_Free for Chat"
 msgstr "_Ukecaný"
 
-#: ../src/common/helpers.py:231
+#: ../src/common/helpers.py:234
 msgid "Free for Chat"
 msgstr "Ukecaný"
 
-#: ../src/common/helpers.py:234
+#: ../src/common/helpers.py:237
 msgid "_Available"
 msgstr "Přip_ojen"
 
-#: ../src/common/helpers.py:236
+#: ../src/common/helpers.py:239
 msgid "Available"
 msgstr "Připojen"
 
-#: ../src/common/helpers.py:238
+#: ../src/common/helpers.py:241
 msgid "Connecting"
 msgstr "Připojuji se"
 
-#: ../src/common/helpers.py:241
+#: ../src/common/helpers.py:244
 msgid "A_way"
 msgstr "_Pryč"
 
-#: ../src/common/helpers.py:246
+#: ../src/common/helpers.py:249
 msgid "_Offline"
 msgstr "_Odpojen"
 
-#: ../src/common/helpers.py:248
+#: ../src/common/helpers.py:251
 msgid "Offline"
 msgstr "Odpojen"
 
-#: ../src/common/helpers.py:251
+#: ../src/common/helpers.py:254
 msgid "_Invisible"
 msgstr "Ne_viditelný"
 
-#: ../src/common/helpers.py:257
+#: ../src/common/helpers.py:260
 msgid "?contact has status:Unknown"
 msgstr "?contact has status:Neznámý"
 
-#: ../src/common/helpers.py:259
+#: ../src/common/helpers.py:262
 msgid "?contact has status:Has errors"
 msgstr "stav"
 
-#: ../src/common/helpers.py:264
+#: ../src/common/helpers.py:267
 msgid "?Subscription we already have:None"
 msgstr "?Subscription we already have:Žádná"
 
-#: ../src/common/helpers.py:266
+#: ../src/common/helpers.py:269
 msgid "To"
 msgstr "Příjemce"
 
-#: ../src/common/helpers.py:270
+#: ../src/common/helpers.py:273
 msgid "Both"
 msgstr "Oboustranná"
 
-#: ../src/common/helpers.py:278
+#: ../src/common/helpers.py:281
 msgid "?Ask (for Subscription):None"
 msgstr "?Ask (for Subscription):Není"
 
-#: ../src/common/helpers.py:280
+#: ../src/common/helpers.py:283
 msgid "Subscribe"
 msgstr "Žádat autorizaci"
 
-#: ../src/common/helpers.py:289
+#: ../src/common/helpers.py:292
 msgid "?Group Chat Contact Role:None"
 msgstr "?Group Chat Contact Role:Žádná"
 
-#: ../src/common/helpers.py:292
+#: ../src/common/helpers.py:295
 msgid "Moderators"
 msgstr "Moderátoři"
 
-#: ../src/common/helpers.py:294
+#: ../src/common/helpers.py:297
 msgid "Moderator"
 msgstr "Moderátor"
 
-#: ../src/common/helpers.py:297
+#: ../src/common/helpers.py:300
 msgid "Participants"
 msgstr "Účastníci"
 
-#: ../src/common/helpers.py:299
+#: ../src/common/helpers.py:302
 msgid "Participant"
 msgstr "Účastník"
 
-#: ../src/common/helpers.py:302
+#: ../src/common/helpers.py:305
 msgid "Visitors"
 msgstr "Návštěvníci"
 
-#: ../src/common/helpers.py:304
+#: ../src/common/helpers.py:307
 msgid "Visitor"
 msgstr "Návštěvník"
 
-#: ../src/common/helpers.py:310
+#: ../src/common/helpers.py:313
 msgid "?Group Chat Contact Affiliation:None"
 msgstr "?Group Chat Contact Affiliation:Žádná"
 
-#: ../src/common/helpers.py:312
+#: ../src/common/helpers.py:315
 msgid "Owner"
 msgstr "Vlastník"
 
-#: ../src/common/helpers.py:314
+#: ../src/common/helpers.py:317
 msgid "Administrator"
 msgstr "Správce"
 
-#: ../src/common/helpers.py:316
+#: ../src/common/helpers.py:319
 msgid "Member"
 msgstr "ÄŒlen"
 
-#: ../src/common/helpers.py:355
+#: ../src/common/helpers.py:358
 msgid "is paying attention to the conversation"
 msgstr "věnuje pozornost rozhovoru"
 
-#: ../src/common/helpers.py:357
+#: ../src/common/helpers.py:360
 msgid "is doing something else"
 msgstr "dělá něco jiného"
 
-#: ../src/common/helpers.py:359
+#: ../src/common/helpers.py:362
 msgid "is composing a message..."
 msgstr "píše zprávu..."
 
 #. paused means he or she was composing but has stopped for a while
-#: ../src/common/helpers.py:362
+#: ../src/common/helpers.py:365
 msgid "paused composing a message"
 msgstr "pozastavil(a) psaní zprávy"
 
-#: ../src/common/helpers.py:364
+#: ../src/common/helpers.py:367
 msgid "has closed the chat window or tab"
 msgstr "zavřel(a) okno zprávy"
 
-#: ../src/common/helpers.py:890
+#: ../src/common/helpers.py:913 ../src/common/helpers.py:920
+#, fuzzy, python-format
+msgid "%d message pending"
+msgid_plural "%d messages pending"
+msgstr[0] "Odeslat zprávu"
+msgstr[1] "Odeslat zprávu"
+msgstr[2] "Odeslat zprávu"
+
+#: ../src/common/helpers.py:926
 #, python-format
-msgid " %d unread message"
-msgid_plural " %d unread messages"
-msgstr[0] "%d nepřečtená zpráva"
-msgstr[1] "%d nepřečtené zprávy"
-msgstr[2] "%d nepřečtených zpráv"
+msgid " from room %s"
+msgstr ""
 
-#: ../src/common/helpers.py:896
+#: ../src/common/helpers.py:929 ../src/common/helpers.py:948
 #, python-format
-msgid " %d unread single message"
-msgid_plural " %d unread single messages"
-msgstr[0] "%d nepřečtenou prostou zprávu"
-msgstr[1] "%d nepřečtené prosté zprávy"
-msgstr[2] "%d nepřečtených prostých zpráv"
+msgid " from user %s"
+msgstr ""
 
-#: ../src/common/helpers.py:902
+#: ../src/common/helpers.py:931
 #, python-format
-msgid " %d unread group chat message"
-msgid_plural " %d unread group chat messages"
-msgstr[0] "%d nepřečtenou zprávu z diskuzí"
-msgstr[1] "%d nepřečtené zprávy z diskuzí"
-msgstr[2] "%d nepřečtených zpráv z diskuzí"
+msgid " from %s"
+msgstr ""
 
-#: ../src/common/helpers.py:908
+#: ../src/common/helpers.py:938 ../src/common/helpers.py:945
 #, python-format
-msgid " %d unread private message"
-msgid_plural " %d unread private messages"
-msgstr[0] "%d nepřečtenou soukromou zprávu"
-msgstr[1] "%d nepřečtené soukromé zprávy"
-msgstr[2] "%d nepřečtených soukromých zpráv"
+msgid "%d event pending"
+msgid_plural "%d events pending"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
-#: ../src/common/helpers.py:918
-#: ../src/common/helpers.py:920
+#: ../src/common/helpers.py:978
 #, python-format
 msgid "Gajim - %s"
 msgstr "Gajim - %s"
 
-#: ../src/common/check_paths.py:33
-msgid "creating logs database"
-msgstr "vytvářím databázi historie"
-
-#: ../src/common/check_paths.py:89
-#: ../src/common/check_paths.py:100
-#: ../src/common/check_paths.py:107
-#, python-format
-msgid "%s is a file but it should be a directory"
-msgstr "%s je soubor, ale měl by být adresář"
-
-#: ../src/common/check_paths.py:90
-#: ../src/common/check_paths.py:101
-#: ../src/common/check_paths.py:108
-#: ../src/common/check_paths.py:116
-msgid "Gajim will now exit"
-msgstr "Gajim se nyní ukončí"
-
-#: ../src/common/check_paths.py:115
-#, python-format
-msgid "%s is a directory but should be a file"
-msgstr "%s je adresář, ale měl by to být soubor"
-
-#: ../src/common/check_paths.py:131
-#, python-format
-msgid "creating %s directory"
-msgstr "vytvářím adresář %s "
-
 #. we talk about a file
 #: ../src/common/optparser.py:59
 #, python-format
 msgid "error: cannot open %s for reading"
 msgstr "chyba: nemůžu otevřít %s pro čtení"
 
-#: ../src/common/optparser.py:181
-msgid "gtk+"
-msgstr "gtk+"
-
-#: ../src/common/optparser.py:190
-#: ../src/common/optparser.py:191
+#: ../src/common/optparser.py:202 ../src/common/optparser.py:203
 msgid "cyan"
 msgstr "azurová"
 
-#: ../src/common/optparser.py:308
+#: ../src/common/optparser.py:319
 msgid "migrating logs database to indices"
 msgstr ""
 
@@ -6493,31 +7263,35 @@ msgstr ""
 msgid "Gajim account %s"
 msgstr "Gajim účet %s"
 
-#: ../src/common/zeroconf/client_zeroconf.py:189
-msgid "Connection to host could not be established: Incorrect answer from server."
-msgstr "Spojení k počítači nebylo navázáno: Neplatná odpověď serveru."
-
-#: ../src/common/zeroconf/client_zeroconf.py:205
+#: ../src/common/zeroconf/client_zeroconf.py:135
+#: ../src/common/zeroconf/client_zeroconf.py:218
 msgid "Connection to host could not be established"
 msgstr "Spojení s počítačem se nepodařilo navázat"
 
-#: ../src/common/zeroconf/client_zeroconf.py:334
-msgid "Connection to host could not be established: Timeout while sending data."
+#: ../src/common/zeroconf/client_zeroconf.py:192
+msgid ""
+"Connection to host could not be established: Incorrect answer from server."
+msgstr "Spojení k počítači nebylo navázáno: Neplatná odpověď serveru."
+
+#: ../src/common/zeroconf/client_zeroconf.py:352
+msgid ""
+"Connection to host could not be established: Timeout while sending data."
 msgstr "Spojení k počítači nebylo navázáno:Vypršel čas při odesílání dat."
 
-#: ../src/common/zeroconf/client_zeroconf.py:627
+#: ../src/common/zeroconf/client_zeroconf.py:638
 msgid "Contact is offline. Your message could not be sent."
 msgstr "Kontakt je offline. Vaše zpráva nemohla být odeslána."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:197
+#: ../src/common/zeroconf/connection_zeroconf.py:204
 msgid "To continue sending and receiving messages, you will need to reconnect."
-msgstr "Pro pokračování v přijímání a odesílání zpráv se musíte znovu připojit."
+msgstr ""
+"Pro pokračování v přijímání a odesílání zpráv se musíte znovu připojit."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:207
+#: ../src/common/zeroconf/connection_zeroconf.py:227
 msgid "Avahi error"
 msgstr "Chyba Avahi"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:207
+#: ../src/common/zeroconf/connection_zeroconf.py:227
 #, python-format
 msgid ""
 "%s\n"
@@ -6526,66 +7300,206 @@ msgstr ""
 "%s\n"
 "Zasílání lokálních zpráv nemusí fungovat správně."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:218
+#: ../src/common/zeroconf/connection_zeroconf.py:238
 msgid "Please check if Avahi is installed."
 msgstr "Zkontrolujte zda je Avahi nainstalováno."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:227
-#: ../src/common/zeroconf/connection_zeroconf.py:231
+#: ../src/common/zeroconf/connection_zeroconf.py:247
+#: ../src/common/zeroconf/connection_zeroconf.py:251
 msgid "Could not start local service"
 msgstr "Nepodařilo se spustit lokální službu"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:228
+#: ../src/common/zeroconf/connection_zeroconf.py:248
 #, python-format
 msgid "Unable to bind to port %d."
 msgstr "Nemůžu naslouchat na portu %d."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:232
-#: ../src/common/zeroconf/connection_zeroconf.py:325
+#: ../src/common/zeroconf/connection_zeroconf.py:252
+#: ../src/common/zeroconf/connection_zeroconf.py:347
 msgid "Please check if avahi-daemon is running."
 msgstr "Zkontrolujte, zda avahi-daemon běží."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:324
+#: ../src/common/zeroconf/connection_zeroconf.py:346
 #, python-format
 msgid "Could not change status of account \"%s\""
 msgstr "Nemůžu změnit stav účtu \"%s\""
 
-#: ../src/common/zeroconf/connection_zeroconf.py:341
-msgid "You are not connected or not visible to others. Your message could not be sent."
-msgstr "Nejsi připojen nebo viditelný pro ostatní. Tvoje zpráva nemůže být odeslána."
+#: ../src/common/zeroconf/connection_zeroconf.py:363
+msgid ""
+"You are not connected or not visible to others. Your message could not be "
+"sent."
+msgstr ""
+"Nejsi připojen nebo viditelný pro ostatní. Tvoje zpráva nemůže být odeslána."
 
 #. we're not english
-#: ../src/common/zeroconf/connection_zeroconf.py:353
+#: ../src/common/zeroconf/connection_zeroconf.py:375
 msgid "[This message is encrypted]"
 msgstr "[Tato zpráva je zašifrovaná]"
 
-#: ../src/common/zeroconf/zeroconf.py:180
-#, python-format
-msgid "Error while adding service. %s"
-msgstr "Chyba při přidávání služby. %s"
+#~ msgid "Send Single _Message..."
+#~ msgstr "Odeslat jednoduchou _zprávu..."
+
+#~ msgid "_Add Contact..."
+#~ msgstr "Přid_at kontakt..."
+
+# FIXME: chtelo by to cesky vyraz pro service discovery
+#~ msgid "_Discover Services..."
+#~ msgstr "_Prohlížet služby..."
+
+#~ msgid "_Retype Password:"
+#~ msgstr "Z_opakuj heslo:"
+
+#~ msgid "_Use proxy"
+#~ msgstr "_Používat proxy"
+
+#~ msgid "Accounts"
+#~ msgstr "Účty"
+
+#~ msgid ""
+#~ "If checked, all local contacts that use a Bonjour compatible chat client "
+#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to "
+#~ "be connected to a jabber server for it to work.\n"
+#~ "This is only available if python-avahi is installed and avahi-daemon is "
+#~ "running."
+#~ msgstr ""
+#~ "Pokud je zaškrtnuto, všechny místní kontakty používající Bonjour-"
+#~ "kompatibilního klienta (iChat, Trillian nebo Gaim) se zobrazí v rosteru. "
+#~ "Nemusíš být připojený(á) k jabber serveru, aby to fungovalo.\n"
+#~ "Je to dostupné pouze v případě, že je nainstalováno python-avahi a avahi-"
+#~ "daemon běží."
+
+#~ msgid ""
+#~ "If you have 2 or more accounts and this is checked, Gajim will list all "
+#~ "contacts as if you had one account"
+#~ msgstr ""
+#~ "Máte-li 2 nebo více účtů a je zaškrtnuto, Gajim zobrazí všechny kontakty "
+#~ "jako by byly z jednoho účtu"
+
+#~ msgid "_Enable link-local messaging"
+#~ msgstr "_Povolit lokální zprávy"
+
+#~ msgid "_Modify"
+#~ msgstr "_Upravit"
+
+#~ msgid "_Compact View    Alt+C"
+#~ msgstr "_Zjednodušený pohled    Alt+C"
+
+#~ msgid "_Remove from Roster"
+#~ msgstr "Odst_ranit ze Seznamu"
+
+#~ msgid "You must enter a password for the new account."
+#~ msgstr "Musíte zadat heslo pro nový účet."
+
+#~ msgid ""
+#~ "If that is not your language for which you want to highlight misspelled "
+#~ "words, then please set your $LANG as appropriate. Eg. for French do "
+#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to "
+#~ "make it global in /etc/profile.\n"
+#~ "\n"
+#~ "Highlighting misspelled words feature will not be used"
+#~ msgstr ""
+#~ "Pokud to není Váš jazyk, pro který chcete zvýrazňovat slova s překlepy, "
+#~ "potom prosím nastavte proměnnou $LANG na správnou. Například. pro Češtinu "
+#~ "spusťte export LANG=cs_CZ nebo export LANG=cs_CZ zapište do ~/."
+#~ "bash_profile nebo pro nastavení globálně do /etc/profile.\n"
+#~ "\n"
+#~ "Vlastnost zvýrazňování překlepů nebude použita"
+
+#~ msgid "Private Chat"
+#~ msgstr "Soukromý rozhovor"
+
+#~ msgid "Group Chat"
+#~ msgstr "Diskuze"
+
+#~ msgid "Drop %s in group %s"
+#~ msgstr "Smazat %s ve skupinÄ› %s"
+
+#~ msgid "Make %s and %s metacontacts"
+#~ msgstr "Učiň %s a %s metakontakty"
+
+#~ msgid "Hides the buttons in two persons chat window."
+#~ msgstr "Skryje tlačítka v okně rozhovoru dvou lidí."
+
+#~ msgid "Security error connecting to \"%s\""
+#~ msgstr "Bezpečnostní chyba při připojení k \"%s\""
+
+#~ msgid ""
+#~ "The server's key has changed, or someone is trying to hack your "
+#~ "connection."
+#~ msgstr ""
+#~ "Klíč serveru se změnil, nebo se někdo pokouší prolomit tvoje spojení."
+
+#~ msgid "Unable to check fingerprint for %s. Connection could be insecure."
+#~ msgstr ""
+#~ "Nemohu zkontrolovat otisk pro %s. Spojení nemusí být zcela bezpečné."
+
+#~ msgid "Missing fingerprint in SSL connection to %s"
+#~ msgstr "Schází otisk v SSL spojení k %s"
+
+#~ msgid "Fingerprint mismatch for %s: Got %s, expected %s"
+#~ msgstr "Otisk se neshoduje pro %s: Dostal jsem %s, očekával jsem %s"
+
+#~ msgid "invisible"
+#~ msgstr "neviditelný"
+
+#~ msgid "offline"
+#~ msgstr "odpojen"
+
+#~ msgid "I'm %s"
+#~ msgstr "Jsem %s"
+
+#~ msgid " %d unread single message"
+#~ msgid_plural " %d unread single messages"
+#~ msgstr[0] "%d nepřečtenou prostou zprávu"
+#~ msgstr[1] "%d nepřečtené prosté zprávy"
+#~ msgstr[2] "%d nepřečtených prostých zpráv"
+
+#~ msgid " %d unread group chat message"
+#~ msgid_plural " %d unread group chat messages"
+#~ msgstr[0] "%d nepřečtenou zprávu z diskuzí"
+#~ msgstr[1] "%d nepřečtené zprávy z diskuzí"
+#~ msgstr[2] "%d nepřečtených zpráv z diskuzí"
+
+#~ msgid " %d unread private message"
+#~ msgid_plural " %d unread private messages"
+#~ msgstr[0] "%d nepřečtenou soukromou zprávu"
+#~ msgstr[1] "%d nepřečtené soukromé zprávy"
+#~ msgstr[2] "%d nepřečtených soukromých zpráv"
+
+#~ msgid "gtk+"
+#~ msgstr "gtk+"
+
+#~ msgid "Error while adding service. %s"
+#~ msgstr "Chyba při přidávání služby. %s"
 
 #~ msgid "A_fter nickname:"
 #~ msgstr "_Po přezdívce:"
+
 #~ msgid "B_efore nickname:"
 #~ msgstr "Pře_d přezdívkou:"
+
 #~ msgid "_After time:"
 #~ msgstr "_Po čase:"
+
 #~ msgid "_Before time:"
 #~ msgstr "Pře_d časem:"
+
 #~ msgid "_Publish"
 #~ msgstr "_Zveřejnit"
+
 #~ msgid "_Retrieve"
 #~ msgstr "_Získat"
+
 #~ msgid "Without a connection, you can not get your contact information."
 #~ msgstr "Bez opětovného připojení nemůžete získat Vaše osobní údaje."
 
 #, fuzzy
 #~ msgid "_New room"
 #~ msgstr "Nová místnost"
+
 #~ msgid "Role: "
 #~ msgstr "Role:"
-#~ msgid "Affiliation: "
-#~ msgstr "Přidružení:"
+
 #~ msgid ""
 #~ "Sound to play when any MUC message arrives. (This setting is taken into "
 #~ "account only if notify_on_all_muc_messages is True)"
@@ -6612,33 +7526,45 @@ msgstr "Chyba při přidávání služby. %s"
 #, fuzzy
 #~ msgid "Not Available "
 #~ msgstr "Nedostupný"
+
 #~ msgid "Contact _Info"
 #~ msgstr "_Informace o kontaktu"
+
 #~ msgid "Jabber"
 #~ msgstr "Jabber"
+
 #~ msgid "Invalid room or server name"
 #~ msgstr "Neplatná místnost nebo jméno serveru"
+
 #~ msgid "Unknown D-Bus version: %s"
 #~ msgstr "Neznámá verze D-Bus: %s"
+
 #~ msgid "vCard publication succeeded"
 #~ msgstr "publikování vizitky bylo úspěšné"
+
 #~ msgid "Your personal information has been published successfully."
 #~ msgstr "Vaše osobní údaje byly úspěšně publikovány."
+
 #~ msgid "Migrating Logs..."
 #~ msgstr "Převádím historii..."
+
 #~ msgid "Gajim - %d unread message"
 #~ msgid_plural "Gajim - %d unread messages"
 #~ msgstr[0] "Gajim - %d nepřečtenou zprávu"
 #~ msgstr[1] "Gajim - %d nepřečtené zprávy"
 #~ msgstr[2] "Gajim - %d nepřečtených zpráv"
+
 #~ msgid "Since %s"
 #~ msgstr "Od %s"
+
 #~ msgid "Automatically authorize contact"
 #~ msgstr "Automaticky autorizovat kontakt"
+
 #~ msgid "Send File"
 #~ msgstr "Odeslat Soubor"
+
 #~ msgid "Underline"
 #~ msgstr "Podtržení"
+
 #~ msgid "_Join New Room..."
 #~ msgstr "_Vstoupit do nové místnosti..."
-
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000000000000000000000000000000000000..fb22fe239c77d6229c3d2b9618645b11a36b6daf
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,7648 @@
+# Danish translations for Gajim package.
+# Copyright (C) 2007 GAJIM'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the Gajim package.
+# Niels Felsted Thorsen <felsted@fsfe.org>, 2007.
+#
+#: ../src/gajim-remote.py:212 ../src/gajim-remote.py:219
+#: ../src/gajim-remote.py:245 ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:252 ../src/gajim-remote.py:253
+#: ../src/gajim-remote.py:254 ../src/gajim-remote.py:255
+msgid ""
+msgstr ""
+"Project-Id-Version: Gajim 0.11\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-09-09 11:23+0200\n"
+"PO-Revision-Date: 2007-09-30 17:47+0200\n"
+"Last-Translator: Niels Felsted Thorsen <felsted@fsfe.org>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Emacs 22.1.50.1, po-mode 2.02+0.4\n"
+
+#: ../data/gajim.desktop.in.in.h:1
+msgid "A GTK+ Jabber client"
+msgstr "En GTK+ Jabber klient"
+
+#: ../data/gajim.desktop.in.in.h:2
+msgid "Gajim Instant Messenger"
+msgstr "Gajim Instant Messenger"
+
+#: ../data/gajim.desktop.in.in.h:3
+msgid "Jabber IM Client"
+msgstr "Jabber IM Klient"
+
+#: ../data/glade/account_context_menu.glade.h:1
+#: ../data/glade/roster_window.glade.h:8
+msgid "Join _Group Chat..."
+msgstr "Deltag i en _Gruppe Samtale..."
+
+#: ../data/glade/account_context_menu.glade.h:2
+msgid "_Add Contact..."
+msgstr "_Tilføj Kontakt..."
+
+#: ../data/glade/account_context_menu.glade.h:3
+#: ../data/glade/roster_window.glade.h:15
+msgid "_Discover Services"
+msgstr "Op_dag Tjenester"
+
+#: ../data/glade/account_context_menu.glade.h:4
+msgid "_Execute Command..."
+msgstr "_Udfør Kommando..."
+
+#: ../data/glade/account_context_menu.glade.h:5
+msgid "_Modify Account"
+msgstr "_Ændre Konto"
+
+#: ../data/glade/account_context_menu.glade.h:6
+msgid "_Open Gmail Inbox"
+msgstr "_Ã…bn Gmail Indboks"
+
+#: ../data/glade/account_context_menu.glade.h:7
+#: ../data/glade/roster_window.glade.h:22
+msgid "_Start Chat..."
+msgstr "_Start Samtale..."
+
+#: ../data/glade/account_context_menu.glade.h:8
+#: ../data/glade/zeroconf_context_menu.glade.h:2
+msgid "_Status"
+msgstr "_Status"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:1
+msgid ""
+"<b>Connecting to server</b>\n"
+"\n"
+"Please wait..."
+msgstr ""
+"<b>Tilslutter til server</b>\n"
+"\n"
+"Vent venligst..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:4
+msgid "<b>Please choose one of the options below:</b>"
+msgstr "<b>Vælg en af mulighederne under:</b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:5
+msgid "<b>Please fill in the data for your new account</b>"
+msgstr "Fyld ind data for din nye konto"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:6
+msgid "<b>Please select a server</b>"
+msgstr "<b>Vælg venligst en server<b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:7
+msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
+msgstr ""
+"Tryk for at se egenskaber (som MSN, ICQ transporter) på jabber serveren"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:8
+msgid "Connect when I press Finish"
+msgstr "Tilslut når jeg trykke Færdig"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:9
+msgid "Gajim: Account Creation Wizard"
+msgstr "Gajim: Konto Oprettelses Guide"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:10
+msgid "I already have an account I want to use"
+msgstr "Jeg har allerede en konto jeg vil bruge"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:11
+msgid "I want to _register for a new account"
+msgstr "Jeg vil _registrere en ny konto"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/accounts_window.glade.h:22
+msgid "If checked, Gajim will remember the password for this account"
+msgstr "Hvis valgt vil Gajim huske adgangskoden for denne konto"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:13
+#: ../data/glade/account_modification_window.glade.h:26
+#: ../data/glade/accounts_window.glade.h:32
+msgid "Manage..."
+msgstr "Kan håndteres..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:14
+msgid "Prox_y:"
+msgstr "Pro_xy:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/accounts_window.glade.h:48
+msgid "Save pass_word"
+msgstr "Gem adgangs_kode"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:16
+msgid "Servers Features"
+msgstr "Server Egenskaber"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:17
+msgid "Set my profile when I connect"
+msgstr "Sæt min profil når jeg tilslutter"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/accounts_window.glade.h:53
+msgid "Use custom hostname/port"
+msgstr "Brug tilpasset værtsnavn/port"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:19
+msgid ""
+"You need to have an account in order to connect\n"
+"to the Jabber network."
+msgstr ""
+"Du behøver en konto for at tilslutte dig\n"
+"til Jabber netværket"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:21
+msgid "Your JID:"
+msgstr "Din JID:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:22
+#: ../data/glade/roster_window.glade.h:13
+msgid "_Advanced"
+msgstr "_Avanceret"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:23
+msgid "_Finish"
+msgstr "_Færdig"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:24
+msgid "_Hostname:"
+msgstr "_Værtsnavn:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_modification_window.glade.h:50
+#: ../data/glade/accounts_window.glade.h:58
+msgid "_Password:"
+msgstr "_Adgangskode"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:26
+#: ../data/glade/manage_proxies_window.glade.h:11
+msgid "_Port:"
+msgstr "_Port:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:27
+msgid "_Server:"
+msgstr "_Server:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:28
+#: ../data/glade/manage_proxies_window.glade.h:12
+msgid "_Username:"
+msgstr "_Brugernavn:"
+
+#: ../data/glade/account_modification_window.glade.h:1
+#: ../data/glade/accounts_window.glade.h:1
+#: ../data/glade/preferences_window.glade.h:8
+msgid "<b>Miscellaneous</b>"
+msgstr "<b>Diverse</b>"
+
+#: ../data/glade/account_modification_window.glade.h:2
+#: ../data/glade/accounts_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:1
+msgid "<b>OpenPGP</b>"
+msgstr "<b>OpenPGP</b>"
+
+#: ../data/glade/account_modification_window.glade.h:3
+#: ../data/glade/accounts_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:2
+msgid "<b>Personal Information</b>"
+msgstr "<b>Personlig Information</b>"
+
+#: ../data/glade/account_modification_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:4
+msgid "Account"
+msgstr "Konto"
+
+#: ../data/glade/account_modification_window.glade.h:5
+msgid "Account Modification"
+msgstr "Ændring af Konto"
+
+#: ../data/glade/account_modification_window.glade.h:6
+#: ../data/glade/accounts_window.glade.h:5
+msgid "Administration operations"
+msgstr "Administrative handlinger"
+
+#: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/accounts_window.glade.h:6
+msgid "Auto-reconnect when connection is lost"
+msgstr "Tilslut automatisk hvis tilslutningen tabes"
+
+#: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/accounts_window.glade.h:7
+#: ../data/glade/zeroconf_properties_window.glade.h:3
+msgid "C_onnect on Gajim startup"
+msgstr "T_ilslut når Gajim startes"
+
+#: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/accounts_window.glade.h:8
+msgid "Chan_ge Password"
+msgstr "Ænd_re Adgangskode"
+
+#: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/accounts_window.glade.h:9
+msgid ""
+"Check this so Gajim will connect in port 5223 where legacy servers are "
+"expected to have SSL capabilities. Note that Gajim uses TLS encryption by "
+"default if broadcasted by the server, and with this option enabled TLS will "
+"be disabled"
+msgstr ""
+"Tjek denne således at Gajim vil tilslutte på port 5223 hvor gamle servere "
+"forventes at ha SSL muligheder. Bemærk at Gajim bruger TLS kryptering som "
+"standard hvis det er rundsendt af serveren, og med denne indstilling valgt "
+"vil TLS blive deaktiveret."
+
+#: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/accounts_window.glade.h:10
+#: ../data/glade/zeroconf_properties_window.glade.h:4
+msgid "Choose _Key..."
+msgstr "Vælg _Nøgle..."
+
+#: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/accounts_window.glade.h:11
+msgid "Click to change account's password"
+msgstr "Tryk for at ændre kontoens adgangskode"
+
+#: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/accounts_window.glade.h:12
+msgid "Click to request authorization to all contacts of another account"
+msgstr ""
+"Tryk for at forespørge om autorisering for alle kontakter af en anden konto"
+
+#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/accounts_window.glade.h:13
+msgid "Connection"
+msgstr "Tilslutning"
+
+#: ../data/glade/account_modification_window.glade.h:15
+#: ../data/glade/accounts_window.glade.h:15
+msgid "Edit Personal Information..."
+msgstr "Redigere Personlig Information..."
+
+#. No configured account
+#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/accounts_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:6 ../src/notify.py:471
+#: ../src/notify.py:493 ../src/notify.py:505 ../src/common/helpers.py:964
+#: ../src/common/helpers.py:976
+msgid "Gajim"
+msgstr "Gajim"
+
+#. General group cannot be changed
+#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/accounts_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:45
+#: ../data/glade/zeroconf_properties_window.glade.h:7
+#: ../src/roster_window.py:359 ../src/roster_window.py:624
+#: ../src/roster_window.py:1360 ../src/roster_window.py:1728
+#: ../src/roster_window.py:2111 ../src/roster_window.py:2627
+#: ../src/roster_window.py:2745 ../src/common/contacts.py:309
+msgid "General"
+msgstr "General"
+
+#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/accounts_window.glade.h:20
+msgid "Hostname: "
+msgstr "Værtsnavn:"
+
+#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/accounts_window.glade.h:21
+msgid ""
+"If checked, Gajim will also broadcast some more IPs except from just your "
+"IP, so file transfer has higher chances of working."
+msgstr ""
+"Hvis valgt vil Gajim rundsende flere IP adresser udover din egen IP adresse, "
+"filoverførsler har en større chance for at lykkes."
+
+#: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/accounts_window.glade.h:23
+msgid ""
+"If checked, Gajim will send keep-alive packets to prevent connection timeout "
+"which results in disconnection"
+msgstr ""
+"Hvis valgt vil Gajim sende hold-i-live pakker for at forhindre at "
+"tilslutningen afbrydes pga et tidsudløb"
+
+#: ../data/glade/account_modification_window.glade.h:22
+#: ../data/glade/accounts_window.glade.h:24
+#: ../data/glade/zeroconf_properties_window.glade.h:8
+msgid ""
+"If checked, Gajim will store the password in ~/.gajim/config with 'read' "
+"permission only for you"
+msgstr ""
+"Hvis valgt vil Gajim gemme adgangskoden i ~/.gajim/config med læse "
+"rettigheder kun for dig"
+
+#: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/accounts_window.glade.h:25
+#: ../data/glade/zeroconf_properties_window.glade.h:9
+msgid ""
+"If checked, Gajim, when launched, will automatically connect to jabber using "
+"this account"
+msgstr ""
+"Hvis valgt vil Gajim vil Gajim, når den startes, automatisk tilslutte sig "
+"til jabber med denne konto"
+
+#: ../data/glade/account_modification_window.glade.h:24
+#: ../data/glade/accounts_window.glade.h:26
+#: ../data/glade/zeroconf_properties_window.glade.h:10
+msgid ""
+"If checked, any change to the global status (handled by the combobox at the "
+"bottom of the roster window) will change the status of this account "
+"accordingly"
+msgstr ""
+"Hvis valgt vil en hvilket som helst ændring til den globale status "
+"(håndteret med kombinationsfeltet i bunden af kontaktvinduet) ændre status "
+"på denne konto"
+
+#: ../data/glade/account_modification_window.glade.h:25
+#: ../data/glade/accounts_window.glade.h:29
+msgid "Information about you, as stored in the server"
+msgstr "Information om dig, som er gemt på serveren"
+
+#: ../data/glade/account_modification_window.glade.h:27
+#: ../data/glade/accounts_window.glade.h:34
+#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1524
+#: ../src/config.py:2010
+msgid "No key selected"
+msgstr "Ingen nøgle er valgt"
+
+#. None means no proxy profile selected
+#. GPG Key
+#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/accounts_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1110
+#: ../src/config.py:1181 ../src/config.py:1430 ../src/config.py:1435
+#: ../src/config.py:1906 ../src/config.py:1993 ../src/config.py:2009
+#: ../src/config.py:3109 ../src/config.py:3155 ../src/dialogs.py:286
+#: ../src/dialogs.py:288 ../src/roster_window.py:1832
+#: ../src/roster_window.py:1839 ../src/roster_window.py:1846
+msgid "None"
+msgstr "Ingen"
+
+#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/accounts_window.glade.h:37
+#: ../data/glade/profile_window.glade.h:26
+#: ../data/glade/zeroconf_properties_window.glade.h:17
+msgid "Personal Information"
+msgstr "Personlig Information"
+
+#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/accounts_window.glade.h:38
+msgid "Port: "
+msgstr "Port: "
+
+#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/accounts_window.glade.h:39
+msgid "Priori_ty:"
+msgstr "Priori_tet:"
+
+#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/accounts_window.glade.h:40
+msgid ""
+"Priority is used in Jabber to determine who gets the events from the jabber "
+"server when two or more clients are connected using the same account; The "
+"client with the highest priority gets the events"
+msgstr ""
+"Prioritet er brugt i Jabber for at bestemme hvem som får hændelser fra "
+"jabber serveren når to eller flere klienter er tilsluttet med den samme "
+"konto: Klienten med den højeste prioritet får hændelserne"
+
+#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/accounts_window.glade.h:41
+msgid "Priority will change automatically according to your status."
+msgstr "Prioritet vil automatisk ændres ifølge din status."
+
+#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/accounts_window.glade.h:42
+msgid "Proxy:"
+msgstr "Proxy:"
+
+#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/accounts_window.glade.h:44
+msgid "Resour_ce:"
+msgstr "Ressour_ce:"
+
+#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/accounts_window.glade.h:45
+msgid ""
+"Resource is sent to the Jabber server in order to separate the same JID in "
+"two or more parts depending on the number of the clients connected in the "
+"same server with the same account. So you might be connected in the same "
+"account with resource 'Home' and 'Work' at the same time. The resource which "
+"has the highest priority will get the events. (see below)"
+msgstr ""
+"Ressource bliver sendt til Jabber serveren for at separere den samme JID i "
+"to eller flere dele afhængig af antallet klienter som tilsluttet til den "
+"samme server med den samme konto. Det vil sige du kan være tilsluttet med "
+"denne samme konto med ressourcerne 'Hjemme' og 'Arbejde' på den samme tid. "
+"Ressourcen med den højeste prioritet vil få hændelserne. (se under)"
+
+#: ../data/glade/account_modification_window.glade.h:38
+#: ../data/glade/accounts_window.glade.h:46
+#: ../data/glade/zeroconf_properties_window.glade.h:18
+msgid "Save _passphrase (insecure)"
+msgstr "Gem _pgp-løsen (ikke sikkert)"
+
+#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/accounts_window.glade.h:47
+#: ../data/glade/zeroconf_properties_window.glade.h:19
+msgid "Save conversation _logs for all contacts"
+msgstr "Gem konversations _logger for alle kontakter"
+
+#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/accounts_window.glade.h:49
+msgid "Send keep-alive packets"
+msgstr "Send hold-i-live pakker"
+
+#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/accounts_window.glade.h:50
+#: ../data/glade/zeroconf_properties_window.glade.h:20
+msgid "Synch_ronize account status with global status"
+msgstr "Synk_roniser konto status med global status"
+
+#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/accounts_window.glade.h:51
+#: ../data/glade/synchronise_select_account_dialog.glade.h:2
+msgid "Synchronise contacts"
+msgstr "Synkroniser kontakter"
+
+#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/accounts_window.glade.h:52
+msgid "Use _SSL (legacy)"
+msgstr "Brug _SSL (gammel type)"
+
+#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/accounts_window.glade.h:55
+msgid "Use file transfer proxies"
+msgstr "Brug fil transport proxy"
+
+#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/accounts_window.glade.h:56
+msgid "_Adjust to status"
+msgstr "_Tilpas til status"
+
+#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/accounts_window.glade.h:57
+msgid "_Jabber ID:"
+msgstr "_Jabber ID:"
+
+#: ../data/glade/account_modification_window.glade.h:49
+msgid "_Name:"
+msgstr "_Navn:"
+
+#: ../data/glade/accounts_window.glade.h:14
+#: ../data/glade/profile_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/zeroconf_information_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:5
+msgid "E-Mail:"
+msgstr "Epost:"
+
+#. XML Console enable checkbutton
+#: ../data/glade/accounts_window.glade.h:16
+#: ../data/glade/xml_console_window.glade.h:4
+msgid "Enable"
+msgstr "Aktiver"
+
+#: ../data/glade/accounts_window.glade.h:17
+#: ../data/glade/zeroconf_information_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:6
+msgid "First Name:"
+msgstr "Fornavn:"
+
+#: ../data/glade/accounts_window.glade.h:27
+#: ../data/glade/zeroconf_properties_window.glade.h:11
+msgid ""
+"If the default port that is used for incoming messages is unfitting for your "
+"setup you can select another one here.\n"
+"You might consider to change possible firewall settings."
+msgstr ""
+"Hvis den standard port der bruges til indkomne beskeder ikke passer dig "
+"eller\n"
+"din opsætning kan du vælge en anden her.\n"
+"Du bør også ændre opsætning tilsvarende på en evt. brandmur."
+
+#: ../data/glade/accounts_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/zeroconf_information_window.glade.h:4
+#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:453
+msgid "Jabber ID:"
+msgstr "Jabber ID:"
+
+#: ../data/glade/accounts_window.glade.h:31
+#: ../data/glade/zeroconf_information_window.glade.h:5
+#: ../data/glade/zeroconf_properties_window.glade.h:14
+msgid "Last Name:"
+msgstr "Efternavn:"
+
+#: ../data/glade/accounts_window.glade.h:33
+msgid "Mer_ge accounts"
+msgstr "Fle_t kontoer"
+
+#. Rename
+#: ../data/glade/accounts_window.glade.h:43 ../src/roster_window.py:2697
+msgid "Re_name"
+msgstr "Om_døb"
+
+#: ../data/glade/accounts_window.glade.h:54
+#: ../data/glade/zeroconf_properties_window.glade.h:21
+msgid "Use custom port:"
+msgstr "Brug personlig port:"
+
+#: ../data/glade/accounts_window.glade.h:59
+msgid "gtk-add"
+msgstr "gtk-tilføj"
+
+#: ../data/glade/accounts_window.glade.h:60
+#: ../data/glade/features_window.glade.h:4
+msgid "gtk-close"
+msgstr "gtk-luk"
+
+#: ../data/glade/accounts_window.glade.h:61
+msgid "gtk-remove"
+msgstr "gtk-fjern"
+
+#: ../data/glade/add_new_contact_window.glade.h:1
+msgid "A_ccount:"
+msgstr "K_onto:"
+
+#: ../data/glade/add_new_contact_window.glade.h:2
+msgid "A_llow this contact to view my status"
+msgstr "Ti_llad denne kontakt at se min status"
+
+#: ../data/glade/add_new_contact_window.glade.h:3
+msgid "Add New Contact"
+msgstr "Tilføj Ny Kontakt"
+
+#: ../data/glade/add_new_contact_window.glade.h:4
+msgid "I would like to add you to my contact list."
+msgstr "Jeg vil gerne tilføje dig til min kontakt liste."
+
+#: ../data/glade/add_new_contact_window.glade.h:5
+msgid ""
+"You have to register with this transport\n"
+"to be able to add a contact from this\n"
+"protocol. Click on register button to\n"
+"proceed."
+msgstr ""
+"Du må registrere dig for denne transport\n"
+"for at være i stand til at tilføje kontakter fra denne\n"
+"protokol. Klik på registrer knappen for at\n"
+"fortsætte."
+
+#: ../data/glade/add_new_contact_window.glade.h:9
+msgid ""
+"You must be connected to the transport to be able\n"
+"to add a contact from this protocol."
+msgstr ""
+"Du må være tilsluttet til transporten for at kunne\n"
+"tilføje en kontakt for denne protokol."
+
+#: ../data/glade/add_new_contact_window.glade.h:11
+msgid "_Group:"
+msgstr "_Gruppe:"
+
+#: ../data/glade/add_new_contact_window.glade.h:12
+msgid "_Nickname:"
+msgstr "_Kælenavn:"
+
+#: ../data/glade/add_new_contact_window.glade.h:13
+msgid "_Protocol:"
+msgstr "_Protokol:"
+
+#: ../data/glade/add_new_contact_window.glade.h:14
+msgid "_Register"
+msgstr "Kan _registreres"
+
+#: ../data/glade/add_new_contact_window.glade.h:15
+msgid "_User ID:"
+msgstr "_Bruger ID:"
+
+#: ../data/glade/adhoc_commands_window.glade.h:1
+msgid "<b>An error has occurred:</b>"
+msgstr "<b>En fejl er opstået:</b>"
+
+#: ../data/glade/adhoc_commands_window.glade.h:2
+msgid "<b>Choose command to execute:</b>"
+msgstr "<b>Vælg kommando som skal udføres:</b>"
+
+#: ../data/glade/adhoc_commands_window.glade.h:3
+msgid "Ad-hoc Commands - Gajim"
+msgstr "Ad-hoc Kommandoer - Gajim"
+
+#: ../data/glade/adhoc_commands_window.glade.h:4
+msgid "Check once more"
+msgstr "Kontroller en gang til"
+
+#: ../data/glade/adhoc_commands_window.glade.h:5
+msgid "Error description..."
+msgstr "Fejl beskrivelse..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:6
+msgid "Please wait while retrieving command list..."
+msgstr "Vent mens kommandolisten bliver modtaget..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:7
+msgid "Please wait while the command is sending..."
+msgstr "Vent mens kommandoen bliver sendt..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:8
+msgid "Please wait..."
+msgstr "Vent venligst..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:9
+msgid "This jabber entity does not expose any commands."
+msgstr "Denne jabber enhed eksponerer ikke nogen kommandoer."
+
+#: ../data/glade/advanced_configuration_window.glade.h:1
+#: ../data/glade/features_window.glade.h:1
+msgid "<b>Description</b>"
+msgstr "<b>Beskrivelse</b>"
+
+#: ../data/glade/advanced_configuration_window.glade.h:2
+msgid "<b>NOTE:</b> You should restart Gajim for some settings to take effect"
+msgstr ""
+"<b>NOTE:</b> Du skal genstarte Gajim for at nogle af ændringerne kan træde i "
+"kraft"
+
+#: ../data/glade/advanced_configuration_window.glade.h:3
+msgid "Advanced Configuration Editor"
+msgstr "Avanceret Konfigurations Behandler"
+
+#: ../data/glade/advanced_configuration_window.glade.h:4
+msgid "Filter:"
+msgstr "Filter:"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:1
+msgid "Delete MOTD"
+msgstr "Slet MOTD"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:2
+msgid "Deletes Message of the Day"
+msgstr "Slet Dagens Besked"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:3
+msgid "Edit _Privacy Lists..."
+msgstr "Rediger _Privatlivs Liste..."
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:4
+msgid "Sends a message to users currently connected to this server"
+msgstr "Send en besked til brugere som er tilsluttet denne server"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:5
+msgid "Set MOTD..."
+msgstr "Sæt MOTD..."
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:6
+msgid "Sets Message of the Day"
+msgstr "Sæt Dagens Besked"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:7
+msgid "Show _XML Console"
+msgstr "Vis _XML Konsol"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:8
+msgid "Update MOTD..."
+msgstr "Opdater MOTD..."
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:9
+msgid "Updates Message of the Day"
+msgstr "Opdater Dagens Besked"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:10
+msgid "_Administrator"
+msgstr "_Administrator"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:11
+msgid "_Send Server Message..."
+msgstr "_Send Server Besked..."
+
+#: ../data/glade/advanced_notifications_window.glade.h:1
+msgid " a window/tab opened with that contact "
+msgstr "et vindue/faneblad åbnede med denne kontakt "
+
+#: ../data/glade/advanced_notifications_window.glade.h:2
+msgid "<b>Actions</b>"
+msgstr "<b>Handlinger</b>"
+
+#: ../data/glade/advanced_notifications_window.glade.h:3
+msgid "<b>Conditions</b>"
+msgstr "<b>Betingelser</b>"
+
+#: ../data/glade/advanced_notifications_window.glade.h:4
+#: ../data/glade/preferences_window.glade.h:12
+msgid "<b>Sounds</b>"
+msgstr "<b>Lyde</b>"
+
+#: ../data/glade/advanced_notifications_window.glade.h:5
+msgid "Advanced Actions"
+msgstr "Avancerede Handlinger"
+
+#: ../data/glade/advanced_notifications_window.glade.h:6
+msgid "Advanced Notifications Control"
+msgstr "Avanceret PÃ¥mindelses Kontrol"
+
+#: ../data/glade/advanced_notifications_window.glade.h:7
+msgid "All statuses"
+msgstr "Status For Alle"
+
+#: ../data/glade/advanced_notifications_window.glade.h:8
+#: ../src/common/commands.py:91 ../src/common/helpers.py:246
+msgid "Away"
+msgstr "Borte"
+
+#: ../data/glade/advanced_notifications_window.glade.h:9
+msgid "Busy "
+msgstr "Travlt "
+
+#: ../data/glade/advanced_notifications_window.glade.h:10
+msgid "Don't have "
+msgstr "Har ikke"
+
+#: ../data/glade/advanced_notifications_window.glade.h:11
+msgid "Have "
+msgstr "Har"
+
+#: ../data/glade/advanced_notifications_window.glade.h:12
+#: ../src/common/helpers.py:256
+msgid "Invisible"
+msgstr "Usynlig"
+
+#: ../data/glade/advanced_notifications_window.glade.h:13
+msgid "Launch a command"
+msgstr "Kør en kommando"
+
+#: ../data/glade/advanced_notifications_window.glade.h:14
+#: ../src/common/helpers.py:229
+msgid "Not Available"
+msgstr "Ikke Tilgængelig"
+
+#: ../data/glade/advanced_notifications_window.glade.h:15
+msgid "One or more special statuses..."
+msgstr "En eller flere specielle statuser..."
+
+#: ../data/glade/advanced_notifications_window.glade.h:16
+msgid "Online / Free For Chat"
+msgstr "PÃ¥ net / Klar For Samtale"
+
+#: ../data/glade/advanced_notifications_window.glade.h:17
+msgid "Play a sound"
+msgstr "Spil en lyd"
+
+#: ../data/glade/advanced_notifications_window.glade.h:18
+msgid ""
+"Receive a Message\n"
+"Contact Disconnected \n"
+"Contact Change Status \n"
+"Group Chat Message Highlight \n"
+"Group Chat Message Received \n"
+"File Transfer Request \n"
+"File Transfer Started \n"
+"File Transfer Finished"
+msgstr ""
+"Modtag en Besked\n"
+"Kontakt Ikke Tilsluttet \n"
+"Kontakt Ændrede Status \n"
+"Gruppe Samtale Besked Fremhævelse \n"
+"Gruppe Samtale Besked Modtaget \n"
+"Fil Overførsel Forespørgsel \n"
+"Fil Overførsel Er Startet \n"
+"Fil Overførsel Er Sluttet"
+
+#: ../data/glade/advanced_notifications_window.glade.h:26
+msgid "When "
+msgstr "NÃ¥r "
+
+#: ../data/glade/advanced_notifications_window.glade.h:27
+msgid ""
+"_Activate window manager's UrgencyHint to make chat window in taskbar flash"
+msgstr ""
+"_Aktiver vindueshåndteringens ViktigFif for at få samtale vinduet til at "
+"blinke i opgavelinjen"
+
+#: ../data/glade/advanced_notifications_window.glade.h:28
+msgid "_Disable auto opening chat window"
+msgstr "_Deaktivér automatisk åbning af samtale vindue"
+
+#: ../data/glade/advanced_notifications_window.glade.h:29
+msgid "_Disable existing popup window"
+msgstr "_Deaktivér eksisterende pop op vinduer"
+
+#: ../data/glade/advanced_notifications_window.glade.h:30
+msgid "_Disable existing sound for this event"
+msgstr "_Deaktivér nuværende lyd for denne hændelse"
+
+#: ../data/glade/advanced_notifications_window.glade.h:31
+msgid "_Disable showing event in roster"
+msgstr "_Deaktivér visning af hændelse i kontaktvinduet"
+
+#: ../data/glade/advanced_notifications_window.glade.h:32
+msgid "_Disable showing event in systray"
+msgstr "_Deaktivér visning af hændelse i systembakken"
+
+#: ../data/glade/advanced_notifications_window.glade.h:33
+msgid "_Inform me with a popup window"
+msgstr "_Informer mig med et pop op vindue"
+
+#: ../data/glade/advanced_notifications_window.glade.h:34
+msgid "_Open chat window with user"
+msgstr "_Ã…bn samtale vindue med bruger"
+
+#: ../data/glade/advanced_notifications_window.glade.h:35
+msgid "_Show event in roster"
+msgstr "_Vis hændelse i kontaktvindue"
+
+#: ../data/glade/advanced_notifications_window.glade.h:36
+msgid "_Show event in systray"
+msgstr "_Vis hændelse i systembakken"
+
+#: ../data/glade/advanced_notifications_window.glade.h:37
+msgid "and I "
+msgstr "og jeg "
+
+#: ../data/glade/advanced_notifications_window.glade.h:38
+msgid ""
+"contact(s)\n"
+"group(s)\n"
+"everybody"
+msgstr ""
+"kontakt(er)\n"
+"gruppe(r)\n"
+"alle"
+
+#: ../data/glade/advanced_notifications_window.glade.h:41
+msgid "for "
+msgstr "for "
+
+#: ../data/glade/advanced_notifications_window.glade.h:42
+msgid "when I'm in"
+msgstr "når jeg er i"
+
+#: ../data/glade/atom_entry_window.glade.h:1
+msgid "Entry:"
+msgstr "Indgang:"
+
+#: ../data/glade/atom_entry_window.glade.h:2
+msgid "Feed name:"
+msgstr "Feed navn:"
+
+#: ../data/glade/atom_entry_window.glade.h:3
+msgid "Last modified:"
+msgstr "Sidst ændret:"
+
+#: ../data/glade/atom_entry_window.glade.h:4
+msgid "New entry received"
+msgstr "Ny hændelse modtaget"
+
+#: ../data/glade/atom_entry_window.glade.h:5
+msgid "You have received new entry:"
+msgstr "Du har modtaget en ny hændelse:"
+
+#: ../data/glade/blocked_contacts_window.glade.h:1
+msgid "Blocked Contacts"
+msgstr "Blokerede Kontakter"
+
+#: ../data/glade/change_password_dialog.glade.h:1
+msgid "Change Password"
+msgstr "Ændre Adgangskode"
+
+#: ../data/glade/change_password_dialog.glade.h:2
+msgid "Enter it again for confirmation:"
+msgstr "Skriv adgangskoden igen for at bekræfte:"
+
+#: ../data/glade/change_password_dialog.glade.h:3
+msgid "Enter new password:"
+msgstr "Skriv en ny adgangskode:"
+
+#: ../data/glade/change_status_message_dialog.glade.h:1
+msgid "<b>Type your new status message</b>"
+msgstr "<b>Skriv din nye status besked</b>"
+
+#: ../data/glade/change_status_message_dialog.glade.h:2
+msgid "Preset messages:"
+msgstr "Forvalgte beskeder:"
+
+#: ../data/glade/change_status_message_dialog.glade.h:3
+msgid "Save as Preset..."
+msgstr "Gem som Forvalgt..."
+
+#: ../data/glade/chat_context_menu.glade.h:1
+msgid "Join _Group Chat"
+msgstr "Bliv med i en _Gruppe Samtale"
+
+#: ../data/glade/chat_context_menu.glade.h:2
+#: ../data/glade/roster_contact_context_menu.glade.h:12
+msgid "_Add to Roster..."
+msgstr "_Tilføj til Kontaktliste..."
+
+#: ../data/glade/chat_context_menu.glade.h:3
+msgid "_Copy JID/Email Address"
+msgstr "_Kopier JID/E-post Adresse"
+
+#: ../data/glade/chat_context_menu.glade.h:4
+msgid "_Copy Link Location"
+msgstr "_Kopier Henvisning"
+
+#: ../data/glade/chat_context_menu.glade.h:5
+msgid "_Open Email Composer"
+msgstr "_Ã…bn E-post Program"
+
+#: ../data/glade/chat_context_menu.glade.h:6
+msgid "_Open Link in Browser"
+msgstr "_Åbn Henvisning i Netlæser"
+
+#: ../data/glade/chat_context_menu.glade.h:7
+#: ../data/glade/subscription_request_popup_menu.glade.h:1
+#: ../data/glade/systray_context_menu.glade.h:7
+msgid "_Start Chat"
+msgstr "_Start Samtale"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:1
+msgid "Click to see past conversations with this contact"
+msgstr "Klik for at se tidligere samtaler med denne kontakt"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:2
+msgid "Invite _Friends"
+msgstr "Inviter _Venner"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:4
+msgid "Send _File"
+msgstr "Send _Fil"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:4
+msgid "Toggle End to End Encryption"
+msgstr "Slå til/fra ende til ende Kryptering"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:5
+msgid "Toggle Open_PGP Encryption"
+msgstr "Slå til/fra Open_PGP Kryptering"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:4
+msgid "_Add to Roster"
+msgstr "_Tilføj til Kontaktliste"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:7
+#: ../data/glade/gc_control_popup_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2566
+msgid "_History"
+msgstr "_Historie"
+
+#: ../data/glade/chat_to_muc_window.glade.h:1
+msgid "In_vite"
+msgstr "In_viter"
+
+#: ../data/glade/chat_to_muc_window.glade.h:2
+msgid "Invite Friends !"
+msgstr "Inviter Venner !"
+
+#: ../data/glade/chat_to_muc_window.glade.h:3
+msgid "MUC server"
+msgstr "MUC server"
+
+#: ../data/glade/chat_to_muc_window.glade.h:4
+msgid "Please select a MUC server."
+msgstr "Vælg en MUC server."
+
+#: ../data/glade/chat_to_muc_window.glade.h:5
+msgid ""
+"You are going to begin a Multi-User Chat.\n"
+"Select the contacts you want to invite"
+msgstr ""
+"Du er ved at begynde en Multibruger samtale.\n"
+"Vælg de kontakter du vil invitere"
+
+#: ../data/glade/data_form_window.glade.h:1
+msgid "Fill in the form."
+msgstr "Udfyld formen."
+
+#: ../data/glade/data_form_window.glade.h:2
+msgid "Room Configuration"
+msgstr "Rum Konfigurering"
+
+#: ../data/glade/edit_groups_dialog.glade.h:1
+msgid "Edit Groups"
+msgstr "Rediger Grupper"
+
+#: ../data/glade/features_window.glade.h:2
+msgid "<b>List of possible features in Gajim:</b>"
+msgstr "<b>Liste over mulige egenskaber i Gajim:</b> "
+
+#: ../data/glade/features_window.glade.h:3
+msgid "Features"
+msgstr "Egenskaber"
+
+#: ../data/glade/filetransfers.glade.h:1
+msgid "A list of active, completed and stopped file transfers"
+msgstr "En liste over aktive, færdige og stoppede filoverførsler"
+
+#: ../data/glade/filetransfers.glade.h:2
+msgid "Cancel file transfer"
+msgstr "Annuller filoverførsel"
+
+#: ../data/glade/filetransfers.glade.h:3
+msgid "Cancels the selected file transfer"
+msgstr "Annullerer den valgte filoverførsel"
+
+#: ../data/glade/filetransfers.glade.h:4
+msgid "Cancels the selected file transfer and removes incomplete file"
+msgstr "Annullerer den valgte filoverførsel og fjerner den ikke fuldførte fil"
+
+#: ../data/glade/filetransfers.glade.h:5
+msgid "Clean _up"
+msgstr "Ryd _op"
+
+#: ../data/glade/filetransfers.glade.h:6
+msgid "File Transfers"
+msgstr "Filoverførsler"
+
+#: ../data/glade/filetransfers.glade.h:7
+msgid "Hides the window"
+msgstr "Skjuler vinduet"
+
+#: ../data/glade/filetransfers.glade.h:8
+msgid "Remove file transfer from the list."
+msgstr "Fjern filoverførsler fra listen."
+
+#: ../data/glade/filetransfers.glade.h:9
+msgid "Removes completed, cancelled and failed file transfers from the list"
+msgstr "Fjerner færdige, annullerede og mislykkede filoverførsler fra listen"
+
+#: ../data/glade/filetransfers.glade.h:10
+msgid "Shows a list of file transfers between you and others"
+msgstr "Viser en liste over filoverførsler mellem dig og andre"
+
+#: ../data/glade/filetransfers.glade.h:11
+msgid ""
+"This action removes single file transfer from the list. If the transfer is "
+"active, it is first stopped and then removed"
+msgstr ""
+"Denne handling fjerner en enkelt filoverførsel fra listen. Hvis overførslen "
+"er i gang, bliver den først stoppet og derefter fjernet"
+
+#: ../data/glade/filetransfers.glade.h:12
+msgid "When a file transfer is complete show a popup notification"
+msgstr "Når en filoverførsel er færdig, vis en pop op påmindelse"
+
+#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:774
+msgid "_Continue"
+msgstr "_Fortsæt"
+
+#: ../data/glade/filetransfers.glade.h:14
+msgid "_Notify me when a file transfer is complete"
+msgstr "_Påmind mig når en filoverførsel er færdig"
+
+#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:186
+msgid "_Open Containing Folder"
+msgstr "_Ã…bn folderen med filen"
+
+#: ../data/glade/filetransfers.glade.h:16
+msgid "_Pause"
+msgstr "_Pause"
+
+#: ../data/glade/filetransfers.glade.h:17
+msgid "file transfers list"
+msgstr "filoverførsel liste"
+
+#: ../data/glade/gajim_themes_window.glade.h:1
+msgid "<b>Chatstate Tab Colors</b>"
+msgstr "<b>Samtalestatus Fane Farver</b>"
+
+#: ../data/glade/gajim_themes_window.glade.h:2
+msgid ""
+"Account row\n"
+"Group row\n"
+"Contact row\n"
+"Chat Banner"
+msgstr ""
+"Konto række\n"
+"Gruppe række\n"
+"Kontakt række\n"
+"Samtale Banner"
+
+#: ../data/glade/gajim_themes_window.glade.h:6
+msgid "Bold"
+msgstr "Fed"
+
+#: ../data/glade/gajim_themes_window.glade.h:7
+msgid "Composing"
+msgstr "Komponere"
+
+#: ../data/glade/gajim_themes_window.glade.h:8
+msgid "Font style:"
+msgstr "Font stil:"
+
+#: ../data/glade/gajim_themes_window.glade.h:9
+msgid "Gajim Themes Customization"
+msgstr "Gajim Tema Tilpasning"
+
+#: ../data/glade/gajim_themes_window.glade.h:10
+msgid "Gone"
+msgstr "Borte"
+
+#: ../data/glade/gajim_themes_window.glade.h:11
+msgid "Inactive"
+msgstr "Ikke aktiv"
+
+#: ../data/glade/gajim_themes_window.glade.h:12
+msgid "Italic"
+msgstr "Kursiv"
+
+#: ../data/glade/gajim_themes_window.glade.h:13
+msgid ""
+"MUC\n"
+"Messages"
+msgstr ""
+"MUC\n"
+"Beskeder"
+
+#: ../data/glade/gajim_themes_window.glade.h:15
+msgid ""
+"MUC Directed\n"
+"Messages"
+msgstr ""
+"MUC Sendte\n"
+"Meldinger"
+
+#: ../data/glade/gajim_themes_window.glade.h:17
+msgid "Paused"
+msgstr "Sat på pause"
+
+#: ../data/glade/gajim_themes_window.glade.h:18
+msgid "Text _color:"
+msgstr "Tekst _farve:"
+
+#: ../data/glade/gajim_themes_window.glade.h:19
+msgid "Text _font:"
+msgstr "Tekst _font:"
+
+#: ../data/glade/gajim_themes_window.glade.h:20
+msgid "_Background:"
+msgstr "_Baggrund:"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:1
+msgid "Change _Nickname..."
+msgstr "Ændre _Kælenavn..."
+
+#: ../data/glade/gc_control_popup_menu.glade.h:2
+msgid "Change _Subject..."
+msgstr "Ændre _Emne..."
+
+#: ../data/glade/gc_control_popup_menu.glade.h:3
+msgid "Click to see past conversation in this room"
+msgstr "Klik for at se tidligere samtaler i dette rum"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:4
+msgid "Configure _Room..."
+msgstr "Tilpas _Rum..."
+
+#: ../data/glade/gc_control_popup_menu.glade.h:5
+msgid "_Bookmark"
+msgstr "_Bogmærke"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:6
+msgid "_Destroy Room"
+msgstr "_Slet rum"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:8
+msgid "_Manage Room"
+msgstr "HÃ¥ndter Ru_m"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:9
+msgid "_Minimize on close"
+msgstr "_Minimer ved lukning"
+
+#: ../data/glade/gc_occupants_menu.glade.h:1
+msgid "Mo_derator"
+msgstr "Or_dstyrer"
+
+#: ../data/glade/gc_occupants_menu.glade.h:2
+msgid "Occupant Actions"
+msgstr "Beboer Handlinger"
+
+#: ../data/glade/gc_occupants_menu.glade.h:5
+msgid "_Admin"
+msgstr "_Administrator"
+
+#: ../data/glade/gc_occupants_menu.glade.h:6
+msgid "_Ban"
+msgstr "_Udvis"
+
+#: ../data/glade/gc_occupants_menu.glade.h:8
+msgid "_Kick"
+msgstr "_Kast ud"
+
+#: ../data/glade/gc_occupants_menu.glade.h:9
+msgid "_Member"
+msgstr "_Medlem"
+
+#: ../data/glade/gc_occupants_menu.glade.h:10
+msgid "_Owner"
+msgstr "_Ejer"
+
+#: ../data/glade/gc_occupants_menu.glade.h:11
+msgid "_Send Private Message"
+msgstr "_Send en Privat Besked"
+
+#: ../data/glade/gc_occupants_menu.glade.h:12
+msgid "_Voice"
+msgstr "_Stemme"
+
+#: ../data/glade/groups_post_window.glade.h:1
+msgid "Create new post"
+msgstr "Lav en ny post"
+
+#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:271
+msgid "From"
+msgstr "Fra"
+
+#. holds subject
+#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:142
+#: ../src/history_manager.py:173
+msgid "Subject"
+msgstr "Emne"
+
+#: ../data/glade/history_manager.glade.h:1
+msgid ""
+"<big><b>Welcome to Gajim History Logs Manager</b></big>\n"
+"\n"
+"You can select logs from the left and/or search database from below.\n"
+"\n"
+"<b>WARNING:</b>\n"
+"If you plan to do massive deletions, please make sure Gajim is not running. "
+"Generally avoid deletions with contacts you currently chat with."
+msgstr ""
+"<big><b>Velkommen til Gajim Historie Log HÃ¥ndterer</b><big>\n"
+"\n"
+"Du kan vælge logger til venstre og/eller søge i databasen under.\n"
+"\n"
+"<b>ADVARSEL:</b>\n"
+"Hvis du planlægger at gøre massive sletninger, vær sikker på at Gajim ikke "
+"kører. \n"
+"Generelt undgå at slette logger fra kontakter du samtidig snakker med."
+
+#: ../data/glade/history_manager.glade.h:7
+msgid "Delete"
+msgstr "Slet"
+
+#: ../data/glade/history_manager.glade.h:8
+msgid "Export"
+msgstr "Eksporter"
+
+#: ../data/glade/history_manager.glade.h:9
+msgid "Gajim History Logs Manager"
+msgstr "Gajim Loghistorie HÃ¥ndterer"
+
+#: ../data/glade/history_manager.glade.h:10
+msgid "_Search Database"
+msgstr "_Søge Database"
+
+#: ../data/glade/history_window.glade.h:1
+msgid "Build custom query"
+msgstr "Byg tilpasset forespørgsel"
+
+#: ../data/glade/history_window.glade.h:2
+msgid "Conversation History"
+msgstr "Samtale Historie"
+
+#: ../data/glade/history_window.glade.h:3
+msgid "Query Builder..."
+msgstr "Forespørgsel Bygger..."
+
+#: ../data/glade/history_window.glade.h:4
+#: ../data/glade/search_window.glade.h:2
+msgid "Search"
+msgstr "Søg"
+
+#: ../data/glade/history_window.glade.h:5
+#: ../data/glade/zeroconf_information_window.glade.h:10
+msgid "_Log conversation history"
+msgstr "_Log samtale historie"
+
+#: ../data/glade/history_window.glade.h:6
+#: ../data/glade/search_window.glade.h:5 ../src/disco.py:1172
+msgid "_Search"
+msgstr "_Søg"
+
+#: ../data/glade/invitation_received_dialog.glade.h:1
+msgid "Accept"
+msgstr "Godkend"
+
+#: ../data/glade/invitation_received_dialog.glade.h:2
+#: ../data/glade/privacy_list_window.glade.h:8
+msgid "Deny"
+msgstr "Nægt"
+
+#: ../data/glade/invitation_received_dialog.glade.h:3
+msgid "Invitation Received"
+msgstr "Invitation Modtaget"
+
+#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1265
+msgid "Join Group Chat"
+msgstr "Bliv med i en Gruppe Samtale"
+
+#: ../data/glade/join_groupchat_window.glade.h:2
+msgid "Join this room automatically when I connect"
+msgstr "Bliv med i dette rum automatisk når jeg tilsutter"
+
+#: ../data/glade/join_groupchat_window.glade.h:3
+#: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/profile_window.glade.h:24
+#: ../data/glade/vcard_information_window.glade.h:31
+msgid "Nickname:"
+msgstr "Kælenavn:"
+
+#: ../data/glade/join_groupchat_window.glade.h:4
+#: ../data/glade/manage_bookmarks_window.glade.h:6
+msgid "Password:"
+msgstr "Adgangskode:"
+
+#: ../data/glade/join_groupchat_window.glade.h:5
+msgid "Recently:"
+msgstr "For nylig:"
+
+#: ../data/glade/join_groupchat_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:8
+msgid "Room:"
+msgstr "Rum:"
+
+#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1160
+#: ../src/disco.py:1615
+msgid "_Join"
+msgstr "_Bliv med:"
+
+#: ../data/glade/manage_accounts_window.glade.h:1
+msgid "Manage Accounts"
+msgstr "HÃ¥ndter Kontoer"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:1
+msgid "Auto join"
+msgstr "Bliv automatisk med"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:2
+msgid "If checked, Gajim will join this group chat on startup"
+msgstr "Hvis valgt vil Gajim deltage i denne gruppe samtale ved start"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:3
+msgid "Manage Bookmarks"
+msgstr "Håndter Bogmærker"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:4
+msgid "Minimize on Auto Join"
+msgstr "Minimer ved Automatisk Deltagelse"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:7
+msgid "Print status:"
+msgstr "Skriv status:"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:9
+msgid "Server:"
+msgstr "Server:"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:10
+msgid "Title:"
+msgstr "Titel:"
+
+#: ../data/glade/manage_proxies_window.glade.h:1
+msgid "<b>Properties</b>"
+msgstr "<b>Egenskaber</b>"
+
+#: ../data/glade/manage_proxies_window.glade.h:2
+msgid "<b>Settings</b>"
+msgstr "<b>Opsætning</b>"
+
+#: ../data/glade/manage_proxies_window.glade.h:3
+msgid ""
+"HTTP Connect\n"
+"SOCKS5"
+msgstr ""
+"HTTP Tilslutning\n"
+"SOCKS5"
+
+#: ../data/glade/manage_proxies_window.glade.h:5
+msgid "Manage Proxy Profiles"
+msgstr "HÃ¥ndter Proxy Profiler"
+
+#: ../data/glade/manage_proxies_window.glade.h:6
+#: ../data/glade/profile_window.glade.h:23
+#: ../data/glade/vcard_information_window.glade.h:30
+msgid "Name:"
+msgstr "Navn:"
+
+#: ../data/glade/manage_proxies_window.glade.h:7
+msgid "Pass_word:"
+msgstr "Adgangs_kode"
+
+#: ../data/glade/manage_proxies_window.glade.h:8
+msgid "Type:"
+msgstr "Type:"
+
+#: ../data/glade/manage_proxies_window.glade.h:9
+msgid "Use authentication"
+msgstr "Brug Godkendelse"
+
+#: ../data/glade/manage_proxies_window.glade.h:10
+msgid "_Host:"
+msgstr "_Værtsmaskine:"
+
+#: ../data/glade/message_window.glade.h:1
+msgid "Click to insert an emoticon (Alt+M)"
+msgstr "Klik for at indsætte et følelsesikon (Alt+M)"
+
+#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1212
+msgid "OpenPGP Encryption"
+msgstr "OpenPGP Kryptering"
+
+#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
+#: ../data/glade/message_window.glade.h:4
+#: ../data/glade/roster_window.glade.h:12
+#: ../data/glade/subscription_request_window.glade.h:6
+msgid "_Actions"
+msgstr "_Handlinger"
+
+#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
+#: ../data/glade/message_window.glade.h:6
+#: ../data/glade/xml_console_window.glade.h:11
+#: ../src/filetransfers_window.py:243
+msgid "_Send"
+msgstr "_Send"
+
+#: ../data/glade/passphrase_dialog.glade.h:1
+msgid "Passphrase"
+msgstr "PGP-løsen"
+
+#: ../data/glade/preferences_window.glade.h:1
+msgid "<b>Advanced Configuration Editor</b>"
+msgstr "<b>Avanceret Konfigurations Behandler</b>"
+
+#: ../data/glade/preferences_window.glade.h:2
+msgid "<b>Applications</b>"
+msgstr "<b>Programmer</b>"
+
+#: ../data/glade/preferences_window.glade.h:3
+msgid "<b>Chat Appearance</b>"
+msgstr "<b>Samtale udseende</b>"
+
+#. a header for custom browser/client/file manager. so translate sth like: Custom Settings
+#: ../data/glade/preferences_window.glade.h:5
+msgid "<b>Custom</b>"
+msgstr "<b>Tilpasset Opsætning</b>"
+
+#: ../data/glade/preferences_window.glade.h:6
+msgid "<b>Format of a line</b>"
+msgstr "<b>Format for en linje</b>"
+
+#: ../data/glade/preferences_window.glade.h:7
+msgid "<b>GMail Options</b>"
+msgstr "<b>GMail Indstillinger</b>"
+
+#: ../data/glade/preferences_window.glade.h:9
+msgid "<b>Preset Status Messages</b>"
+msgstr "<b>Nuværende Status Beskeder</b>"
+
+#: ../data/glade/preferences_window.glade.h:10
+msgid "<b>Privacy</b>"
+msgstr "<b>Privatliv</b>"
+
+#: ../data/glade/preferences_window.glade.h:11
+msgid "<b>Roster Appearance</b>"
+msgstr "<b>Kontaktvinduets Udseende</b>"
+
+#: ../data/glade/preferences_window.glade.h:13
+msgid "<b>Themes</b>"
+msgstr "<b>Temaer</b>"
+
+#: ../data/glade/preferences_window.glade.h:14
+msgid "<b>Visual Notifications</b>"
+msgstr "<b>Synlige PÃ¥mindelser</b>"
+
+#: ../data/glade/preferences_window.glade.h:15
+msgid "Advanced"
+msgstr "Avanceret"
+
+#: ../data/glade/preferences_window.glade.h:16
+msgid ""
+"All chat states\n"
+"Composing only\n"
+"Disabled"
+msgstr ""
+"Alle samtale tilstander\n"
+"Kun skrivning\n"
+"Ikke aktiveret"
+
+#: ../data/glade/preferences_window.glade.h:19
+msgid "Allow _OS information to be sent"
+msgstr "Tillad _OS information at blive sendt"
+
+#: ../data/glade/preferences_window.glade.h:20
+msgid "Allow popup/notifications when I'm _away/na/busy/invisible"
+msgstr ""
+"Tillad pop op påmindelser når jeg er _borte/ikke tilgængelig/travel/usynlig"
+
+#: ../data/glade/preferences_window.glade.h:21
+msgid "Always check to see if Gajim is the _default Jabber client on startup"
+msgstr "Altid kontroller om Gajim er standard Jabber klient ved start"
+
+#: ../data/glade/preferences_window.glade.h:22
+msgid ""
+"An example: If you have enabled status message for away, Gajim won't ask you "
+"anymore for a status message when you change your status to away; it will "
+"use the default one set here"
+msgstr ""
+"Et eksempel: Hvis du har aktiveret status beskeder for borte status, vil "
+"Gajim ikke spørge dig mere for en status besked når du ændrer din status til "
+"borte; Gajim vil bruge standard beskeden sat her"
+
+#: ../data/glade/preferences_window.glade.h:23
+msgid "Ask status message when I:"
+msgstr "Spørg om status besked når jeg:"
+
+#: ../data/glade/preferences_window.glade.h:24
+msgid "Auto _away after:"
+msgstr "_Automatisk borte efter:"
+
+#: ../data/glade/preferences_window.glade.h:25
+msgid "Auto _not available after:"
+msgstr "Automatisk _ikke tilgængelig efter:"
+
+#: ../data/glade/preferences_window.glade.h:26
+msgid ""
+"Autodetect on every Gajim startup\n"
+"Always use GNOME default applications\n"
+"Always use KDE default applications\n"
+"Always use XFCE4 default applications\n"
+"Custom"
+msgstr ""
+"Automatisk genkend hvergang Gajim starter\n"
+"Altid brug GNOME standard programmer\n"
+"Altid brug KDE standard programmer\n"
+"Altid brug XFCE4 standard programmer\n"
+"Tilpasset"
+
+#: ../data/glade/preferences_window.glade.h:31
+msgid ""
+"Check this option, only if someone you don't have in the roster spams/annoys "
+"you. Use with caution, because it blocks all messages from any contact that "
+"is not in the roster"
+msgstr ""
+"Kun tjek denne valgmulighed hvis nogen du ikke har i kontaktvinduet spammer/"
+"generer\n"
+"dig. Bruges varsomt, fordi den blokerer alle beskeder fra kontakter som \n"
+"ikke er i kontaktvinduet"
+
+#: ../data/glade/preferences_window.glade.h:32
+msgid "Configure color and font of the interface"
+msgstr "Konfigurér farve og skrifttyper for brugergrænsefladen"
+
+#: ../data/glade/preferences_window.glade.h:33
+msgid "Default Status Messages"
+msgstr "Standard Status Beskeder"
+
+#: ../data/glade/preferences_window.glade.h:34
+msgid ""
+"Determined by sender\n"
+"Chat message\n"
+"Single message"
+msgstr ""
+"Bestemt af senderen\n"
+"Samtale besked\n"
+"Enkel besked"
+
+#: ../data/glade/preferences_window.glade.h:37
+msgid "Display _extra email details"
+msgstr "Vis _ekstra e-post detaljer"
+
+#: ../data/glade/preferences_window.glade.h:38
+msgid "Display a_vatars of contacts in roster"
+msgstr "Vis a_vatarer for kontakter i kontaktvinduet"
+
+#: ../data/glade/preferences_window.glade.h:39
+msgid "Display status _messages of contacts in roster"
+msgstr "Vis status _beskeder for kontakter i kontaktvinduet"
+
+#: ../data/glade/preferences_window.glade.h:40
+msgid "Emoticons:"
+msgstr "Følelsesikoner:"
+
+#: ../data/glade/preferences_window.glade.h:41
+msgid "Events"
+msgstr "Hændelser"
+
+#: ../data/glade/preferences_window.glade.h:42
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"display in chat windows."
+msgstr "Gajim kan sende og modtage meta-information relateret til en samtale du har med en kontakt. Her kan du specificere hvilke typer samtalestatus du vil vise i samtalevinduerne."
+
+#: ../data/glade/preferences_window.glade.h:43
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"send to the other party."
+msgstr "Gajim kan sende og modtage meta-information relateret til en samtale du har med en kontakt. Her kan du specificere hvilke typer samtalestatus du vil sende til modparten."
+
+#: ../data/glade/preferences_window.glade.h:44
+msgid ""
+"Gajim will notify you via a popup window in the bottom right of the screen "
+"about contacts that just signed out"
+msgstr ""
+"Gajim vil påminde dig med et pop op vindue i højre bund af skærmen når en "
+"kontakt logger af"
+
+#: ../data/glade/preferences_window.glade.h:46
+msgid "Hides buttons in chatwindows to "
+msgstr "Skjuler knapperne i gruppesamtale vinduer til "
+
+#: ../data/glade/preferences_window.glade.h:47
+msgid ""
+"If checked, Gajim will also include information about the sender of the new "
+"emails"
+msgstr ""
+"Hvis valgt vil Gajim også inkludere information om senderen af den nye e-post"
+
+#: ../data/glade/preferences_window.glade.h:48
+msgid ""
+"If checked, Gajim will display avatars of contacts in roster window and in "
+"group chats"
+msgstr ""
+"Hvis valgt vil Gajim vise avatarer af kontakter i kontaktvinduet og i gruppe "
+"samtaler"
+
+#: ../data/glade/preferences_window.glade.h:49
+msgid ""
+"If checked, Gajim will display status messages of contacts under the contact "
+"name in roster window and in group chats"
+msgstr "Hvis valgt vil Gajim vise status beskeder af kontakter under kontaktnavnet i kontaktvinduet og i gruppe samtaler"
+
+#: ../data/glade/preferences_window.glade.h:50
+msgid ""
+"If checked, Gajim will use protocol-specific status icons. (eg. A contact "
+"from MSN will have the equivalent msn icon for status online, away, busy, "
+"etc...)"
+msgstr "Hvis valgt vil Gajim bruge protokol specifikke status ikoner. (F.eks. En kontakt fra MSN vil have det tilsvarende msn ikon for status tilsluttet, borte, Travlt, etc...)"
+
+#: ../data/glade/preferences_window.glade.h:51
+msgid ""
+"If not disabled, Gajim will replace ascii smilies like ':)' with equivalent "
+"animated or static graphical emoticons"
+msgstr "Hvis valgt vil Gajim erstatte tekst smileys som denne ':)' med den tilsvarende animerede eller statiske grafiske følelsesikon"
+
+#: ../data/glade/preferences_window.glade.h:52
+msgid "Ignore rich content in incoming messages"
+msgstr "Ignorer rigt indhold i indkommende beskeder"
+
+#: ../data/glade/preferences_window.glade.h:53
+msgid "Ma_nage..."
+msgstr "HÃ¥_ndtere..."
+
+#: ../data/glade/preferences_window.glade.h:54
+msgid ""
+"Never\n"
+"Always\n"
+"Per account\n"
+"Per type"
+msgstr ""
+"Aldrig\n"
+"Altid\n"
+"Per konto\n"
+"Per type"
+
+#: ../data/glade/preferences_window.glade.h:58
+msgid "Notify me about contacts that sign _in"
+msgstr "PÃ¥mind mig om kontakter logger _ind"
+
+#: ../data/glade/preferences_window.glade.h:59
+msgid "Notify me about contacts that sign _out"
+msgstr "PÃ¥mind mig om kontakter som logger u_d"
+
+#: ../data/glade/preferences_window.glade.h:60
+msgid "Notify on new _GMail email"
+msgstr "PÃ¥mind mig ved ny _GMail e-post"
+
+#: ../data/glade/preferences_window.glade.h:61
+msgid "Play _sounds"
+msgstr "Afspil _lyde"
+
+#: ../data/glade/preferences_window.glade.h:62
+msgid ""
+"Pop it up\n"
+"Notify me about it\n"
+"Show only in roster"
+msgstr ""
+"Pop det op\n"
+"PÃ¥mind mig om det\n"
+"Hvis kun i kontaktvinduet"
+
+#: ../data/glade/preferences_window.glade.h:65
+msgid "Preferences"
+msgstr "Indstillinger"
+
+#: ../data/glade/preferences_window.glade.h:66
+msgid "Privacy"
+msgstr "Privatliv"
+
+#: ../data/glade/preferences_window.glade.h:67
+msgid "Set status message to reflect currently playing _music track"
+msgstr ""
+"Sæt status besked til at vise det musik nu_mmer du spiller på det pågældende "
+"tidspunkt"
+
+#: ../data/glade/preferences_window.glade.h:68
+msgid "Sign _in"
+msgstr "Logge _ind"
+
+#: ../data/glade/preferences_window.glade.h:69
+msgid "Sign _out"
+msgstr "Log _af"
+
+#: ../data/glade/preferences_window.glade.h:70
+msgid ""
+"Some messages may include rich content (formatting, colors etc). If checked, "
+"Gajim will just display the raw message text."
+msgstr ""
+"Nogle beskeder kan indeholde rigt indhold (formatering, farver osv.). Hvis valgt\n"
+"vil Gajim kun vise den rå tekst."
+
+#: ../data/glade/preferences_window.glade.h:71
+msgid "Status"
+msgstr "Status"
+
+#: ../data/glade/preferences_window.glade.h:72
+msgid "Status _iconset:"
+msgstr "Status _ikonsæt:"
+
+#: ../data/glade/preferences_window.glade.h:73
+msgid "T_heme:"
+msgstr "T_ema:"
+
+#: ../data/glade/preferences_window.glade.h:74
+msgid "The auto away status message"
+msgstr "Den automatiske status besked for borte"
+
+#: ../data/glade/preferences_window.glade.h:75
+msgid "The auto not available status message"
+msgstr "Den automatiske besked for ikke tilgængelig"
+
+#: ../data/glade/preferences_window.glade.h:76
+msgid "Treat all incoming messages as:"
+msgstr "Behandl alle indkomne beskeder som:"
+
+#: ../data/glade/preferences_window.glade.h:77
+msgid "Use _transports iconsets"
+msgstr "Brug _transporternes ikonsæt"
+
+#: ../data/glade/preferences_window.glade.h:78
+msgid "Use only one message _window:"
+msgstr "Brug kun et samtale _vindue:"
+
+#: ../data/glade/preferences_window.glade.h:79
+msgid "Use system _default"
+msgstr "Brug system stan_dard"
+
+#: ../data/glade/preferences_window.glade.h:80
+msgid "When new event is received:"
+msgstr "Når en ny hændelse er modtaget:"
+
+#: ../data/glade/preferences_window.glade.h:81
+msgid ""
+"Works for Rhythmbox and Muine players. For more players, please visit http://"
+"trac.gajim.org/wiki/GajimAndMusicPlayer"
+msgstr ""
+"Virker for afspiller som Rhythmbox og Muine. For andre afspiller besøg "
+"http://trac.gajim.org/wiki/GajimAndMusicPlayer"
+
+#: ../data/glade/preferences_window.glade.h:82
+msgid "_Advanced Notifications Control..."
+msgstr "Avanceret PÃ¥mindelses Kontrol..."
+
+#: ../data/glade/preferences_window.glade.h:83
+msgid "_Browser:"
+msgstr "_Netlæser:"
+
+#: ../data/glade/preferences_window.glade.h:84
+msgid "_Display chat state notifications:"
+msgstr "Vis samtalestatus påmin_delser:"
+
+#: ../data/glade/preferences_window.glade.h:85
+msgid "_File manager:"
+msgstr "_Filhåndterer:"
+
+#: ../data/glade/preferences_window.glade.h:86
+msgid "_Font:"
+msgstr "_Font:"
+
+#: ../data/glade/preferences_window.glade.h:87
+msgid "_Highlight misspelled words"
+msgstr "Frem_hæv stavefejl"
+
+#: ../data/glade/preferences_window.glade.h:88
+msgid "_Ignore events from contacts not in the roster"
+msgstr "_Ignorer hændelser fra kontakter som ikke er i kontaktvinduet"
+
+#: ../data/glade/preferences_window.glade.h:89
+msgid "_Incoming message:"
+msgstr "_Indkommende besked:"
+
+#: ../data/glade/preferences_window.glade.h:90
+msgid "_Log status changes of contacts"
+msgstr "_Log status ændringer hos kontakter"
+
+#: ../data/glade/preferences_window.glade.h:91
+msgid "_Mail client:"
+msgstr "_E-post klient:"
+
+#: ../data/glade/preferences_window.glade.h:92
+msgid "_Make message windows compact"
+msgstr "Gør sa_mtalevinduer kompakte"
+
+#: ../data/glade/preferences_window.glade.h:93
+msgid "_Open..."
+msgstr "_Ã…bn..."
+
+#: ../data/glade/preferences_window.glade.h:94
+msgid "_Outgoing message:"
+msgstr "_Udgående besked:"
+
+#: ../data/glade/preferences_window.glade.h:95
+msgid "_Player:"
+msgstr "Afs_piller:"
+
+#: ../data/glade/preferences_window.glade.h:96
+msgid "_Reset to Default Colors"
+msgstr "_Nulstil til Standard Farver"
+
+#: ../data/glade/preferences_window.glade.h:97
+msgid "_Send chat state notifications:"
+msgstr "_Send samtalestatus påmindelser:"
+
+#: ../data/glade/preferences_window.glade.h:98
+msgid "_Sort contacts by status"
+msgstr "_Sorter kontakter efter status"
+
+#: ../data/glade/preferences_window.glade.h:99
+msgid "_Status message:"
+msgstr "_Status besked:"
+
+#: ../data/glade/preferences_window.glade.h:100
+msgid "_URL:"
+msgstr "_URL:"
+
+#: ../data/glade/preferences_window.glade.h:101
+msgid "minutes"
+msgstr "minutter"
+
+#: ../data/glade/privacy_lists_window.glade.h:1
+msgid "Privacy Lists:"
+msgstr "Privatlivs Lister:"
+
+#: ../data/glade/privacy_list_window.glade.h:1
+msgid "<b>Add / Edit a rule</b>"
+msgstr "<b>Tilføj / Ændre en regel</b>"
+
+#: ../data/glade/privacy_list_window.glade.h:2
+msgid "<b>List of rules</b>"
+msgstr "<b>Liste af regler</b>"
+
+#: ../data/glade/privacy_list_window.glade.h:3
+msgid "<i>Privacy List</i>"
+msgstr "<i>Privatlivs Liste</i>"
+
+#: ../data/glade/privacy_list_window.glade.h:4
+msgid "Active for this session"
+msgstr "Aktiv i denne session"
+
+#: ../data/glade/privacy_list_window.glade.h:5
+msgid "Active on each startup"
+msgstr "Aktiv efter hver start"
+
+#: ../data/glade/privacy_list_window.glade.h:6
+msgid "All"
+msgstr "Alle"
+
+#: ../data/glade/privacy_list_window.glade.h:7
+msgid "Allow"
+msgstr "Tillad"
+
+#: ../data/glade/privacy_list_window.glade.h:9
+msgid "JabberID"
+msgstr "Jabber ID"
+
+#: ../data/glade/privacy_list_window.glade.h:10
+msgid "Order:"
+msgstr "Bestil:"
+
+#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2104
+msgid "Privacy List"
+msgstr "Privatlivs Liste"
+
+#: ../data/glade/privacy_list_window.glade.h:12
+msgid "all by subscription"
+msgstr "Alle efter abonnering"
+
+#: ../data/glade/privacy_list_window.glade.h:13
+msgid "all in the group"
+msgstr "Alle i gruppen"
+
+#: ../data/glade/privacy_list_window.glade.h:14
+msgid ""
+"none\n"
+"both\n"
+"from\n"
+"to"
+msgstr ""
+"ingen\n"
+"begge\n"
+"fra\n"
+"til"
+
+#: ../data/glade/privacy_list_window.glade.h:18
+msgid "to send me messages"
+msgstr "at sende mig beskeder"
+
+#: ../data/glade/privacy_list_window.glade.h:19
+msgid "to send me queries"
+msgstr "at sende mig forespørgsler"
+
+#: ../data/glade/privacy_list_window.glade.h:20
+msgid "to send me status"
+msgstr "at sende mig status"
+
+#: ../data/glade/privacy_list_window.glade.h:21
+msgid "to view my status"
+msgstr "at se min status"
+
+#. "About" is the text of a tab of vcard window
+#: ../data/glade/profile_window.glade.h:2
+#: ../data/glade/vcard_information_window.glade.h:2
+msgid "About"
+msgstr "Om"
+
+#: ../data/glade/profile_window.glade.h:3
+#: ../data/glade/vcard_information_window.glade.h:3
+msgid "Address"
+msgstr "Adress"
+
+#: ../data/glade/profile_window.glade.h:4
+msgid "Avatar:"
+msgstr "Avatar:"
+
+#: ../data/glade/profile_window.glade.h:5
+#: ../data/glade/vcard_information_window.glade.h:6
+msgid "Birthday:"
+msgstr "Fødselsdag:"
+
+#: ../data/glade/profile_window.glade.h:6
+#: ../data/glade/vcard_information_window.glade.h:7
+msgid "City:"
+msgstr "By:"
+
+#: ../data/glade/profile_window.glade.h:7
+msgid "Click to set your avatar"
+msgstr "Tryk for at se din avatar"
+
+#: ../data/glade/profile_window.glade.h:8
+#: ../data/glade/vcard_information_window.glade.h:10
+msgid "Company:"
+msgstr "Firma:"
+
+#: ../data/glade/profile_window.glade.h:9
+#: ../data/glade/vcard_information_window.glade.h:14
+msgid "Country:"
+msgstr "Land:"
+
+#: ../data/glade/profile_window.glade.h:10
+#: ../data/glade/vcard_information_window.glade.h:15
+msgid "Department:"
+msgstr "Afdeling:"
+
+#: ../data/glade/profile_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:17
+msgid "Extra Address:"
+msgstr "Ekstra Adresse:"
+
+#. Family Name
+#: ../data/glade/profile_window.glade.h:14
+#: ../data/glade/vcard_information_window.glade.h:19
+msgid "Family:"
+msgstr "Efternavn:"
+
+#. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly)
+#: ../data/glade/profile_window.glade.h:16
+#: ../data/glade/vcard_information_window.glade.h:21
+msgid "Format: YYYY-MM-DD"
+msgstr "Format: YYYY-MM-DD"
+
+#: ../data/glade/profile_window.glade.h:17
+#: ../data/glade/vcard_information_window.glade.h:22
+msgid "Full Name"
+msgstr "Fuldt Navn"
+
+#. Given Name
+#: ../data/glade/profile_window.glade.h:19
+#: ../data/glade/vcard_information_window.glade.h:24
+msgid "Given:"
+msgstr "Fornavn:"
+
+#: ../data/glade/profile_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:25
+msgid "Homepage:"
+msgstr "Hjemmeside:"
+
+#. Middle Name
+#: ../data/glade/profile_window.glade.h:22
+#: ../data/glade/vcard_information_window.glade.h:28
+msgid "Middle:"
+msgstr "Mellemnavn:"
+
+#: ../data/glade/profile_window.glade.h:25
+#: ../data/glade/vcard_information_window.glade.h:34
+msgid "Personal Info"
+msgstr "Personlig Information"
+
+#: ../data/glade/profile_window.glade.h:27
+#: ../data/glade/vcard_information_window.glade.h:35
+msgid "Phone No.:"
+msgstr "Telefonnr.:"
+
+#: ../data/glade/profile_window.glade.h:28
+#: ../data/glade/vcard_information_window.glade.h:36
+msgid "Position:"
+msgstr "Placering:"
+
+#: ../data/glade/profile_window.glade.h:29
+#: ../data/glade/vcard_information_window.glade.h:37
+msgid "Postal Code:"
+msgstr "Postnummer:"
+
+#. Prefix in Name
+#: ../data/glade/profile_window.glade.h:31
+#: ../data/glade/vcard_information_window.glade.h:39
+msgid "Prefix:"
+msgstr "Titel:"
+
+#: ../data/glade/profile_window.glade.h:32
+#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:302
+msgid "Role:"
+msgstr "Rolle:"
+
+#: ../data/glade/profile_window.glade.h:33
+#: ../data/glade/vcard_information_window.glade.h:42
+msgid "State:"
+msgstr "Amt:"
+
+#: ../data/glade/profile_window.glade.h:34
+#: ../data/glade/vcard_information_window.glade.h:44
+msgid "Street:"
+msgstr "Gade:"
+
+#. Suffix in Name
+#: ../data/glade/profile_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:48
+msgid "Suffix:"
+msgstr "Endelse:"
+
+#: ../data/glade/profile_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:50
+msgid "Work"
+msgstr "Arbejde"
+
+#: ../data/glade/remove_account_window.glade.h:1
+msgid "<b>What do you want to do?</b>"
+msgstr "<b>Hvad vil du gøre?</b>"
+
+#: ../data/glade/remove_account_window.glade.h:2
+msgid "Remove account _only from Gajim"
+msgstr "Fjern kun k_ontoen fra Gajim"
+
+#: ../data/glade/remove_account_window.glade.h:3
+msgid "Remove account from Gajim and from _server"
+msgstr "Fjern konto fra Gajim og fra _serveren"
+
+#. Remove
+#. Remove group
+#. Remove
+#: ../data/glade/remove_account_window.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../src/roster_window.py:2523 ../src/roster_window.py:2733
+#: ../src/roster_window.py:2869
+msgid "_Remove"
+msgstr "_Kan fjernes"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:1
+msgid "A_sk to see his/her status"
+msgstr "_Spørg om at kunne se hans/hendes status"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:2
+msgid "Add Special _Notification..."
+msgstr "Tilføj Speciel Påmi_ndelse..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:3
+msgid "Assign Open_PGP Key..."
+msgstr "Tilskriv Open_PGP Nøgle..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:4
+msgid "Edit _Groups..."
+msgstr "Ændre _Grupper..."
+
+#. Execute Command
+#: ../data/glade/roster_contact_context_menu.glade.h:5
+#: ../src/roster_window.py:2826
+msgid "Execute Command..."
+msgstr "Kør Kommando..."
+
+#. Invite to Groupchat
+#: ../data/glade/roster_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2439
+msgid "In_vite to"
+msgstr "In_viter til"
+
+#. Send Custom Status
+#: ../data/glade/roster_contact_context_menu.glade.h:7
+#: ../src/roster_window.py:2663 ../src/roster_window.py:2797
+msgid "Send Cus_tom Status"
+msgstr "Send _Tilpasset Status"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Send Single _Message..."
+msgstr "Send en Enkel _Besked"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:9
+msgid "Send _File..."
+msgstr "Send _Fil..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:10
+msgid "Set Custom _Avatar..."
+msgstr "Angiv Personlig _Avatar..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:11
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:5
+msgid "Start _Chat"
+msgstr "Start _samtale"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:13
+msgid "_Allow him/her to see my status"
+msgstr "Till_ad ham/hende at se min status"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:14
+#: ../src/roster_window.py:2513 ../src/roster_window.py:2724
+msgid "_Block"
+msgstr "_Bloker"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:15
+msgid "_Forbid him/her to see my status"
+msgstr "_Nægt ham/hende at se min status"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:17
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:7
+msgid "_Manage Contact"
+msgstr "_HÃ¥ndter Kontakt"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:19
+msgid "_Rename..."
+msgstr "_Omdøb..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:20
+msgid "_Subscription"
+msgstr "_Abonnement"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:21
+#: ../src/roster_window.py:2507 ../src/roster_window.py:2718
+msgid "_Unblock"
+msgstr "_Fjern blokering"
+
+#: ../data/glade/roster_window.glade.h:1
+msgid "A_ccounts"
+msgstr "_Kontoer"
+
+#: ../data/glade/roster_window.glade.h:2
+msgid "Add _Contact..."
+msgstr "_Tilføj Kontakt..."
+
+#: ../data/glade/roster_window.glade.h:3
+msgid "Fea_tures"
+msgstr "_Egenskaber"
+
+#: ../data/glade/roster_window.glade.h:4
+msgid "File _Transfers"
+msgstr "Filover_førsler"
+
+#: ../data/glade/roster_window.glade.h:5
+msgid "Frequently Asked Questions (online)"
+msgstr "Ofte Stillede Spørgsmål (på net)"
+
+#: ../data/glade/roster_window.glade.h:7
+msgid "Help online"
+msgstr "Hjælp på net"
+
+#: ../data/glade/roster_window.glade.h:9
+msgid "Profile, A_vatar"
+msgstr "Profil, A_vatar"
+
+#: ../data/glade/roster_window.glade.h:10
+msgid "Show Trans_ports"
+msgstr "Vis Trans_porter"
+
+#: ../data/glade/roster_window.glade.h:11
+msgid "Show _Offline Contacts"
+msgstr "Vis _Afkoblede Kontakter"
+
+#: ../data/glade/roster_window.glade.h:14
+msgid "_Contents"
+msgstr "_Indhold"
+
+#: ../data/glade/roster_window.glade.h:16 ../src/disco.py:1348
+msgid "_Edit"
+msgstr "R_ediger"
+
+#: ../data/glade/roster_window.glade.h:17
+msgid "_FAQ"
+msgstr "_OSS"
+
+#: ../data/glade/roster_window.glade.h:18
+msgid "_Help"
+msgstr "_Hjælp"
+
+#: ../data/glade/roster_window.glade.h:19
+msgid "_Preferences"
+msgstr "_Indstillinger"
+
+#: ../data/glade/roster_window.glade.h:20
+msgid "_Quit"
+msgstr "_Afslut"
+
+#: ../data/glade/roster_window.glade.h:21
+msgid "_Send Single Message..."
+msgstr "Send en Enkel _Besked..."
+
+#: ../data/glade/roster_window.glade.h:23
+msgid "_View"
+msgstr "_Vis"
+
+#: ../data/glade/search_window.glade.h:1
+msgid "Please wait while retrieving search form..."
+msgstr "Vent mens en søge form hentes..."
+
+#: ../data/glade/search_window.glade.h:3
+msgid "_Add contact"
+msgstr "Tilføj Kont_akt"
+
+#. Information
+#: ../data/glade/search_window.glade.h:4 ../src/roster_window.py:2881
+msgid "_Information"
+msgstr "_Information"
+
+#: ../data/glade/service_discovery_window.glade.h:1
+msgid "G_o"
+msgstr "N_aviger"
+
+#: ../data/glade/service_discovery_window.glade.h:2
+msgid "_Address:"
+msgstr "_Adresse:"
+
+#: ../data/glade/service_registration_window.glade.h:1
+msgid "Register to"
+msgstr "Registrer til"
+
+#: ../data/glade/service_registration_window.glade.h:2
+msgid "_Cancel"
+msgstr "_Afbryd"
+
+#: ../data/glade/service_registration_window.glade.h:3
+msgid "_OK"
+msgstr "_OK"
+
+#: ../data/glade/single_message_window.glade.h:1
+msgid "0"
+msgstr "0"
+
+#: ../data/glade/single_message_window.glade.h:2
+msgid "From:"
+msgstr "Fra:"
+
+#: ../data/glade/single_message_window.glade.h:3
+msgid "Reply to this message"
+msgstr "Send et svar til denne besked"
+
+#: ../data/glade/single_message_window.glade.h:4
+msgid "Sen_d"
+msgstr "Sen_d"
+
+#: ../data/glade/single_message_window.glade.h:5
+msgid "Send message"
+msgstr "Send besked"
+
+#: ../data/glade/single_message_window.glade.h:6
+msgid "Send message and close window"
+msgstr "Send besked og luk vinduet"
+
+#: ../data/glade/single_message_window.glade.h:7
+msgid "Subject:"
+msgstr "Emne:"
+
+#: ../data/glade/single_message_window.glade.h:8
+msgid "To:"
+msgstr "Til:"
+
+#: ../data/glade/single_message_window.glade.h:9
+msgid "_Reply"
+msgstr "Sva_r"
+
+#: ../data/glade/single_message_window.glade.h:10
+msgid "_Send & Close"
+msgstr "_Send & Luk"
+
+#: ../data/glade/subscription_request_window.glade.h:1
+msgid "Au_thorize"
+msgstr "Au_torisere"
+
+#: ../data/glade/subscription_request_window.glade.h:2
+msgid "Authorize contact so he or she can know when you're connected"
+msgstr ""
+"Autoriser kontakt så han eller hun kan opnå information om at du er "
+"tilsluttet"
+
+#: ../data/glade/subscription_request_window.glade.h:3
+msgid ""
+"Deny authorization from contact so he or she cannot know when you're "
+"connected"
+msgstr ""
+"Nægt autorisation fra kontakter så han eller hun ikke kan opnå information "
+"om at du er tilsluttet"
+
+#: ../data/glade/subscription_request_window.glade.h:4
+msgid "Subscription Request"
+msgstr "Abonnement Forespørgsel"
+
+#: ../data/glade/subscription_request_window.glade.h:7
+msgid "_Deny"
+msgstr "_Nægt"
+
+#: ../data/glade/synchronise_select_account_dialog.glade.h:1
+msgid "Select the account with which you want to synchronise"
+msgstr "Vælg den konto som du vil synkronisere med"
+
+#: ../data/glade/synchronise_select_contacts_dialog.glade.h:1
+msgid "Select the contacts you want to synchronise"
+msgstr "Vælg de kontakter som du vil synkronisere"
+
+#: ../data/glade/synchronise_select_contacts_dialog.glade.h:2
+msgid "Synchronise : select contacts"
+msgstr "Synkronisering : vælg kontakter"
+
+#: ../data/glade/systray_context_menu.glade.h:1
+msgid "Mute Sounds"
+msgstr "Slå lyden af"
+
+#: ../data/glade/systray_context_menu.glade.h:2
+msgid "Send Single _Message"
+msgstr "Send en Enkel _Besked"
+
+#: ../data/glade/systray_context_menu.glade.h:3
+msgid "Show All Pending _Events"
+msgstr "Vis Alle Ventende Hænd_elser"
+
+#: ../data/glade/systray_context_menu.glade.h:4
+msgid "Show _Roster"
+msgstr "Vis _Kontaktvindue"
+
+#: ../data/glade/systray_context_menu.glade.h:5
+msgid "Sta_tus"
+msgstr "Sta_tus"
+
+#: ../data/glade/systray_context_menu.glade.h:6
+msgid "_Group Chat"
+msgstr "_Gruppe Chat"
+
+#. Given Name
+#: ../data/glade/vcard_information_window.glade.h:5
+msgid "Ask:"
+msgstr "Spørg:"
+
+#: ../data/glade/vcard_information_window.glade.h:8
+msgid "Client:"
+msgstr "Klient:"
+
+#: ../data/glade/vcard_information_window.glade.h:9
+msgid "Comments"
+msgstr "Kommentarer"
+
+#: ../data/glade/vcard_information_window.glade.h:11
+msgid "Configured avatar:"
+msgstr "Konfigureret avatar:"
+
+#: ../data/glade/vcard_information_window.glade.h:12
+#: ../data/glade/zeroconf_information_window.glade.h:1
+msgid "Contact"
+msgstr "Kontakt"
+
+#: ../data/glade/vcard_information_window.glade.h:13
+msgid "Contact Information"
+msgstr "Kontakt Information"
+
+#: ../data/glade/vcard_information_window.glade.h:29
+msgid "More"
+msgstr "Mere"
+
+#: ../data/glade/vcard_information_window.glade.h:33
+msgid "OS:"
+msgstr "OS:"
+
+#: ../data/glade/vcard_information_window.glade.h:40
+#: ../data/glade/zeroconf_information_window.glade.h:8
+msgid "Resource:"
+msgstr "Resource:"
+
+#: ../data/glade/vcard_information_window.glade.h:43
+#: ../data/glade/zeroconf_information_window.glade.h:9
+msgid "Status:"
+msgstr "Status:"
+
+#. Family Name
+#: ../data/glade/vcard_information_window.glade.h:46
+msgid "Subscription:"
+msgstr "Abonnement:"
+
+#: ../data/glade/vcard_information_window.glade.h:49
+msgid "User avatar:"
+msgstr "Bruger avatar:"
+
+#: ../data/glade/xml_console_window.glade.h:1
+msgid "<b>Jabber Traffic</b>"
+msgstr "<b>Jabber Trafik</b>"
+
+#: ../data/glade/xml_console_window.glade.h:2
+msgid "<b>XML Input</b>"
+msgstr "<b>XML Inddata</b>"
+
+#. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem)
+#: ../data/glade/xml_console_window.glade.h:6
+msgid "Info/Query"
+msgstr "Information/Forespørgsel (Info/Query)"
+
+#. Info/Query: all(?) jabber xml start with <iq Leaving it _IQ is not a bad idea unless you are sure your lang has this somehow else translated (NOTE: xml still will still say <iq in your language (of course))
+#: ../data/glade/xml_console_window.glade.h:8
+msgid "_IQ"
+msgstr "_IQ"
+
+#: ../data/glade/xml_console_window.glade.h:9
+msgid "_Message"
+msgstr "_Besked"
+
+#: ../data/glade/xml_console_window.glade.h:10
+msgid "_Presence"
+msgstr "_Tilstedeværelse"
+
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
+msgid "Add Special _Notification"
+msgstr "Tilføj Speciel _Påmindelse"
+
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
+msgid "Assign Open_PGP Key"
+msgstr "Tilskriv Open_PGP Nøgle"
+
+#. Edit Groups
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
+#: ../src/roster_window.py:2496
+msgid "Edit _Groups"
+msgstr "Ændre _Grupper"
+
+#. Rename
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:8
+#: ../src/roster_window.py:2853
+msgid "_Rename"
+msgstr "_Omdøb"
+
+#: ../data/glade/zeroconf_context_menu.glade.h:1
+msgid "_Modify Account..."
+msgstr "_Ændre Konto"
+
+#: ../data/glade/zeroconf_information_window.glade.h:6
+msgid "Local jid:"
+msgstr "Lokal jid:"
+
+#: ../data/glade/zeroconf_information_window.glade.h:7
+msgid "Personal"
+msgstr "Personlig"
+
+#: ../data/glade/zeroconf_properties_window.glade.h:15
+msgid "Modify Account"
+msgstr "Ændre Konto"
+
+#. For i18n
+#: ../src/advanced.py:51
+msgid "Activated"
+msgstr "Aktiveret"
+
+#: ../src/advanced.py:51
+msgid "Deactivated"
+msgstr "Ikke aktiveret"
+
+#: ../src/advanced.py:53
+msgid "Boolean"
+msgstr "Boolean"
+
+#: ../src/advanced.py:54
+msgid "Integer"
+msgstr "Heltal"
+
+#: ../src/advanced.py:55
+msgid "Text"
+msgstr "Tekst"
+
+#: ../src/advanced.py:56
+msgid "Color"
+msgstr "Farve"
+
+#: ../src/advanced.py:65
+msgid "Preference Name"
+msgstr "Foretrukket Navn"
+
+#: ../src/advanced.py:71
+msgid "Value"
+msgstr "Værdi"
+
+#: ../src/advanced.py:79
+msgid "Type"
+msgstr "Type"
+
+#. we talk about option description in advanced configuration editor
+#: ../src/advanced.py:136
+msgid "(None)"
+msgstr "(Ingen)"
+
+#. we talk about password
+#: ../src/advanced.py:239
+msgid "Hidden"
+msgstr "Skjult"
+
+#. the next script, executed in the "po" directory,
+#. generates the following list.
+#. #!/bin/sh
+#. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
+#. echo "{_('en'):'en'",$LANG"}"
+#: ../src/chat_control.py:55
+msgid "English"
+msgstr "Engelsk"
+
+#: ../src/chat_control.py:55
+msgid "Belarusian"
+msgstr "Belarusian"
+
+#: ../src/chat_control.py:55
+msgid "Bulgarian"
+msgstr "Bulgarsk"
+
+#: ../src/chat_control.py:55
+msgid "Breton"
+msgstr "Bretonsk"
+
+#: ../src/chat_control.py:55
+msgid "Czech"
+msgstr "Tjekkisk"
+
+#: ../src/chat_control.py:55
+msgid "German"
+msgstr "Tysk"
+
+#: ../src/chat_control.py:55
+msgid "Greek"
+msgstr "Græsk"
+
+#: ../src/chat_control.py:55
+msgid "British"
+msgstr "Britisk"
+
+#: ../src/chat_control.py:55
+msgid "Esperanto"
+msgstr "Esperanto"
+
+#: ../src/chat_control.py:55
+msgid "Spanish"
+msgstr "Spansk"
+
+#: ../src/chat_control.py:55
+msgid "Basque"
+msgstr "Baskisk"
+
+#: ../src/chat_control.py:55
+msgid "French"
+msgstr "Fransk"
+
+#: ../src/chat_control.py:55
+msgid "Croatian"
+msgstr "Kroatisk"
+
+#: ../src/chat_control.py:55
+msgid "Italian"
+msgstr "Italiensk"
+
+#: ../src/chat_control.py:55
+msgid "Norwegian (b)"
+msgstr "Norsk (bokmål)"
+
+#: ../src/chat_control.py:55
+msgid "Dutch"
+msgstr "Hollandsk"
+
+#: ../src/chat_control.py:55
+msgid "Norwegian"
+msgstr "Norsk"
+
+#: ../src/chat_control.py:55
+msgid "Polish"
+msgstr "Polsk"
+
+#: ../src/chat_control.py:55
+msgid "Portuguese"
+msgstr "Portugisisk"
+
+#: ../src/chat_control.py:55
+msgid "Brazilian Portuguese"
+msgstr "Brasiliansk Portugisisk"
+
+#: ../src/chat_control.py:55
+msgid "Russian"
+msgstr "Russisk"
+
+#: ../src/chat_control.py:55
+msgid "Serbian"
+msgstr "Serbisk"
+
+#: ../src/chat_control.py:55
+msgid "Slovak"
+msgstr "Slovakisk"
+
+#: ../src/chat_control.py:55
+msgid "Swedish"
+msgstr "Svensk"
+
+#: ../src/chat_control.py:55
+msgid "Chinese (Ch)"
+msgstr "Kinesisk"
+
+#: ../src/chat_control.py:283
+msgid "Spelling language"
+msgstr "Sprog for stavekontrollen"
+
+#. we are not connected
+#: ../src/chat_control.py:306 ../src/chat_control.py:512
+msgid "A connection is not available"
+msgstr "En tilslutning er ikke tilgængelig"
+
+#: ../src/chat_control.py:307 ../src/chat_control.py:513
+msgid "Your message can not be sent until you are connected."
+msgstr "Din besked kan ikke blive sendt før du er tilsluttet."
+
+#: ../src/chat_control.py:1138
+#, python-format
+msgid "%(nickname)s from group chat %(room_name)s"
+msgstr "%(nickname)s fra gruppesamtale %(room_name)s"
+
+#. we talk about a contact here
+#: ../src/chat_control.py:1226
+#, python-format
+msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
+msgstr "%s har ikke rundsendt en OpenPGP nøgle, og du har ikke tilskrevet en"
+
+#: ../src/chat_control.py:1265 ../src/groupchat_control.py:1395
+#, python-format
+msgid "No such command: /%s (if you want to send this, prefix it with /say)"
+msgstr ""
+"Denne kommando findes ikke: /%s (hvis du vil sende dette, skriv /say før "
+"teksten"
+
+#: ../src/chat_control.py:1272 ../src/groupchat_control.py:1418
+#, python-format
+msgid "Commands: %s"
+msgstr "Kommandoer: %s"
+
+#: ../src/chat_control.py:1275 ../src/groupchat_control.py:1432
+#, python-format
+msgid "Usage: /%s, clears the text window."
+msgstr "Brug: /%s, rydder tekst vinduet"
+
+#: ../src/chat_control.py:1278 ../src/groupchat_control.py:1437
+#, python-format
+msgid "Usage: /%s, hide the chat buttons."
+msgstr "Brug: /%s, gem samtale knapper"
+
+#: ../src/chat_control.py:1281 ../src/groupchat_control.py:1453
+#, python-format
+msgid ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+msgstr ""
+"Brug: /%s <handling>, sender handling til den nuværende gruppe samtale. Brug "
+"tredie person. (f.eks. /%s eksploderer.)"
+
+#: ../src/chat_control.py:1285
+#, python-format
+msgid "Usage: /%s, sends a ping to the contact"
+msgstr "Brug: %s, sender en ping til kontakten"
+
+#: ../src/chat_control.py:1288
+#, python-format
+msgid "Usage: /%s, send the message to the contact"
+msgstr "Brug: /%s, send beskeden til kontakten"
+
+#: ../src/chat_control.py:1291 ../src/groupchat_control.py:1476
+#, python-format
+msgid "No help info for /%s"
+msgstr "Ingen hjælp for /%s"
+
+#: ../src/chat_control.py:1429 ../src/chat_control.py:1455
+msgid "Encryption enabled"
+msgstr "Kryptering aktiveret"
+
+#: ../src/chat_control.py:1434
+msgid "Session WILL be logged"
+msgstr "Session VIL blive logget"
+
+#: ../src/chat_control.py:1436
+msgid "Session WILL NOT be logged"
+msgstr "Session VIL IKKE blive logget"
+
+#: ../src/chat_control.py:1443
+msgid "The following message was NOT encrypted"
+msgstr "Den følgende besked var IKKE krypteret"
+
+#: ../src/chat_control.py:1447 ../src/chat_control.py:1460
+#: ../src/chat_control.py:2089
+msgid "Encryption disabled"
+msgstr "Kryptering ikke aktiveret"
+
+#. add_to_roster_menuitem
+#: ../src/chat_control.py:1617 ../src/conversation_textview.py:562
+#: ../src/dialogs.py:674 ../src/gajim.py:894 ../src/gajim.py:895
+#: ../src/gajim.py:1364 ../src/roster_window.py:345
+#: ../src/roster_window.py:429 ../src/roster_window.py:1790
+#: ../src/roster_window.py:1800 ../src/roster_window.py:2038
+#: ../src/roster_window.py:2276 ../src/roster_window.py:3124
+#: ../src/roster_window.py:3331 ../src/roster_window.py:4691
+#: ../src/roster_window.py:4693 ../src/common/contacts.py:84
+#: ../src/common/helpers.py:44 ../src/common/helpers.py:258
+msgid "Not in Roster"
+msgstr "Ikke i Kontaktvinduet"
+
+#. %s is being replaced in the code with JID
+#: ../src/chat_control.py:1761
+#, python-format
+msgid "You just received a new message from \"%s\""
+msgstr "Du har netop modtaget en besked fra \"%s\""
+
+#: ../src/chat_control.py:1762
+msgid ""
+"If you close this tab and you have history disabled, this message will be "
+"lost."
+msgstr ""
+"Hvis du lukker dette faneblad og ikke har aktiveret historie loggen, vil du\n"
+"miste denne besked."
+
+#: ../src/config.py:122 ../src/config.py:544
+msgid "Disabled"
+msgstr "Ikke aktiveret"
+
+#: ../src/config.py:288
+msgid "Active"
+msgstr "Aktiv"
+
+#: ../src/config.py:296
+msgid "Event"
+msgstr "Hændelse"
+
+#: ../src/config.py:617 ../src/dialogs.py:958
+#, python-format
+msgid "Dictionary for lang %s not available"
+msgstr "Ordbog for sproget %s er ikke tilgængelig"
+
+#: ../src/config.py:618
+#, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option."
+msgstr ""
+"For at bruge stavekontrollen må du installer en %s ordbog, eller vælge et "
+"andet sprog ved indstillingen for sprog til stavekontrollen."
+
+#: ../src/config.py:969
+msgid "status message title"
+msgstr "status besked Titel"
+
+#: ../src/config.py:969
+msgid "status message text"
+msgstr "status besked tekst"
+
+#: ../src/config.py:1005
+msgid "First Message Received"
+msgstr "Første Besked er Modtaget"
+
+#: ../src/config.py:1006
+msgid "Next Message Received"
+msgstr "Næste Besked er Modtaget"
+
+#: ../src/config.py:1007
+msgid "Contact Connected"
+msgstr "Kontakt er Tilsluttet"
+
+#: ../src/config.py:1008
+msgid "Contact Disconnected"
+msgstr "Kontakt er ikke Tilsluttet"
+
+#: ../src/config.py:1009
+msgid "Message Sent"
+msgstr "Besked er Sendt"
+
+#: ../src/config.py:1010
+msgid "Group Chat Message Highlight"
+msgstr "Gruppe Samtale Besked Fremhævning"
+
+#: ../src/config.py:1011
+msgid "Group Chat Message Received"
+msgstr "Gruppe Samtale Besked Modtaget"
+
+#: ../src/config.py:1018
+msgid "GMail Email Received"
+msgstr "GMail E-post Modtaget"
+
+#. Name column
+#: ../src/config.py:1287 ../src/dialogs.py:1397 ../src/dialogs.py:1461
+#: ../src/disco.py:736 ../src/disco.py:1559 ../src/disco.py:1805
+#: ../src/history_window.py:78
+msgid "Name"
+msgstr "Navn"
+
+#: ../src/config.py:1395 ../src/common/config.py:375
+msgid "Be right back."
+msgstr "Er straks tilbage."
+
+#: ../src/config.py:1399
+msgid "Relogin now?"
+msgstr "Log ind igen nu?"
+
+#: ../src/config.py:1400
+msgid "If you want all the changes to apply instantly, you must relogin."
+msgstr ""
+"Hvis du vil at alle ændringerne skal træde i kraft nu, må du logge ind igen."
+
+#: ../src/config.py:1495 ../src/config.py:1594
+msgid "OpenPGP is not usable in this computer"
+msgstr "Det er ikke muligt at bruge OpenPGP på denne computer"
+
+#: ../src/config.py:1630 ../src/config.py:1674
+msgid "Unread events"
+msgstr "Ulæste hændelser"
+
+#: ../src/config.py:1631
+msgid "Read all pending events before removing this account."
+msgstr "Læs alle ventende hændelser før denne konto fjernes."
+
+#: ../src/config.py:1660
+#, python-format
+msgid "You have opened chat in account %s"
+msgstr "Du har en åben samtale med kontonavnet %s"
+
+#: ../src/config.py:1661
+msgid "All chat and groupchat windows will be closed. Do you want to continue?"
+msgstr ""
+"Alle samtale og gruppesamtale vinduer vil blive lukket. Vil du fortsætte?"
+
+#: ../src/config.py:1670
+msgid "You are currently connected to the server"
+msgstr "Du er for øjeblikket tilsluttet til serveren"
+
+#: ../src/config.py:1671
+msgid "To change the account name, you must be disconnected."
+msgstr "For at ændre kontonavnet må du afbryde din tilslutning"
+
+#: ../src/config.py:1675
+msgid "To change the account name, you must read all pending events."
+msgstr "For at ændre kontonavnet må du læse alle ventende hændelser."
+
+#: ../src/config.py:1681
+msgid "Account Name Already Used"
+msgstr "Kontonavnet er allerede i brug"
+
+#: ../src/config.py:1682
+msgid ""
+"This name is already used by another of your accounts. Please choose another "
+"name."
+msgstr ""
+"Dette navn er allerede brugt til en af dine andre kontoer. Vælg venligst et "
+"andet navn."
+
+#: ../src/config.py:1686 ../src/config.py:1690
+msgid "Invalid account name"
+msgstr "Ugyldigt kontonavn"
+
+#: ../src/config.py:1687
+msgid "Account name cannot be empty."
+msgstr "Kontonavnet kan ikke være tomt."
+
+#: ../src/config.py:1691
+msgid "Account name cannot contain spaces."
+msgstr "Kontonavnet kan ikke indeholde mellemrom."
+
+#: ../src/config.py:1755
+msgid "Rename Account"
+msgstr "Omdøb Konto"
+
+#: ../src/config.py:1756
+#, python-format
+msgid "Enter a new name for account %s"
+msgstr "Indtast et nyt navn for kontoen %s"
+
+#: ../src/config.py:1774 ../src/config.py:1782 ../src/config.py:1822
+#: ../src/config.py:3048
+msgid "Invalid Jabber ID"
+msgstr "Ugyldigt Jabber ID"
+
+#: ../src/config.py:1783
+msgid "A Jabber ID must be in the form \"user@servername\"."
+msgstr "Et Jabber ID må være på formen \"bruger@servernavn\"."
+
+#: ../src/config.py:1968 ../src/config.py:3119
+msgid "Invalid entry"
+msgstr "Ugyldig indgang"
+
+#: ../src/config.py:1969 ../src/config.py:3120
+msgid "Custom port must be a port number."
+msgstr "Personlig port må være et port nummer."
+
+#: ../src/config.py:1990
+msgid "Failed to get secret keys"
+msgstr "Forsøg på at hente krypteringsnøgler mislykkedes"
+
+#: ../src/config.py:1991
+msgid "There was a problem retrieving your OpenPGP secret keys."
+msgstr "Der opstod et problem under forsøget på at hente dine OpenPGP nøgler."
+
+#: ../src/config.py:1994
+msgid "OpenPGP Key Selection"
+msgstr "OpenPGP Nøgle Valg"
+
+#: ../src/config.py:1995
+msgid "Choose your OpenPGP key"
+msgstr "Vælg din OpenPGP Nøgle"
+
+#: ../src/config.py:2052
+msgid "No such account available"
+msgstr "Ingen konto ved det navn er tilgængelig"
+
+#: ../src/config.py:2053
+msgid "You must create your account before editing your personal information."
+msgstr "Du må oprette en konto før du kan redigere din personlige information."
+
+#: ../src/config.py:2060 ../src/dialogs.py:1244 ../src/dialogs.py:1385
+#: ../src/dialogs.py:1565 ../src/disco.py:420 ../src/profile_window.py:325
+msgid "You are not connected to the server"
+msgstr "Du er ikke tilsluttet til serveren"
+
+#: ../src/config.py:2061
+msgid "Without a connection, you can not edit your personal information."
+msgstr "Uden en tilslutning kan du ikke redigere din personlige information."
+
+#: ../src/config.py:2065
+msgid "Your server doesn't support Vcard"
+msgstr "Din server understøtter ikke Vcard"
+
+#: ../src/config.py:2066
+msgid "Your server can't save your personal information."
+msgstr "Din server kan ikke gemme din personlige information."
+
+#: ../src/config.py:2097
+msgid "Account Local already exists."
+msgstr "Den Lokale Konto eksisterer allerede."
+
+#: ../src/config.py:2098
+msgid "Please rename or remove it before enabling link-local messaging."
+msgstr "Omdøb eller fjern den før du aktiverer link-local beskeder."
+
+#: ../src/config.py:2274
+#, python-format
+msgid "Edit %s"
+msgstr "Rediger %s"
+
+#: ../src/config.py:2276
+#, python-format
+msgid "Register to %s"
+msgstr "Registrer til %s"
+
+#. list at the beginning
+#: ../src/config.py:2312
+msgid "Ban List"
+msgstr "Liste over bandlyste"
+
+#: ../src/config.py:2313
+msgid "Member List"
+msgstr "Medlems Liste"
+
+#: ../src/config.py:2314
+msgid "Owner List"
+msgstr "Ejer Liste"
+
+#: ../src/config.py:2315
+msgid "Administrator List"
+msgstr "Administrator Liste"
+
+#. Address column
+#. holds JID (who said this)
+#: ../src/config.py:2364 ../src/disco.py:743 ../src/history_manager.py:155
+msgid "JID"
+msgstr "JID"
+
+#: ../src/config.py:2372
+msgid "Reason"
+msgstr "Grund"
+
+#: ../src/config.py:2377
+msgid "Nick"
+msgstr "Kælenavne"
+
+#: ../src/config.py:2381
+msgid "Role"
+msgstr "Rolle"
+
+#: ../src/config.py:2406
+msgid "Banning..."
+msgstr "Bandlysning..."
+
+#. You can move '\n' before user@domain if that line is TOO BIG
+#: ../src/config.py:2408
+msgid ""
+"<b>Whom do you want to ban?</b>\n"
+"\n"
+msgstr ""
+"<b>Hvem vil du bandlyse?</b>\n"
+"\n"
+
+#: ../src/config.py:2410
+msgid "Adding Member..."
+msgstr "Tilføj Medlem..."
+
+#: ../src/config.py:2411
+msgid ""
+"<b>Whom do you want to make a member?</b>\n"
+"\n"
+msgstr ""
+"<b>Hvem vil du gøre til medlem?</b>\n"
+"\n"
+
+#: ../src/config.py:2413
+msgid "Adding Owner..."
+msgstr "Tilføj Ejer..."
+
+#: ../src/config.py:2414
+msgid ""
+"<b>Whom do you want to make an owner?</b>\n"
+"\n"
+msgstr ""
+"<b>Hvem vil du gøre til ejer?</b>\n"
+"\n"
+
+#: ../src/config.py:2416
+msgid "Adding Administrator..."
+msgstr "Tilføj Administrator..."
+
+#: ../src/config.py:2417
+msgid ""
+"<b>Whom do you want to make an administrator?</b>\n"
+"\n"
+msgstr ""
+"<b>Hvem vil du gøre til administrator?</b>\n"
+"\n"
+
+#: ../src/config.py:2418
+msgid ""
+"Can be one of the following:\n"
+"1. user@domain/resource (only that resource matches).\n"
+"2. user@domain (any resource matches).\n"
+"3. domain/resource (only that resource matches).\n"
+"4. domain (the domain itself matches, as does any user@domain,\n"
+"domain/resource, or address containing a subdomain."
+msgstr ""
+"Kan være en af de følgende:\n"
+"1. bruger@domæne/resource (kun denne resource træffer).\n"
+"2. bruger@domæne (en hvilket som helst resource træffer).\n"
+"3. domæne/resource (kun denne resource træffer).\n"
+"4. domæne (domænet træffer, ligeledes et hvilken som helst bruger@domæne,\n"
+"domæne/resource, eller adresse indeholdende et subdomæne."
+
+#: ../src/config.py:2522
+#, python-format
+msgid "Removing %s account"
+msgstr "Fjerne kontoen med navnet %s"
+
+#: ../src/config.py:2539 ../src/gajim.py:1307 ../src/roster_window.py:3390
+msgid "Password Required"
+msgstr "Adgangskode er Påkrævet"
+
+#: ../src/config.py:2540 ../src/roster_window.py:3386
+#, python-format
+msgid "Enter your password for account %s"
+msgstr "Skriv din adgangskode for kontoen %s"
+
+#: ../src/config.py:2541 ../src/roster_window.py:3391
+msgid "Save password"
+msgstr "Gem adgangskode"
+
+#: ../src/config.py:2555
+#, python-format
+msgid "Account \"%s\" is connected to the server"
+msgstr "Kontoen \"%s\" er tilsluttet til serveren"
+
+#: ../src/config.py:2556
+msgid "If you remove it, the connection will be lost."
+msgstr "Hvis du fjerne den vil tilslutningen tabes."
+
+#: ../src/config.py:2649
+msgid "Default"
+msgstr "Standard"
+
+#: ../src/config.py:2649
+msgid "?print_status:All"
+msgstr "?print_status:Alle"
+
+#: ../src/config.py:2650
+msgid "Enter and leave only"
+msgstr "GÃ¥ kun ind og ud"
+
+#: ../src/config.py:2651
+msgid "?print_status:None"
+msgstr "?print_status:Ingen"
+
+#: ../src/config.py:2720
+msgid "New Group Chat"
+msgstr "Ny Gruppe Samtale"
+
+#: ../src/config.py:2753
+msgid "This bookmark has invalid data"
+msgstr "Dette bogmærke er ugyldigt"
+
+#: ../src/config.py:2754
+msgid ""
+"Please be sure to fill out server and room fields or remove this bookmark."
+msgstr ""
+"Fyld ud server og rum tekstindtastningsfelterne eller fjern dette bogmærke."
+
+#: ../src/config.py:3031
+msgid "Invalid username"
+msgstr "Ugyldigt brugernavn"
+
+#: ../src/config.py:3033
+msgid "You must provide a username to configure this account."
+msgstr "Du må give et brugernavn for at konfigurere denne konto."
+
+#: ../src/config.py:3059
+msgid "Duplicate Jabber ID"
+msgstr "Jabber ID eksisterer"
+
+#: ../src/config.py:3060
+msgid "This account is already configured in Gajim."
+msgstr "Denne konto er allerede konfigureret i Gajim."
+
+#: ../src/config.py:3077
+msgid "Account has been added successfully"
+msgstr "Kontoen er blevet tilføjet med succes"
+
+#: ../src/config.py:3078 ../src/config.py:3223
+msgid ""
+"You can set advanced account options by pressing the Advanced button, or "
+"later by choosing the Accounts menuitem under the Edit menu from the main "
+"window."
+msgstr "Du kan sætte avancerede konto indstillinger ved at trykke Avanceret knappen, eller senere ved at vælge kontoens menupunkt under Rediger menuen fra hovedvinduet."
+
+#: ../src/config.py:3095
+msgid "Invalid server"
+msgstr "Ugyldigt server"
+
+#: ../src/config.py:3096
+msgid "Please provide a server on which you want to register."
+msgstr "Anfør en server som du vil registrere dig ved."
+
+#: ../src/config.py:3202 ../src/config.py:3241
+msgid "An error occurred during account creation"
+msgstr "Under oprettelsen af kontoen opstod der en fejl"
+
+#: ../src/config.py:3222
+msgid "Your new account has been created successfully"
+msgstr "Din nye konto er blevet oprettet med succes"
+
+#: ../src/config.py:3327
+msgid "Account name is in use"
+msgstr "Kontonavnet er i brug"
+
+#: ../src/config.py:3328
+msgid "You already have an account using this name."
+msgstr "Du har allered en konto med dette navn."
+
+#: ../src/conversation_textview.py:337
+msgid ""
+"Text below this line is what has been said since the last time you paid "
+"attention to this group chat"
+msgstr "Teksten under denne linje er hvad der er blevet sagt siden sidste gang du var opmærksom på denne gruppe samtale"
+
+#: ../src/conversation_textview.py:409
+#, python-format
+msgid "_Actions for \"%s\""
+msgstr "_Handlinger for \"%s\""
+
+#: ../src/conversation_textview.py:421
+msgid "Read _Wikipedia Article"
+msgstr "Læs _Wikipedia Artikel"
+
+#: ../src/conversation_textview.py:426
+msgid "Look it up in _Dictionary"
+msgstr "Slå dette op i Or_dbogen"
+
+#. we must have %s in the url if not WIKTIONARY
+#: ../src/conversation_textview.py:442
+#, python-format
+msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
+msgstr "Ordbogens URL mangler en \"%s\" og det må ikke være WIKTIONARY"
+
+#. we must have %s in the url
+#: ../src/conversation_textview.py:455
+#, python-format
+msgid "Web Search URL is missing an \"%s\""
+msgstr "Web søge URL'en mangler en \"%s\""
+
+#: ../src/conversation_textview.py:458
+msgid "Web _Search for it"
+msgstr "Søg på nettet efter det"
+
+#: ../src/conversation_textview.py:464
+msgid "Open as _Link"
+msgstr "Ã…bn som et _Link"
+
+#: ../src/conversation_textview.py:929
+msgid "Yesterday"
+msgstr "I går"
+
+#. the number is >= 2
+#. %i is day in year (1-365), %d (1-31) we want %i
+#: ../src/conversation_textview.py:933
+#, python-format
+msgid "%i days ago"
+msgstr "%i dage siden"
+
+#. if we have subject, show it too!
+#: ../src/conversation_textview.py:967
+#, python-format
+msgid "Subject: %s\n"
+msgstr "Emne: %s\n"
+
+#: ../src/dialogs.py:64
+#, python-format
+msgid "Contact name: <i>%s</i>"
+msgstr "Kontakt navn: <i>%s</i>"
+
+#: ../src/dialogs.py:66
+#, python-format
+msgid "Jabber ID: <i>%s</i>"
+msgstr "Jabber ID: <i>%s</i>"
+
+#: ../src/dialogs.py:216
+msgid "Group"
+msgstr "Gruppe"
+
+#: ../src/dialogs.py:223
+msgid "In the group"
+msgstr "I gruppen"
+
+#: ../src/dialogs.py:274
+msgid "KeyID"
+msgstr "Nøgle ID"
+
+#: ../src/dialogs.py:277
+msgid "Contact name"
+msgstr "Kontakt navn"
+
+#: ../src/dialogs.py:323
+#, python-format
+msgid "%s Status Message"
+msgstr "%s Status Besked"
+
+#: ../src/dialogs.py:325
+msgid "Status Message"
+msgstr "Status Besked"
+
+#: ../src/dialogs.py:425
+msgid "Save as Preset Status Message"
+msgstr "Gem som Forvalgt Status Besked"
+
+#: ../src/dialogs.py:426
+msgid "Please type a name for this status message"
+msgstr "Skriv et navn for denne status besked"
+
+#: ../src/dialogs.py:437
+msgid "Overwrite Status Message?"
+msgstr "Overskriv Status Besked?"
+
+#: ../src/dialogs.py:438
+msgid ""
+"This name is already used. Do you want to overwrite this status message?"
+msgstr "Dette navn er allerede i brug. Vil du overskrive denne status besked?"
+
+#: ../src/dialogs.py:454
+msgid "AIM Address:"
+msgstr "AIM Adresse:"
+
+#: ../src/dialogs.py:455
+msgid "GG Number:"
+msgstr "GG Nummer:"
+
+#: ../src/dialogs.py:456
+msgid "ICQ Number:"
+msgstr "ICQ Nummer:"
+
+#: ../src/dialogs.py:457
+msgid "MSN Address:"
+msgstr "MSN Adresse:"
+
+#: ../src/dialogs.py:458
+msgid "Yahoo! Address:"
+msgstr "Yahoo! Adresse:"
+
+#: ../src/dialogs.py:495
+#, python-format
+msgid "Please fill in the data of the contact you want to add in account %s"
+msgstr "Fyld ind data for den kontakt som du vil tilføje kontoen med navnet %s"
+
+#: ../src/dialogs.py:497
+msgid "Please fill in the data of the contact you want to add"
+msgstr "Fyld ind data for den kontakt som du vil tilføje"
+
+#: ../src/dialogs.py:654 ../src/dialogs.py:660
+msgid "Invalid User ID"
+msgstr "Ugyldig Bruger ID"
+
+#: ../src/dialogs.py:661
+msgid "The user ID must not contain a resource."
+msgstr "Bruger ID'en må ikke indeholde en resource."
+
+#: ../src/dialogs.py:675
+msgid "Contact already in roster"
+msgstr "Kontakten er allerede i kontaktvinduet"
+
+#: ../src/dialogs.py:676
+msgid "This contact is already listed in your roster."
+msgstr "Denne kontakt er allered i dit kontaktvindue"
+
+#: ../src/dialogs.py:712
+msgid "User ID:"
+msgstr "Bruger ID:"
+
+#: ../src/dialogs.py:774
+msgid "A GTK+ jabber client"
+msgstr "En GTK+ jabber klient"
+
+#: ../src/dialogs.py:775
+msgid "GTK+ Version:"
+msgstr "GTK+ Version:"
+
+#: ../src/dialogs.py:776
+msgid "PyGTK Version:"
+msgstr "PyGTK Version:"
+
+#: ../src/dialogs.py:790
+msgid "Current Developers:"
+msgstr "Nuværende Programudviklere:"
+
+#: ../src/dialogs.py:792
+msgid "Past Developers:"
+msgstr "Tidligere Programudviklerer:"
+
+#: ../src/dialogs.py:802
+msgid "THANKS:"
+msgstr "TAK:"
+
+#. remove one english sentence
+#. and add it manually as translatable
+#: ../src/dialogs.py:808
+msgid "Last but not least, we would like to thank all the package maintainers."
+msgstr "Sidst men ikke mindst, vil vi gerne takke alle pakke vedligeholdere."
+
+#. here you write your name in the form Name FamilyName <someone@somewhere>
+#: ../src/dialogs.py:821
+msgid "translator-credits"
+msgstr "Niels Felsted Thorsen <felsted@fsfe.org>"
+
+#: ../src/dialogs.py:951
+#, python-format
+msgid "Unable to bind to port %s."
+msgstr "Ikke i stand til at tildele port %s."
+
+#: ../src/dialogs.py:952
+msgid ""
+"Maybe you have another running instance of Gajim. File Transfer will be "
+"cancelled."
+msgstr ""
+"Måske har du en anden instans af Gajim kørende. Filoverførsler vil blive "
+"annulleret."
+
+#: ../src/dialogs.py:959
+#, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option.\n"
+"\n"
+"Highlighting misspelled words feature will not be used"
+msgstr ""
+"Du må installere en %s ordbog for at bruge stavekontrol, eller vælge et "
+"andet sprog med stavekontrol sprog indstillingen.\n"
+"\n"
+"Egenskaben med at fremhæve stavefejl vil ikke blive brugt"
+
+#: ../src/dialogs.py:1173
+#, python-format
+msgid "Subscription request for account %s from %s"
+msgstr "Forespørgsel på abonnering for konto %s fra %s"
+
+#: ../src/dialogs.py:1176
+#, python-format
+msgid "Subscription request from %s"
+msgstr "Forespørgsel om abonnering fra %s"
+
+#: ../src/dialogs.py:1237 ../src/roster_window.py:763
+#, python-format
+msgid "You are already in group chat %s"
+msgstr "Du er allerede i en gruppe samtale %s"
+
+#: ../src/dialogs.py:1245
+msgid "You can not join a group chat unless you are connected."
+msgstr "Du kan kun deltage i en gruppe samtale hvis du er tilsluttet."
+
+#: ../src/dialogs.py:1263
+#, python-format
+msgid "Join Group Chat with account %s"
+msgstr "Deltag i Gruppe Samtale med kontoen %s"
+
+#: ../src/dialogs.py:1333 ../src/dialogs.py:1339
+#: ../src/groupchat_control.py:1646
+msgid "Invalid group chat Jabber ID"
+msgstr "Ugyldig gruppe samtale Jabber ID"
+
+#: ../src/dialogs.py:1334 ../src/dialogs.py:1340
+#: ../src/groupchat_control.py:1647
+msgid "The group chat Jabber ID has not allowed characters."
+msgstr "Gruppe samtale Jabber ID'en indeholder ikke tilladte tegn."
+
+#: ../src/dialogs.py:1346
+msgid "This is not a group chat"
+msgstr "Dette er ikke en gruppe samtale"
+
+#: ../src/dialogs.py:1347
+#, python-format
+msgid "%s is not the name of a group chat."
+msgstr "%s er ikke navnet på en gruppe samtale."
+
+#: ../src/dialogs.py:1386
+msgid "Without a connection, you can not synchronise your contacts."
+msgstr "Du kan kun synkronisere dine kontakter når du er tilsluttet."
+
+#: ../src/dialogs.py:1400
+msgid "Server"
+msgstr "Server"
+
+#: ../src/dialogs.py:1433
+msgid "This account is not connected to the server"
+msgstr "Denne konto er ikke tilsluttet til serveren"
+
+#: ../src/dialogs.py:1434
+msgid "You cannot synchronize with an account unless it is connected."
+msgstr "Du kan kun synkronisere med en konto hvis du er tilsluttet."
+
+#: ../src/dialogs.py:1458
+msgid "Synchronise"
+msgstr "Synkroniser"
+
+#: ../src/dialogs.py:1516
+#, python-format
+msgid "Start Chat with account %s"
+msgstr "Start en samtale med konto %s"
+
+#: ../src/dialogs.py:1518
+msgid "Start Chat"
+msgstr "Start Samtale"
+
+#: ../src/dialogs.py:1519
+msgid ""
+"Fill in the nickname or the Jabber ID of the contact you would like\n"
+"to send a chat message to:"
+msgstr ""
+"Udfyld kælenavnet eller Jabber ID'en for den kontakt du vil sende\n"
+"en besked til:"
+
+#. if offline or connecting
+#: ../src/dialogs.py:1544 ../src/dialogs.py:1891 ../src/dialogs.py:2027
+msgid "Connection not available"
+msgstr "Tilslutning er ikke tilgængelig"
+
+#: ../src/dialogs.py:1545 ../src/dialogs.py:1892 ../src/dialogs.py:2028
+#, python-format
+msgid "Please make sure you are connected with \"%s\"."
+msgstr "Vær venligst sikker på at du er tilsluttet med \"%s\"."
+
+#: ../src/dialogs.py:1554 ../src/dialogs.py:1557
+msgid "Invalid JID"
+msgstr "Ugyldig JID"
+
+#: ../src/dialogs.py:1557
+#, python-format
+msgid "Unable to parse \"%s\"."
+msgstr "Kan ikke fortolke \"%s\"."
+
+#: ../src/dialogs.py:1566
+msgid "Without a connection, you can not change your password."
+msgstr "Du kan kun ændre din adgangskode hvis du er tilsluttet."
+
+#: ../src/dialogs.py:1584
+msgid "Invalid password"
+msgstr "Ugyldig adgangskode"
+
+#: ../src/dialogs.py:1585
+msgid "You must enter a password."
+msgstr "Du må indtaste en adgangskode."
+
+#: ../src/dialogs.py:1589
+msgid "Passwords do not match"
+msgstr "Adgangskoderne er ikke ens"
+
+#: ../src/dialogs.py:1590
+msgid "The passwords typed in both fields must be identical."
+msgstr "Adgangskoderene i de to tekstindtastningsfelter må være identiske."
+
+#. img to display
+#. default value
+#: ../src/dialogs.py:1632 ../src/notify.py:219 ../src/notify.py:429
+msgid "Contact Signed In"
+msgstr "Kontakt Loggede Ind"
+
+#: ../src/dialogs.py:1634 ../src/notify.py:227 ../src/notify.py:431
+msgid "Contact Signed Out"
+msgstr "Kontakt Loggede Ud"
+
+#. chat message
+#: ../src/dialogs.py:1636 ../src/notify.py:250 ../src/notify.py:433
+msgid "New Message"
+msgstr "Ny Besked"
+
+#. single message
+#: ../src/dialogs.py:1636 ../src/notify.py:231 ../src/notify.py:433
+msgid "New Single Message"
+msgstr "Ny Enkel Besked"
+
+#. private message
+#: ../src/dialogs.py:1637 ../src/notify.py:238 ../src/notify.py:434
+msgid "New Private Message"
+msgstr "Ny Privat Besked"
+
+#: ../src/dialogs.py:1637 ../src/gajim.py:1460 ../src/notify.py:442
+msgid "New E-mail"
+msgstr "Ny E-post"
+
+#: ../src/dialogs.py:1639 ../src/gajim.py:1668 ../src/notify.py:436
+msgid "File Transfer Request"
+msgstr "Filoverførsel Forespørgsel"
+
+#: ../src/dialogs.py:1641 ../src/gajim.py:1432 ../src/gajim.py:1644
+#: ../src/notify.py:438
+msgid "File Transfer Error"
+msgstr "Filoverførsel Fejl"
+
+#: ../src/dialogs.py:1643 ../src/gajim.py:1707 ../src/gajim.py:1729
+#: ../src/gajim.py:1746 ../src/notify.py:440
+msgid "File Transfer Completed"
+msgstr "Filoverførsel er Fuldført"
+
+#: ../src/dialogs.py:1644 ../src/gajim.py:1710 ../src/notify.py:440
+msgid "File Transfer Stopped"
+msgstr "Filoverførsel Stoppede"
+
+#: ../src/dialogs.py:1646 ../src/gajim.py:1328 ../src/notify.py:444
+msgid "Groupchat Invitation"
+msgstr "Gruppesamtale Invitation"
+
+#: ../src/dialogs.py:1648 ../src/notify.py:211 ../src/notify.py:446
+msgid "Contact Changed Status"
+msgstr "Kontakt Ændrede Status"
+
+#: ../src/dialogs.py:1821
+#, python-format
+msgid "Single Message using account %s"
+msgstr "Enkel Besked med konto %s"
+
+#: ../src/dialogs.py:1823
+#, python-format
+msgid "Single Message in account %s"
+msgstr "Enkel Besked i konto %s"
+
+#: ../src/dialogs.py:1825
+msgid "Single Message"
+msgstr "Enkel Besked"
+
+#. prepare UI for Sending
+#: ../src/dialogs.py:1828
+#, python-format
+msgid "Send %s"
+msgstr "Send %s"
+
+#. prepare UI for Receiving
+#: ../src/dialogs.py:1851
+#, python-format
+msgid "Received %s"
+msgstr "Modtaget %s"
+
+#. we create a new blank window to send and we preset RE: and to jid
+#: ../src/dialogs.py:1928
+#, python-format
+msgid "RE: %s"
+msgstr "SV: %s"
+
+#: ../src/dialogs.py:1929
+#, python-format
+msgid "%s wrote:\n"
+msgstr "%s skrev:\n"
+
+#: ../src/dialogs.py:1973
+#, python-format
+msgid "XML Console for %s"
+msgstr "XML Konsol for %s"
+
+#: ../src/dialogs.py:1975
+msgid "XML Console"
+msgstr "XML Konsol"
+
+#: ../src/dialogs.py:2098
+#, python-format
+msgid "Privacy List <b><i>%s</i></b>"
+msgstr "Privatlivs Liste <b><i>%s</i></b>"
+
+#: ../src/dialogs.py:2102
+#, python-format
+msgid "Privacy List for %s"
+msgstr "Privatlivs Liste for %s"
+
+#: ../src/dialogs.py:2158
+#, python-format
+msgid "Order: %s, action: %s, type: %s, value: %s"
+msgstr "Rækkefølge: %s, handling: %s, type: %s, værdi: %s"
+
+#: ../src/dialogs.py:2161
+#, python-format
+msgid "Order: %s, action: %s"
+msgstr "Rækkefølge: %s, handling: %s"
+
+#: ../src/dialogs.py:2203
+msgid "<b>Edit a rule</b>"
+msgstr "<b>Rediger en regel</b>"
+
+#: ../src/dialogs.py:2290
+msgid "<b>Add a rule</b>"
+msgstr "<b>Tilføj en regel</b>"
+
+#: ../src/dialogs.py:2386
+#, python-format
+msgid "Privacy Lists for %s"
+msgstr "Privatlivs Liste for %s"
+
+#: ../src/dialogs.py:2388
+msgid "Privacy Lists"
+msgstr "Privatlivs lister"
+
+#: ../src/dialogs.py:2458
+msgid "Invalid List Name"
+msgstr "Ugyldig Listenavn"
+
+#: ../src/dialogs.py:2459
+msgid "You must enter a name to create a privacy list."
+msgstr "Du må indtaste et navn for at skabe en privatlivs liste."
+
+#: ../src/dialogs.py:2496
+msgid "$Contact has invited you to join a discussion"
+msgstr "$Contact har inviteret dig til at deltage i en diskussion"
+
+#: ../src/dialogs.py:2498
+#, python-format
+msgid "$Contact has invited you to group chat %(room_jid)s"
+msgstr ""
+"$Contact har inviteret dig til at deltage i en gruppe samtale %(room_jid)s"
+
+#. only if not None and not ''
+#: ../src/dialogs.py:2510
+#, python-format
+msgid "Comment: %s"
+msgstr "Kommentar: %s"
+
+#: ../src/dialogs.py:2576
+msgid "Choose Sound"
+msgstr "Vælg Lyd"
+
+#: ../src/dialogs.py:2586 ../src/dialogs.py:2634
+msgid "All files"
+msgstr "Alle filer"
+
+#: ../src/dialogs.py:2591
+msgid "Wav Sounds"
+msgstr "Wav Lyde"
+
+#: ../src/dialogs.py:2624
+msgid "Choose Image"
+msgstr "Vælg Billede"
+
+#: ../src/dialogs.py:2639
+msgid "Images"
+msgstr "Billeder"
+
+#: ../src/dialogs.py:2703
+#, python-format
+msgid "When %s becomes:"
+msgstr "NÃ¥r %s bliver:"
+
+#: ../src/dialogs.py:2705
+#, python-format
+msgid "Adding Special Notification for %s"
+msgstr "Tilføj Speciel Påmindelse for %s"
+
+#. # means number
+#: ../src/dialogs.py:2776
+msgid "#"
+msgstr "#"
+
+#: ../src/dialogs.py:2782
+msgid "Condition"
+msgstr "Betingelse"
+
+#: ../src/dialogs.py:2900
+msgid "when I am "
+msgstr "når jeg er"
+
+#: ../src/disco.py:104
+msgid "Others"
+msgstr "Andre"
+
+#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1345
+#: ../src/gajim.py:644 ../src/roster_window.py:282 ../src/roster_window.py:342
+#: ../src/roster_window.py:382 ../src/roster_window.py:490
+#: ../src/roster_window.py:522 ../src/roster_window.py:524
+#: ../src/roster_window.py:4687 ../src/roster_window.py:4689
+#: ../src/common/contacts.py:290 ../src/common/contacts.py:305
+#: ../src/common/helpers.py:44
+msgid "Transports"
+msgstr "Transporter"
+
+#. conference is a category for listing mostly groupchats in service discovery
+#: ../src/disco.py:108
+msgid "Conference"
+msgstr "Konference"
+
+#: ../src/disco.py:421
+msgid "Without a connection, you can not browse available services"
+msgstr "Du kan kun gennemse tilgængelige tjenester hvis du er tilsluttet"
+
+#: ../src/disco.py:495
+#, python-format
+msgid "Service Discovery using account %s"
+msgstr "Opdag Tjenester med kontoen %s"
+
+#: ../src/disco.py:497
+msgid "Service Discovery"
+msgstr "Opdag Tjenester"
+
+#: ../src/disco.py:637
+msgid "The service could not be found"
+msgstr "Tjenesten findes ikke"
+
+#: ../src/disco.py:638
+msgid ""
+"There is no service at the address you entered, or it is not responding. "
+"Check the address and try again."
+msgstr ""
+"Der er ikke nogen tjenester på den adresse som du indtastede, eller serveren "
+"gav intet svar. Kontroller adressen og prøv igen."
+
+#: ../src/disco.py:642 ../src/disco.py:923
+msgid "The service is not browsable"
+msgstr "Det er ikke mulig at gennemse denne tjeneste"
+
+#: ../src/disco.py:643
+msgid "This type of service does not contain any items to browse."
+msgstr "Denne type tjeneste har ingen elementer som kan gennemses."
+
+#: ../src/disco.py:723
+#, python-format
+msgid "Browsing %s using account %s"
+msgstr "Gennemse %s med konto %s"
+
+#: ../src/disco.py:762
+msgid "_Browse"
+msgstr "_Gennemse"
+
+#: ../src/disco.py:924
+msgid "This service does not contain any items to browse."
+msgstr "Denne tjeneste har ingen elementer som kan gennemses."
+
+#: ../src/disco.py:1142
+msgid "_Execute Command"
+msgstr "_Kør Kommando"
+
+#: ../src/disco.py:1152 ../src/disco.py:1350
+msgid "Re_gister"
+msgstr "Re_gistrer"
+
+#: ../src/disco.py:1387
+#, python-format
+msgid "Scanning %d / %d.."
+msgstr "Skanner %d / %d.."
+
+#. Users column
+#: ../src/disco.py:1569
+msgid "Users"
+msgstr "Brugere"
+
+#. Description column
+#: ../src/disco.py:1577
+msgid "Description"
+msgstr "Beskrivelse"
+
+#. Id column
+#: ../src/disco.py:1585
+msgid "Id"
+msgstr "Id"
+
+#: ../src/disco.py:1814
+msgid "Subscribed"
+msgstr "Abonnerede"
+
+#: ../src/disco.py:1822
+msgid "Node"
+msgstr "Knude"
+
+#: ../src/disco.py:1879
+msgid "New post"
+msgstr "Ny post"
+
+#: ../src/disco.py:1885
+msgid "_Subscribe"
+msgstr "_Abonner"
+
+#: ../src/disco.py:1891
+msgid "_Unsubscribe"
+msgstr "_Frameld abonnement"
+
+#: ../src/features_window.py:41
+msgid "PyOpenSSL"
+msgstr "PyOpenSSL"
+
+#: ../src/features_window.py:42
+msgid ""
+"A library used to validate server certificates to ensure a secure connection."
+msgstr "Et bibliotek brugt til at validere server certifikater for at sikre en sikker forbindelse."
+
+#: ../src/features_window.py:43 ../src/features_window.py:44
+msgid "Requires python-pyopenssl."
+msgstr "Kræver python-pyopenssl."
+
+#: ../src/features_window.py:45
+msgid "Bonjour / Zeroconf"
+msgstr "Bonjour / Zeroconf"
+
+#: ../src/features_window.py:46
+msgid "Serverless chatting with autodetected clients in a local network."
+msgstr "Serverløs samtale med automatisk opdagede klienter i et lokalt netværk."
+
+#: ../src/features_window.py:47
+msgid "Requires python-avahi."
+msgstr "Kræver python-avahi."
+
+#: ../src/features_window.py:48
+msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+msgstr "Kræver pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+
+#: ../src/features_window.py:49
+msgid "gajim-remote"
+msgstr "gajim-fjernstyring"
+
+#: ../src/features_window.py:50
+msgid "A script to controle gajim via commandline."
+msgstr "Et script til at kontrollere gajim via kommandolinjen"
+
+#: ../src/features_window.py:51
+msgid "Requires python-dbus."
+msgstr "Kræver python-dbus."
+
+#: ../src/features_window.py:52 ../src/features_window.py:56
+#: ../src/features_window.py:60 ../src/features_window.py:64
+#: ../src/features_window.py:68 ../src/features_window.py:76
+#: ../src/features_window.py:80 ../src/features_window.py:92
+msgid "Feature not available under Windows."
+msgstr "Egenskab ikke tilgængelig under Windows."
+
+#: ../src/features_window.py:53
+msgid "OpenGPG"
+msgstr "OpenGPG"
+
+#: ../src/features_window.py:54
+msgid "Encrypting chatmessages with gpg keys."
+msgstr "Krypter samtale beskeder med gpg nøgler."
+
+#: ../src/features_window.py:55
+msgid "Requires gpg and python-GnuPGInterface."
+msgstr "Kræver gpg og python-GnuPGInterface."
+
+#: ../src/features_window.py:57
+msgid "network-manager"
+msgstr "network-manager"
+
+#: ../src/features_window.py:58
+msgid "Autodetection of network status."
+msgstr "Automatisk opdagelse af netværksstatus."
+
+#: ../src/features_window.py:59
+msgid "Requires gnome-network-manager and python-dbus."
+msgstr "Kræver gnome-network-manager og python-dbus."
+
+#: ../src/features_window.py:61
+msgid "Session Management"
+msgstr "Sessions HÃ¥ndtering"
+
+#: ../src/features_window.py:62
+msgid "Gajim session is stored on logout and restored on login."
+msgstr "Gajim sessionen bliver gemt ved logud og genoprettet ved logind."
+
+#: ../src/features_window.py:63
+msgid "Requires python-gnome2."
+msgstr "Kræver python-gnome2."
+
+#: ../src/features_window.py:65
+msgid "gnome-keyring"
+msgstr "gnome-nøglering"
+
+#: ../src/features_window.py:66
+msgid "Passwords can be stored securely and not just in plaintext."
+msgstr "Adgangskoder kan blive gemt sikkert og ikke bare i ren tekst."
+
+#: ../src/features_window.py:67
+msgid "Requires gnome-keyring and python-gnome2-desktop."
+msgstr "Kræver gnome-keyring og python-gnome2-desktop."
+
+#: ../src/features_window.py:69
+msgid "SRV"
+msgstr "SRV"
+
+#: ../src/features_window.py:70
+msgid "Ability to connect to servers which is using SRV records."
+msgstr "Evnen til at tilslutte til servere som bruger SRV poster."
+
+#: ../src/features_window.py:71
+msgid "Requires dnsutils."
+msgstr "Kræver dnsutils."
+
+#: ../src/features_window.py:72
+msgid "Requires nslookup to use SRV records."
+msgstr "Kræver nslookup for at bruge SRV poster."
+
+#: ../src/features_window.py:73
+msgid "Spell Checker"
+msgstr "Stavekontrol"
+
+#: ../src/features_window.py:74
+msgid "Spellchecking of composed messages."
+msgstr "Stavekontrol af forfattede beskeder."
+
+#: ../src/features_window.py:75
+msgid ""
+"Requires python-gnome2-extras or compilation of gtkspell module from Gajim "
+"sources."
+msgstr "Kræver python-gnome2-extras eller kompilering af gtkspell modulet fra Gajim kildekoden."
+
+#: ../src/features_window.py:77
+msgid "Notification-daemon"
+msgstr "Påmindelses-dæmon"
+
+#: ../src/features_window.py:78
+msgid "Passive popups notifying for new events."
+msgstr "Passive pop op vinduer som påminder om nye hændelser."
+
+#: ../src/features_window.py:79
+msgid ""
+"Requires python-notify or instead python-dbus in conjunction with "
+"notification-daemon."
+msgstr "Kræver python-notify eller python-dbus i forbindelse med påmindelses-dæmonen."
+
+#: ../src/features_window.py:81
+msgid "Trayicon"
+msgstr "Statusikon"
+
+#: ../src/features_window.py:82
+msgid "A icon in systemtray reflecting the current presence."
+msgstr "Et ikon i statusfeltet som viser din nuværende tilstedeværelse."
+
+#: ../src/features_window.py:83
+msgid ""
+"Requires python-gnome2-extras or compiled  trayicon module from Gajim "
+"sources."
+msgstr "Kræver python-gnome2-extras eller et kompileret statusikon modul fra Gajim kildekoden."
+
+#: ../src/features_window.py:84
+msgid "Requires PyGTK >= 2.10."
+msgstr "Kræver PyGTK >= 2.10."
+
+#: ../src/features_window.py:85
+msgid "Idle"
+msgstr "Tomgang"
+
+#: ../src/features_window.py:86
+msgid "Ability to measure idle time, in order to set auto status."
+msgstr "Evnen til at måle tomgangs tid, for at kunne sætte automatisk status."
+
+#: ../src/features_window.py:87 ../src/features_window.py:88
+msgid "Requires compilation of the idle module from Gajim sources."
+msgstr "Kræver kompilering af tomgangs modulet fra Gajim kildekoden."
+
+#: ../src/features_window.py:89
+msgid "LaTeX"
+msgstr "LaTeX"
+
+#: ../src/features_window.py:90
+msgid "Transform LaTeX espressions between $$ $$."
+msgstr "Omdan LaTeX udtryk mellem $$ $$."
+
+#: ../src/features_window.py:91
+msgid ""
+"Requires texlive-latex-base, dvips and imagemagick. You have to set "
+"'use_latex' to True in the Advanced Configuration Editor."
+msgstr "Kræver texlive-latex-base, dvips og imagemagick. Du må sætte 'use_latex' til True i den avancerede konfigurations editor."
+
+#: ../src/features_window.py:93
+msgid "End to end encryption"
+msgstr "Ende til ende kryptering"
+
+#: ../src/features_window.py:94
+msgid "Encrypting chatmessages."
+msgstr "Krypterer samtale beskeder."
+
+#: ../src/features_window.py:95 ../src/features_window.py:96
+msgid "Requires python-crypto."
+msgstr "Kræver python-crypto."
+
+#: ../src/features_window.py:97
+msgid "RST Generator"
+msgstr "RST Generator"
+
+#: ../src/features_window.py:98
+msgid ""
+"Generate XHTML output from RST code (see http://docutils.sourceforge.net/"
+"docs/ref/rst/restructuredtext.html)."
+msgstr "Generer XHTML uddata fra RST kode (se http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html)."
+
+#: ../src/features_window.py:99 ../src/features_window.py:100
+msgid "Requires python-docutils."
+msgstr "Kræver python-docutils."
+
+#: ../src/features_window.py:107 ../src/common/helpers.py:239
+msgid "Available"
+msgstr "Tilgængelig"
+
+#: ../src/features_window.py:114
+msgid "Feature"
+msgstr "Egenskab"
+
+#: ../src/filetransfers_window.py:72
+msgid "File"
+msgstr "Fil"
+
+#: ../src/filetransfers_window.py:87
+msgid "Time"
+msgstr "Tid"
+
+#: ../src/filetransfers_window.py:99
+msgid "Progress"
+msgstr "Fremgang"
+
+#: ../src/filetransfers_window.py:159 ../src/filetransfers_window.py:213
+#, python-format
+msgid "Filename: %s"
+msgstr "Filnavn: %s"
+
+#: ../src/filetransfers_window.py:160 ../src/filetransfers_window.py:288
+#, python-format
+msgid "Size: %s"
+msgstr "Størrelse: %s"
+
+#. You is a reply of who sent a file
+#. You is a reply of who received a file
+#: ../src/filetransfers_window.py:169 ../src/filetransfers_window.py:179
+#: ../src/history_manager.py:463
+msgid "You"
+msgstr "Du"
+
+#: ../src/filetransfers_window.py:170
+#, python-format
+msgid "Sender: %s"
+msgstr "Afsender: %s"
+
+#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:577
+#: ../src/tooltips.py:586
+msgid "Recipient: "
+msgstr "Modtager: "
+
+#: ../src/filetransfers_window.py:182
+#, python-format
+msgid "Saved in: %s"
+msgstr "Gemt i: %s"
+
+#: ../src/filetransfers_window.py:184
+msgid "File transfer completed"
+msgstr "Filoverførsel er fuldført"
+
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:204
+msgid "File transfer cancelled"
+msgstr "Filoverførsel er afbrudt"
+
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:205
+msgid "Connection with peer cannot be established."
+msgstr "Tilslutning til ligeværdige kan ikke oprettes."
+
+#: ../src/filetransfers_window.py:214
+#, python-format
+msgid "Recipient: %s"
+msgstr "Modtager: %s"
+
+#: ../src/filetransfers_window.py:216
+#, python-format
+msgid "Error message: %s"
+msgstr "Fejl besked: %s"
+
+#: ../src/filetransfers_window.py:217
+msgid "File transfer stopped by the contact at the other end"
+msgstr "Filoverførslen blev stoppet af kontakten i den anden ende"
+
+#: ../src/filetransfers_window.py:234
+msgid "Choose File to Send..."
+msgstr "Vælg en Fil at Sende..."
+
+#: ../src/filetransfers_window.py:253
+msgid "Gajim cannot access this file"
+msgstr "Gajim kan ikke tilgå denne fil"
+
+#: ../src/filetransfers_window.py:254
+msgid "This file is being used by another process."
+msgstr "Denne fil bliver brugt af en anden proces."
+
+#: ../src/filetransfers_window.py:286
+#, python-format
+msgid "File: %s"
+msgstr "Fil: %s"
+
+#: ../src/filetransfers_window.py:291
+#, python-format
+msgid "Type: %s"
+msgstr "Type: %s"
+
+#: ../src/filetransfers_window.py:293
+#, python-format
+msgid "Description: %s"
+msgstr "Beskrivelse: %s"
+
+#: ../src/filetransfers_window.py:294
+#, python-format
+msgid "%s wants to send you a file:"
+msgstr "%s vil gerne sende dig en fil:"
+
+#: ../src/filetransfers_window.py:308 ../src/gtkgui_helpers.py:767
+#, python-format
+msgid "Cannot overwrite existing file \"%s\""
+msgstr "Kan ikke overskrive den eksisterende fil \"%s\""
+
+#: ../src/filetransfers_window.py:309 ../src/gtkgui_helpers.py:769
+msgid ""
+"A file with this name already exists and you do not have permission to "
+"overwrite it."
+msgstr ""
+"En fil med dette navn eksisterer allerede og du har ikke rettigheder til at "
+"overskrive den."
+
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:773
+msgid "This file already exists"
+msgstr "Denne fil eksisterer allerede"
+
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:773
+msgid "What do you want to do?"
+msgstr "Hvad vil du gøre?"
+
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:783
+#, python-format
+msgid "Directory \"%s\" is not writable"
+msgstr "Kataloget \"%s\" er ikke skrivbart"
+
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:784
+msgid "You do not have permission to create files in this directory."
+msgstr "Du har ikke rettigheder til at oprette filer i dette katalog."
+
+#: ../src/filetransfers_window.py:338
+msgid "Save File as..."
+msgstr "Gem Fil som..."
+
+#. Print remaining time in format 00:00:00
+#. You can change the places of (hours), (minutes), (seconds) -
+#. they are not translatable.
+#: ../src/filetransfers_window.py:419
+#, python-format
+msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
+msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
+
+#. This should make the string Kb/s,
+#. where 'Kb' part is taken from %s.
+#. Only the 's' after / (which means second) should be translated.
+#: ../src/filetransfers_window.py:508
+#, python-format
+msgid "(%(filesize_unit)s/s)"
+msgstr "(%(filesize_unit)s/s)"
+
+#: ../src/filetransfers_window.py:547 ../src/filetransfers_window.py:550
+msgid "Invalid File"
+msgstr "Ugyldig Fil"
+
+#: ../src/filetransfers_window.py:547
+msgid "File: "
+msgstr "Fil: "
+
+#: ../src/filetransfers_window.py:551
+msgid "It is not possible to send empty files"
+msgstr "Det er ikke mulig at sende tomme filer"
+
+#: ../src/filetransfers_window.py:573 ../src/tooltips.py:576
+msgid "Name: "
+msgstr "Navn: "
+
+#: ../src/filetransfers_window.py:575 ../src/tooltips.py:580
+msgid "Sender: "
+msgstr "Afsender: "
+
+#: ../src/filetransfers_window.py:763
+msgid "Pause"
+msgstr "Pause"
+
+#: ../src/gajim.py:50
+#, python-format
+msgid "%s is not a valid loglevel"
+msgstr "%s er ikke et gyldigt logniveau"
+
+#: ../src/gajim.py:143
+msgid "Gajim needs X server to run. Quiting..."
+msgstr "Gajim behøver en X server for at kunne køre. Slutter..."
+
+#: ../src/gajim.py:147
+msgid "Gajim needs PyGTK 2.8 or above"
+msgstr "Gajim behøver PyGTK 2.8 eller højere"
+
+#: ../src/gajim.py:148
+msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
+msgstr "Gajim behøver PyGTK 2.8 eller højere for at køre. Slutter..."
+
+#: ../src/gajim.py:150
+msgid "Gajim needs GTK 2.8 or above"
+msgstr "Gajim behøver GTK 2.8 eller højere"
+
+#: ../src/gajim.py:151
+msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
+msgstr "Gajim behøver GTK 2.8 eller højere for at køre. Slutter..."
+
+#: ../src/gajim.py:156
+msgid "GTK+ runtime is missing libglade support"
+msgstr "GTK+ udførselsmiljø mangler libglade understøttelse"
+
+#: ../src/gajim.py:158
+#, python-format
+msgid ""
+"Please remove your current GTK+ runtime and install the latest stable "
+"version from %s"
+msgstr ""
+"Fjern venligst dit nuværende GTK+ udførselsmiljø og installer den sidste "
+"stabile version fra %s"
+
+#: ../src/gajim.py:160
+msgid ""
+"Please make sure that GTK+ and PyGTK have libglade support in your system."
+msgstr ""
+"Hver venligst sikker på at GTK+ og PyGTK har libglade understøttelse på dit "
+"system."
+
+#: ../src/gajim.py:165
+msgid "Gajim needs PySQLite2 to run"
+msgstr "Gajim behøver PySQLite2 for at køre"
+
+#: ../src/gajim.py:173
+msgid "Gajim needs pywin32 to run"
+msgstr "Gajim behøver pywin32 for at køre"
+
+#: ../src/gajim.py:174
+#, python-format
+msgid ""
+"Please make sure that Pywin32 is installed on your system. You can get it at "
+"%s"
+msgstr ""
+"Hver venligst sikker på at Pywin32 er installeret på dit system. Du kan få "
+"det fra %s"
+
+#. set the icon to all newly opened wind
+#: ../src/gajim.py:317
+msgid "Gajim is already running"
+msgstr "Gajim kører allerede"
+
+#: ../src/gajim.py:318
+msgid ""
+"Another instance of Gajim seems to be running\n"
+"Run anyway?"
+msgstr ""
+"En anden instans af Gajim ser ud til at køre\n"
+"Kør alligevel?"
+
+#: ../src/gajim.py:341 ../src/common/connection_handlers.py:900
+#: ../src/common/connection_handlers.py:1601
+#: ../src/common/connection_handlers.py:1629
+#: ../src/common/connection_handlers.py:1639
+#: ../src/common/connection_handlers.py:1658
+#: ../src/common/connection_handlers.py:1889
+#: ../src/common/connection_handlers.py:2001 ../src/common/connection.py:925
+msgid "Disk Write Error"
+msgstr "Disk skrivefejl"
+
+#: ../src/gajim.py:434
+msgid "Do you accept this request?"
+msgstr "Accepterer du denne forespørsel?"
+
+#: ../src/gajim.py:437
+#, python-format
+msgid "HTTP (%s) Authorization for %s (id: %s)"
+msgstr "HTTP (%s) Autorisering for %s (id: %s)"
+
+#: ../src/gajim.py:484 ../src/notify.py:448
+msgid "Connection Failed"
+msgstr "Tilslutning Fejlede"
+
+#: ../src/gajim.py:817
+#, python-format
+msgid "Subject: %s"
+msgstr "Emne: %s"
+
+#. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
+#: ../src/gajim.py:864 ../src/gajim.py:877
+#, python-format
+msgid "error while sending %s ( %s )"
+msgstr "fejl opstod under sending %s ( %s )"
+
+#: ../src/gajim.py:910
+msgid "Authorization accepted"
+msgstr "Autorisering accepteret"
+
+#: ../src/gajim.py:911
+#, python-format
+msgid "The contact \"%s\" has authorized you to see his or her status."
+msgstr "Kontakten \"%s\" har godkendt dig til at se hans eller hendes status."
+
+#: ../src/gajim.py:919
+#, python-format
+msgid "Contact \"%s\" removed subscription from you"
+msgstr "Kontakt \"%s\" har fjernet abonneringen på dig"
+
+#: ../src/gajim.py:920
+msgid "You will always see him or her as offline."
+msgstr "Du vil altid se ham eller hende som ikke tilsluttet."
+
+#: ../src/gajim.py:964
+#, python-format
+msgid "Contact with \"%s\" cannot be established"
+msgstr "Kontakt med \"%s\" kan ikke blive etableret"
+
+#: ../src/gajim.py:965 ../src/common/connection.py:466
+msgid "Check your connection or try again later."
+msgstr "Kontroller din tilslutning eller forsøg igen senere."
+
+#: ../src/gajim.py:1136 ../src/roster_window.py:1348
+#, python-format
+msgid "%s is now %s (%s)"
+msgstr "%s er nu %s (%s)"
+
+#. No status message
+#: ../src/gajim.py:1139 ../src/groupchat_control.py:1101
+#: ../src/roster_window.py:1351
+#, python-format
+msgid "%s is now %s"
+msgstr "%s er nu %s"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/gajim.py:1259 ../src/groupchat_control.py:913
+msgid "Any occupant is allowed to see your full JID"
+msgstr "En hvilken som helst deltager har lov til at se din fulde JID"
+
+#: ../src/gajim.py:1261
+msgid "Room now shows unavailable member"
+msgstr "Rummet viser nu; ikke tilgængelige medlemmer"
+
+#: ../src/gajim.py:1263
+msgid "room now does not show unavailable members"
+msgstr "Rummet viser nu ikke; ikke tilgængelige medlemmer"
+
+#: ../src/gajim.py:1266
+msgid "A non-privacy-related room configuration change has occurred"
+msgstr "En ændring i en non-privacy-related rum konfiguration har forekommet"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#: ../src/gajim.py:1269
+msgid "Room logging is now enabled"
+msgstr "Rum logging er nu aktiveret"
+
+#: ../src/gajim.py:1271
+msgid "Room logging is now disabled"
+msgstr "Rum logging er nu deaktiveret"
+
+#: ../src/gajim.py:1273
+msgid "Room is now non-anonymous"
+msgstr "Rummet er nu ikke-anonymt"
+
+#: ../src/gajim.py:1275
+msgid "Room is now semi-anonymous"
+msgstr "Rummet er nu semi-anonymt"
+
+#: ../src/gajim.py:1277
+msgid "Room is now fully-anonymous"
+msgstr "Rummet er nu helt anonymt"
+
+#: ../src/gajim.py:1308
+#, python-format
+msgid "A Password is required to join the room %s. Please type it"
+msgstr "En adgangskode er påkrævet for at deltage i rummet %s. Skriv venligst din adgangskode"
+
+#: ../src/gajim.py:1338
+msgid "Your passphrase is incorrect"
+msgstr "Dit pgp-løsen er ikke korrekt"
+
+#: ../src/gajim.py:1339
+msgid "You are currently connected without your OpenPGP key."
+msgstr "Du er for øjeblikket tilsluttet uden din OpenPGP nøgle."
+
+#: ../src/gajim.py:1443
+#, python-format
+msgid "New mail on %(gmail_mail_address)s"
+msgstr "Ny e-post på %(gmail_mail_address)s"
+
+#: ../src/gajim.py:1445
+#, python-format
+msgid "You have %d new mail conversation"
+msgid_plural "You have %d new mail conversations"
+msgstr[0] "Du har %d ny e-post samtale"
+msgstr[1] "Du har %d nye e-post samtaler"
+
+# Du har %d nye e-post samtaler
+#. FIXME: emulate Gtalk client popups. find out what they parse and how
+#. they decide what to show
+#. each message has a 'From', 'Subject' and 'Snippet' field
+#: ../src/gajim.py:1454
+#, python-format
+msgid ""
+"\n"
+"From: %(from_address)s"
+msgstr ""
+"\n"
+"Fra: %(from_address)s"
+
+#: ../src/gajim.py:1665
+#, python-format
+msgid "%s wants to send you a file."
+msgstr "%s vil gerne sende dig en fil."
+
+#: ../src/gajim.py:1730
+#, python-format
+msgid "You successfully received %(filename)s from %(name)s."
+msgstr "Du har succesfuldt modtaget %(filename)s fra %(name)s"
+
+#. ft stopped
+#: ../src/gajim.py:1734
+#, python-format
+msgid "File transfer of %(filename)s from %(name)s stopped."
+msgstr "Filoverførsel af %(filename)s fra %(name)s er stoppet."
+
+#: ../src/gajim.py:1747
+#, python-format
+msgid "You successfully sent %(filename)s to %(name)s."
+msgstr "Du har succesfuldt sendt %(filename)s til %(name)s."
+
+#. ft stopped
+#: ../src/gajim.py:1751
+#, python-format
+msgid "File transfer of %(filename)s to %(name)s stopped."
+msgstr "Filoverførsel af %(filename)s til %(name)s er stoppet."
+
+#: ../src/gajim.py:1846
+msgid "Session negotiation cancelled"
+msgstr "Session forhandling annulleret"
+
+#: ../src/gajim.py:1847
+#, python-format
+msgid "The client at %s cancelled the session negotiation."
+msgstr "Klienten ved %s annullerede sessions forhandlingerne."
+
+#: ../src/gajim.py:1887 ../src/gajim.py:1928
+msgid "Confirm these session options"
+msgstr "Bekræft disse sessions indstillinger"
+
+#: ../src/gajim.py:1888
+#, python-format
+msgid ""
+"The remote client wants to negotiate an session with these features:\n"
+"\n"
+"\t%s\n"
+"\n"
+"\tAre these options acceptable?"
+msgstr ""
+"Den fjerne klient vil forhandle en session med disse egenskaber:\n"
+"\n"
+"\t%s\n"
+"\n"
+"\tKan disse indstillinger godkendes?"
+
+#: ../src/gajim.py:1929
+#, python-format
+msgid ""
+"The remote client selected these options:\n"
+"\n"
+"%s\n"
+"\n"
+"Continue with the session?"
+msgstr ""
+"Den fjerne klient valgte disse indstillinger:\n"
+"\n"
+"%s\n"
+"\n"
+"Fortsæt med sessionen?"
+
+#: ../src/gajim.py:2041
+msgid "Username Conflict"
+msgstr "Brugernavns Konflikt"
+
+#: ../src/gajim.py:2042
+msgid "Please type a new username for your local account"
+msgstr "Skriv et nyt brugernavn for din lokale konto"
+
+#: ../src/gajim.py:2059
+msgid "Ping?"
+msgstr "Ping?"
+
+#: ../src/gajim.py:2067
+#, python-format
+msgid "Pong! (%s s.)"
+msgstr "Pong! (%s .s)"
+
+#: ../src/gajim.py:2073
+msgid "Error."
+msgstr "Fejl."
+
+#: ../src/gajim.py:2098
+msgid "Resource Conflict"
+msgstr "Ressource Konflikt"
+
+#: ../src/gajim.py:2099
+msgid ""
+"You are already connected to this account with the same resource. Please "
+"type a new one"
+msgstr ""
+"Du er allerede tilsluttet til denne konto med den samme ressource. Skriv "
+"venligst en ny"
+
+#. it is good to notify the user
+#. in case he or she cannot see the output of the console
+#: ../src/gajim.py:2461
+msgid "Could not save your settings and preferences"
+msgstr "Kunne ikke gemme din opsætning og indstillinger"
+
+#. sorted alphanum
+#: ../src/gajim.py:2596 ../src/common/config.py:86 ../src/common/config.py:395
+#: ../src/common/optparser.py:194 ../src/common/optparser.py:412
+#: ../src/common/optparser.py:446
+msgid "default"
+msgstr "standard"
+
+#: ../src/gajim.py:2683
+msgid "Network Manager support not available"
+msgstr "Netværks Manager understøttelse er ikke tilgængelig"
+
+#: ../src/gajim.py:2784
+msgid "Session Management support not available (missing gnome.ui module)"
+msgstr ""
+"Sesion håndterer understøttelse er ikke tilgængelig (mangler gnome.ui "
+"modulet)"
+
+#: ../src/gajim-remote.py:65
+msgid "Shows a help on specific command"
+msgstr "Viser hjælp for en specifik kommando"
+
+#. User gets help for the command, specified by this parameter
+#: ../src/gajim-remote.py:68
+msgid "command"
+msgstr "Kommando"
+
+#: ../src/gajim-remote.py:69
+msgid "show help on command"
+msgstr "Vis hjælp for kommando"
+
+#: ../src/gajim-remote.py:73
+msgid "Shows or hides the roster window"
+msgstr "Viser eller gemmer kontaktvinduet"
+
+#: ../src/gajim-remote.py:77
+msgid "Pops up a window with the next pending event"
+msgstr "Popper op et vindue ved næste hændelse"
+
+#: ../src/gajim-remote.py:81
+msgid ""
+"Prints a list of all contacts in the roster. Each contact appears on a "
+"separate line"
+msgstr ""
+"Udskriver en liste af alle kontakter i kontaktvinduet. Hver kontakt placeres "
+"på en separat linie"
+
+#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99
+#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122
+#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:145
+#: ../src/gajim-remote.py:166 ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:205 ../src/gajim-remote.py:212
+#: ../src/gajim-remote.py:219 ../src/gajim-remote.py:230
+#: ../src/gajim-remote.py:246 ../src/gajim-remote.py:255
+msgid "account"
+msgstr "Konto"
+
+#: ../src/gajim-remote.py:84
+msgid "show only contacts of the given account"
+msgstr "viser kun kontakter for den givne konto"
+
+#: ../src/gajim-remote.py:90
+msgid "Prints a list of registered accounts"
+msgstr "Udskriver en liste af registrerede kontoer"
+
+#: ../src/gajim-remote.py:94
+msgid "Changes the status of account or accounts"
+msgstr "Ændrer status for kontoen eller kontoer"
+
+#. offline, online, chat, away, xa, dnd, invisible should not be translated
+#: ../src/gajim-remote.py:97
+msgid "status"
+msgstr "status"
+
+#: ../src/gajim-remote.py:97
+msgid "one of: offline, online, chat, away, xa, dnd, invisible "
+msgstr "en af: offline, online, chat, away, xa, dnd, invisible"
+
+#: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119
+#: ../src/gajim-remote.py:133 ../src/gajim-remote.py:144
+msgid "message"
+msgstr "besked"
+
+#: ../src/gajim-remote.py:98
+msgid "status message"
+msgstr "status besked"
+
+#: ../src/gajim-remote.py:99
+msgid ""
+"change status of account \"account\". If not specified, try to change status "
+"of all accounts that have \"sync with global status\" option set"
+msgstr ""
+"Ændre status for konto \"konto\". Hvis ikke spesificeret, prøv at ændre "
+"status for alle kontoer der har sat \"synkroniser med generel status\" "
+"indstillingen"
+
+#: ../src/gajim-remote.py:105
+msgid "Shows the chat dialog so that you can send messages to a contact"
+msgstr "Vis samtale vinduet så du kan sende beskeder til en kontakt"
+
+#: ../src/gajim-remote.py:107
+msgid "JID of the contact that you want to chat with"
+msgstr "Kontaktens JID som du vil samtale med"
+
+#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:196
+msgid "if specified, contact is taken from the contact list of this account"
+msgstr "hvis specificeret vil kontakten tages fra kontaktlisten fra denne konto"
+
+#: ../src/gajim-remote.py:114
+msgid ""
+"Sends new chat message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Sender en ny besked til en kontakt i kontaktvinduet. Både OpenPGP nøgle og "
+"konto er valgfri. Hvis du ønsker at sætte en 'konto' uden 'OpenPGP nøgle', "
+"bare set 'OpenPGP nøgle' til ''."
+
+#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:131
+msgid "JID of the contact that will receive the message"
+msgstr "JID på den kontakt som skal modtage beskeden"
+
+#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:144
+msgid "message contents"
+msgstr "besked indhold"
+
+#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
+msgid "pgp key"
+msgstr "pgp nøgle"
+
+#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
+msgid "if specified, the message will be encrypted using this public key"
+msgstr "hvis specificeret vil beskeden blive krypteret med denne nøgle"
+
+#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136
+#: ../src/gajim-remote.py:145
+msgid "if specified, the message will be sent using this account"
+msgstr "hvis specificeret vil beskeden blive sendt med denne konto"
+
+#: ../src/gajim-remote.py:127
+msgid ""
+"Sends new single message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Sender en ny enkel besked til en kontakt i kontaktvinduet. BÃ¥de OpenPGP "
+"nøgle og konto er valgfri. Hvis du ønsker at sætte en 'konto' uden 'OpenPGP "
+"nøgle', bare set 'OpenPGP nøgle' til ''."
+
+#: ../src/gajim-remote.py:132
+msgid "subject"
+msgstr "emne"
+
+#: ../src/gajim-remote.py:132
+msgid "message subject"
+msgstr "emne på besked"
+
+#: ../src/gajim-remote.py:141
+msgid "Sends new message to a groupchat you've joined."
+msgstr "Send en ny besked til en gruppesamtale du deltager i."
+
+#: ../src/gajim-remote.py:143
+msgid "JID of the room that will receive the message"
+msgstr "JID på den rum som skal modtage beskeden"
+
+#: ../src/gajim-remote.py:150
+msgid "Gets detailed info on a contact"
+msgstr "FÃ¥ detaljeret information om kontakten"
+
+#: ../src/gajim-remote.py:152 ../src/gajim-remote.py:165
+#: ../src/gajim-remote.py:195 ../src/gajim-remote.py:204
+msgid "JID of the contact"
+msgstr "Kontaktens JID"
+
+#: ../src/gajim-remote.py:156
+msgid "Gets detailed info on a account"
+msgstr "FÃ¥ detaljeret information om kontoen"
+
+#: ../src/gajim-remote.py:158
+msgid "Name of the account"
+msgstr "Navn på kontoen"
+
+#: ../src/gajim-remote.py:162
+msgid "Sends file to a contact"
+msgstr "Send en fil til en kontakt"
+
+#: ../src/gajim-remote.py:164
+msgid "file"
+msgstr "fil"
+
+#: ../src/gajim-remote.py:164
+msgid "File path"
+msgstr "Filsti"
+
+#: ../src/gajim-remote.py:166
+msgid "if specified, file will be sent using this account"
+msgstr "hvis specificeret vil filen blive sendt med denne konto"
+
+#: ../src/gajim-remote.py:171
+msgid "Lists all preferences and their values"
+msgstr "Hvis alle indstillinger og deres værdier"
+
+#: ../src/gajim-remote.py:175
+msgid "Sets value of 'key' to 'value'."
+msgstr "Sætter værdien for 'nøglen' til 'værdi'."
+
+#: ../src/gajim-remote.py:177
+msgid "key=value"
+msgstr "nøgle=værdi"
+
+#: ../src/gajim-remote.py:177
+msgid "'key' is the name of the preference, 'value' is the value to set it to"
+msgstr ""
+"'nøgle' er navnet for indstillingen, 'værdi' er den værdi den er sat til"
+
+#: ../src/gajim-remote.py:182
+msgid "Deletes a preference item"
+msgstr "Sletter et indstillingspunkt"
+
+#: ../src/gajim-remote.py:184
+msgid "key"
+msgstr "nøgle"
+
+#: ../src/gajim-remote.py:184
+msgid "name of the preference to be deleted"
+msgstr "navn på den indstilling som skal slettes"
+
+#: ../src/gajim-remote.py:188
+msgid "Writes the current state of Gajim preferences to the .config file"
+msgstr ""
+"Skriver den nuværende tilstand af Gajims indstillinger til .config filen"
+
+#: ../src/gajim-remote.py:193
+msgid "Removes contact from roster"
+msgstr "Fjerner kontakt fra kontaktvinduet"
+
+#: ../src/gajim-remote.py:202
+msgid "Adds contact to roster"
+msgstr "Tilføjer kontakt til kontaktvinduet"
+
+#: ../src/gajim-remote.py:204
+msgid "jid"
+msgstr "jid"
+
+#: ../src/gajim-remote.py:205
+msgid "Adds new contact to this account"
+msgstr "Tilføjer ny kontakt til denne konto"
+
+#: ../src/gajim-remote.py:210
+msgid "Returns current status (the global one unless account is specified)"
+msgstr ""
+"Returnere den nuværende status (den globale status hvis ikke en konto er "
+"valgt)"
+
+#: ../src/gajim-remote.py:217
+msgid ""
+"Returns current status message(the global one unless account is specified)"
+msgstr ""
+"Returnere den nuværende statusbesked (den globale status besked hvis ikke en "
+"konto er valgt)"
+
+#: ../src/gajim-remote.py:224
+msgid "Returns number of unread messages"
+msgstr "Returnerer antal ikke læste beskeder"
+
+#: ../src/gajim-remote.py:228
+msgid "Opens 'Start Chat' dialog"
+msgstr "Ã…bner 'Start Samtale' vinduet"
+
+#: ../src/gajim-remote.py:230
+msgid "Starts chat, using this account"
+msgstr "Starter en samtale med denne konto"
+
+#: ../src/gajim-remote.py:234
+msgid "Sends custom XML"
+msgstr "Sender tilpasset XML"
+
+#: ../src/gajim-remote.py:236
+msgid "XML to send"
+msgstr "XML som skal sendes"
+
+#: ../src/gajim-remote.py:237
+msgid ""
+"Account in which the xml will be sent; if not specified, xml will be sent to "
+"all accounts"
+msgstr ""
+"Den konto hvor XML vil blive sendt; hvis ikke den er specificeret, vil XML "
+"blive sendt til alle kontoer"
+
+#: ../src/gajim-remote.py:243
+msgid "Handle a xmpp:/ uri"
+msgstr "HÃ¥ndter en xmpp:/ uri"
+
+#: ../src/gajim-remote.py:245
+msgid "uri"
+msgstr "uri"
+
+#: ../src/gajim-remote.py:250
+msgid "Join a MUC room"
+msgstr "Deltag i et MUC rum"
+
+#: ../src/gajim-remote.py:252
+msgid "room"
+msgstr "rum"
+
+#: ../src/gajim-remote.py:253
+msgid "nick"
+msgstr "kælenavn"
+
+#: ../src/gajim-remote.py:254
+msgid "password"
+msgstr "adgangskode"
+
+#: ../src/gajim-remote.py:277
+msgid "Missing argument \"contact_jid\""
+msgstr "Manglende argument \"contact_jid\""
+
+#: ../src/gajim-remote.py:296
+#, python-format
+msgid ""
+"'%s' is not in your roster.\n"
+"Please specify account for sending the message."
+msgstr ""
+"'%s' er ikke i dit kontaktvindue.\n"
+"Specificer venligst en konto for at sende beskeden."
+
+#: ../src/gajim-remote.py:299
+msgid "You have no active account"
+msgstr "Du har ingen aktiv konto"
+
+#: ../src/gajim-remote.py:363
+#, python-format
+msgid ""
+"Usage: %s %s %s \n"
+"\t %s"
+msgstr ""
+"Brug: %s %s %s \n"
+"\t %s"
+
+#: ../src/gajim-remote.py:366
+msgid "Arguments:"
+msgstr "Argumenter:"
+
+#: ../src/gajim-remote.py:370
+#, python-format
+msgid "%s not found"
+msgstr "%s ikke fundet"
+
+#: ../src/gajim-remote.py:374
+#, python-format
+msgid ""
+"Usage: %s command [arguments]\n"
+"Command is one of:\n"
+msgstr ""
+"Brug: %s kommando [argumenter]\n"
+"Kommando er en af:\n"
+
+#: ../src/gajim-remote.py:447
+#, python-format
+msgid ""
+"Too many arguments. \n"
+"Type \"%s help %s\" for more info"
+msgstr ""
+"For mange argumenter. \n"
+"Skriv \"%s help %s\" for mere information"
+
+#: ../src/gajim-remote.py:451
+#, python-format
+msgid ""
+"Argument \"%s\" is not specified. \n"
+"Type \"%s help %s\" for more info"
+msgstr ""
+"Argument \"%s\" er ikke specificeret. \n"
+"Skriv \"%s help %s\" for mere information"
+
+#: ../src/gajim-remote.py:469
+msgid "Wrong uri"
+msgstr "Forkert uri"
+
+#: ../src/gajim_themes_window.py:62
+msgid "Theme"
+msgstr "Tema"
+
+#: ../src/gajim_themes_window.py:100
+msgid "You cannot make changes to the default theme"
+msgstr "Du kan ikke lave ændringer til standard temaet"
+
+#: ../src/gajim_themes_window.py:101
+msgid "Please create a clean new theme with your desired name."
+msgstr "Opret et nyt tema med dit ønskede navn."
+
+#. don't confuse translators
+#: ../src/gajim_themes_window.py:175
+msgid "theme name"
+msgstr "Tema navn"
+
+#: ../src/gajim_themes_window.py:192
+msgid "You cannot delete your current theme"
+msgstr "Du kan ikke slette det nuværende tema"
+
+#: ../src/gajim_themes_window.py:193
+msgid "Please first choose another for your current theme."
+msgstr "Vælg venligst en anden for dit nuværende tema."
+
+#: ../src/groupchat_control.py:134
+msgid "Sending private message failed"
+msgstr "Sending af privat besked fejlede"
+
+#. in second %s code replaces with nickname
+#: ../src/groupchat_control.py:136
+#, python-format
+msgid "You are no longer in group chat \"%s\" or \"%s\" has left."
+msgstr ""
+"Du er ikke længere i gruppe samtale \"%s\" eller \"%s\" har forladt rummet."
+
+#: ../src/groupchat_control.py:342
+msgid "Insert Nickname"
+msgstr "Indsæt Kælenavn"
+
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/groupchat_control.py:916
+msgid "Room logging is enabled"
+msgstr "Rum logging er aktiveret"
+
+#: ../src/groupchat_control.py:918
+msgid "A new room has been created"
+msgstr "Et nyt rum er blevet oprettet"
+
+#: ../src/groupchat_control.py:921
+msgid "The server has assigned or modified your roomnick"
+msgstr "Serveren har fastsat eller ændret dit kælenavn for rummet"
+
+#. do not print 'kicked by None'
+#: ../src/groupchat_control.py:927
+#, python-format
+msgid "%(nick)s has been kicked: %(reason)s"
+msgstr "%(nick)s er blevet udvist: %(reason)s"
+
+#: ../src/groupchat_control.py:931
+#, python-format
+msgid "%(nick)s has been kicked by %(who)s: %(reason)s"
+msgstr "%(nick)s er blevet udvist af %(who)s: %(reason)s"
+
+#. do not print 'banned by None'
+#: ../src/groupchat_control.py:938
+#, python-format
+msgid "%(nick)s has been banned: %(reason)s"
+msgstr "%(nick)s er blevet uønsket: %(reason)s"
+
+#: ../src/groupchat_control.py:942
+#, python-format
+msgid "%(nick)s has been banned by %(who)s: %(reason)s"
+msgstr "%(nick)s er blevet uønsket af %(who)s: %(reason)s"
+
+#. Someone changed his or her nick
+#. We changed our nick
+#: ../src/groupchat_control.py:949
+#, python-format
+msgid "You are now known as %s"
+msgstr "Du er nu kendt som %s"
+
+#: ../src/groupchat_control.py:951
+#, python-format
+msgid "%s is now known as %s"
+msgstr "%s er nu kendt som %s"
+
+#: ../src/groupchat_control.py:984 ../src/groupchat_control.py:988
+#: ../src/groupchat_control.py:993
+#, python-format
+msgid "%(nick)s has been removed from the room (%(reason)s)"
+msgstr "%(nick)s er blevet fjernet fra rummet %(reason)s"
+
+#: ../src/groupchat_control.py:985
+msgid "affiliation changed"
+msgstr "tilknytning ændret"
+
+#: ../src/groupchat_control.py:990
+msgid "room configuration changed to members-only"
+msgstr "Rum konfiguration er blevet ændret til 'kun for medlemmer'"
+
+#: ../src/groupchat_control.py:995
+msgid "system shutdown"
+msgstr "computeren slukkes"
+
+#: ../src/groupchat_control.py:1094
+#, python-format
+msgid "%s has left"
+msgstr "%s har forladt samtalen"
+
+#: ../src/groupchat_control.py:1099
+#, python-format
+msgid "%s has joined the group chat"
+msgstr "%s deltager nu i gruppe samtalen"
+
+#. Invalid Nickname
+#. invalid char
+#: ../src/groupchat_control.py:1212 ../src/groupchat_control.py:1494
+msgid "Invalid nickname"
+msgstr "Ugyldigt kælenavn"
+
+#: ../src/groupchat_control.py:1213 ../src/groupchat_control.py:1495
+msgid "The nickname has not allowed characters."
+msgstr "Kælenavnet har ikke tilladte tegn."
+
+#: ../src/groupchat_control.py:1236 ../src/groupchat_control.py:1254
+#: ../src/groupchat_control.py:1341 ../src/groupchat_control.py:1358
+#, python-format
+msgid "Nickname not found: %s"
+msgstr "Kælenavn ikke fundet: %s"
+
+#: ../src/groupchat_control.py:1270
+msgid "This group chat has no subject"
+msgstr "Denne gruppe samtale har ikke noget emne"
+
+#: ../src/groupchat_control.py:1281
+#, python-format
+msgid "Invited %(contact_jid)s to %(room_jid)s."
+msgstr "Inviterede %(contact_jid)s til %(room_jid)s."
+
+#. %s is something the user wrote but it is not a jid so we inform
+#: ../src/groupchat_control.py:1314
+#, python-format
+msgid "%s does not appear to be a valid JID"
+msgstr "%s ser ikke ud til at være et gyldigt JID"
+
+#: ../src/groupchat_control.py:1421
+#, python-format
+msgid ""
+"Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
+"nickname of an occupant may be substituted, but not if it contains \"@\". If "
+"the JID is currently in the group chat, he/she/it will also be kicked. Does "
+"NOT support spaces in nickname."
+msgstr ""
+"Brug: /%s <kælenavn|JID> [begrundelse], udviser denne JID fra gruppe "
+"samtalen. Kælenavnet til en bruger kan bruges, men ikke hvis det indeholder "
+"\"@\". Hvis en bruger med JID'en er tilstede i gruppe samtalen vil han/hun/"
+"den/det også blive udvist. Mellemrum i kælenavnet er ikke understøttet."
+
+#: ../src/groupchat_control.py:1428
+#, python-format
+msgid ""
+"Usage: /%s <nickname>, opens a private chat window with the specified "
+"occupant."
+msgstr "Brug: /%s <kælenavn>, åbner et privat samtale vindue med den specificerede bruger."
+
+#: ../src/groupchat_control.py:1434
+#, python-format
+msgid ""
+"Usage: /%s [reason], closes the current window or tab, displaying reason if "
+"specified."
+msgstr ""
+"Brug: /%s [begrundelse], lukker det nuværende vindue eller fan, visende "
+"begrundelsen hvis specificeret."
+
+#: ../src/groupchat_control.py:1440
+#, python-format
+msgid ""
+"Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
+"providing a reason."
+msgstr "Brug: /%s <JID> [begrundelse], inviter JID til den nuværende gruppe samtale, visende begrundelsen hvis specificeret"
+
+#: ../src/groupchat_control.py:1444
+#, python-format
+msgid ""
+"Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
+"using specified nickname."
+msgstr "Brug: /%s <rum>@<server>[/kælenavn], tilbyder at deltage i rum@server eventuelt med det specificerede kælenavn."
+
+#: ../src/groupchat_control.py:1448
+#, python-format
+msgid ""
+"Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
+"from the group chat and optionally displays a reason. Does NOT support "
+"spaces in nickname."
+msgstr "Brug: /%s <kælenavn> [begrundelse], fjerner deltager med kælenavnet fra gruppe samtalen og hvis specificeret, viser en begrundelse"
+
+#: ../src/groupchat_control.py:1457
+#, python-format
+msgid ""
+"Usage: /%s <nickname> [message], opens a private message window and sends "
+"message to the occupant specified by nickname."
+msgstr "Brug: /%s <kælenavn> [besked], åbner et privat samtale vindue og sender beskeden til deltageren med det specificerede kælenavn."
+
+#: ../src/groupchat_control.py:1462
+#, python-format
+msgid "Usage: /%s <nickname>, changes your nickname in current group chat."
+msgstr ""
+"Brug: /%s <kælenavn>, ændrer dit kælenavn i den nuværende gruppe samtale."
+
+#: ../src/groupchat_control.py:1466
+#, python-format
+msgid "Usage: /%s , display the names of group chat occupants."
+msgstr "Brug: /%s , viser navnene på deltagerne i gruppe samtalen."
+
+#: ../src/groupchat_control.py:1470
+#, python-format
+msgid "Usage: /%s [topic], displays or updates the current group chat topic."
+msgstr ""
+"Brug: /%s [emne], viser eller opdaterer det nuværende gruppe samtale emne."
+
+#: ../src/groupchat_control.py:1473
+#, python-format
+msgid ""
+"Usage: /%s <message>, sends a message without looking for other commands."
+msgstr ""
+"Brug: /%s <besked>, sender en besked uden at kigge efter andre kommandoer."
+
+#: ../src/groupchat_control.py:1568
+#, python-format
+msgid "Are you sure you want to leave group chat \"%s\"?"
+msgstr "Er du sikker på du vil forlade gruppe samtalen \"%s\"?"
+
+#: ../src/groupchat_control.py:1570
+msgid ""
+"If you close this window, you will be disconnected from this group chat."
+msgstr ""
+"Hvis du lukker dette vindue vil du blive frakoblet fra denne gruppe samtale."
+
+#: ../src/groupchat_control.py:1574 ../src/roster_window.py:4835
+msgid "Do _not ask me again"
+msgstr "Ikke spørg mig ige_n"
+
+#: ../src/groupchat_control.py:1608
+msgid "Changing Subject"
+msgstr "Ændre emne"
+
+#: ../src/groupchat_control.py:1609
+msgid "Please specify the new subject:"
+msgstr "Anfør et nyt emne:"
+
+#: ../src/groupchat_control.py:1618
+msgid "Changing Nickname"
+msgstr "Ændre kælenavn"
+
+#: ../src/groupchat_control.py:1619
+msgid "Please specify the new nickname you want to use:"
+msgstr "Anfør dit nye kælenavn:"
+
+#. Ask for a reason
+#: ../src/groupchat_control.py:1634
+#, python-format
+msgid "Destroying %s"
+msgstr "Fjern %s"
+
+#: ../src/groupchat_control.py:1635
+msgid ""
+"You are going to definitively destroy this room.\n"
+"You may specify a reason below:"
+msgstr ""
+"Du er ved at definitivt fjerne dette rum.\n"
+"Du kan anføre en grund herunder:"
+
+#: ../src/groupchat_control.py:1637
+msgid "You may also enter an alternate venue:"
+msgstr "Du kan også indtaste et alternativt mødested:"
+
+#: ../src/groupchat_control.py:1668
+msgid "Bookmark already set"
+msgstr "Bogmærke er allerede sat"
+
+#: ../src/groupchat_control.py:1669
+#, python-format
+msgid "Group Chat \"%s\" is already in your bookmarks."
+msgstr "Gruppe samtale \"%s\" er allerede i dine bogmærker."
+
+#: ../src/groupchat_control.py:1678
+msgid "Bookmark has been added successfully"
+msgstr "Bogmærket er blevet tilføjet succesfuldt"
+
+#: ../src/groupchat_control.py:1679
+msgid "You can manage your bookmarks via Actions menu in your roster."
+msgstr ""
+"De kan håndtere dine bogmærker via Handlings menuen i dit kontaktvindue."
+
+#. ask for reason
+#: ../src/groupchat_control.py:1831
+#, python-format
+msgid "Kicking %s"
+msgstr "Sparker %s"
+
+#: ../src/groupchat_control.py:1832 ../src/groupchat_control.py:2132
+msgid "You may specify a reason below:"
+msgstr "Du kan anføre en begrundelse under:"
+
+#. ask for reason
+#: ../src/groupchat_control.py:2131
+#, python-format
+msgid "Banning %s"
+msgstr "Udeluk %s"
+
+#: ../src/gtkexcepthook.py:41
+msgid "A programming error has been detected"
+msgstr "En programmeringsfejl er blevet opdaget"
+
+#: ../src/gtkexcepthook.py:42
+msgid ""
+"It probably is not fatal, but should be reported to the developers "
+"nonetheless."
+msgstr ""
+"Den er sikkert ikke kritisk, men bør alligevel rapporteres til udviklerne."
+
+#: ../src/gtkexcepthook.py:48
+msgid "_Report Bug"
+msgstr "_Rapporter Fejl"
+
+#: ../src/gtkexcepthook.py:71
+msgid "Details"
+msgstr "Detaljer"
+
+#. we talk about file
+#: ../src/gtkgui_helpers.py:157 ../src/gtkgui_helpers.py:172
+#, python-format
+msgid "Error: cannot open %s for reading"
+msgstr "Fejl: kan ikke åbne %s for læsning"
+
+#: ../src/gtkgui_helpers.py:337
+msgid "Error reading file:"
+msgstr "Fejl ved læsning af fil:"
+
+#: ../src/gtkgui_helpers.py:340
+msgid "Error parsing file:"
+msgstr "Fejl ved fortolkning af fil:"
+
+#. do not traceback (could be a permission problem)
+#. we talk about a file here
+#: ../src/gtkgui_helpers.py:377
+#, python-format
+msgid "Could not write to %s. Session Management support will not work"
+msgstr ""
+"Kunne ikke skrive til %s. Sessions håndterings understøttelse vil ikke virke"
+
+#. xmpp: is currently handled by another program, so ask the user
+#: ../src/gtkgui_helpers.py:711
+msgid "Gajim is not the default Jabber client"
+msgstr "Gajim er ikke standard Jabber client"
+
+#: ../src/gtkgui_helpers.py:712
+msgid "Would you like to make Gajim the default Jabber client?"
+msgstr "Har du lyst til at gøre Gajim til standard Jabber client?"
+
+#: ../src/gtkgui_helpers.py:713
+msgid "Always check to see if Gajim is the default Jabber client on startup"
+msgstr "Altid kontroller om Gajim er standard Jabber client ved opstart"
+
+#: ../src/gtkgui_helpers.py:812
+msgid "Extension not supported"
+msgstr "Udvidelse er ikke understøttet"
+
+#: ../src/gtkgui_helpers.py:813
+#, python-format
+msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
+msgstr "Billede kan ikke gemmes i formatet %(type)s. Gem som %(new_filename)s?"
+
+#: ../src/gtkgui_helpers.py:822
+msgid "Save Image as..."
+msgstr "Gem Billede som..."
+
+#: ../src/history_manager.py:68
+msgid "Cannot find history logs database"
+msgstr "Kan ikke finde historik log databasen"
+
+#. holds jid
+#: ../src/history_manager.py:108
+msgid "Contacts"
+msgstr "Kontakter"
+
+#. holds time
+#: ../src/history_manager.py:121 ../src/history_manager.py:161
+#: ../src/history_window.py:86
+msgid "Date"
+msgstr "Dato"
+
+#. holds nickname
+#: ../src/history_manager.py:127 ../src/history_manager.py:179
+msgid "Nickname"
+msgstr "Kælenavn"
+
+#. holds message
+#: ../src/history_manager.py:135 ../src/history_manager.py:167
+#: ../src/history_window.py:94
+msgid "Message"
+msgstr "Besked"
+
+#: ../src/history_manager.py:187
+msgid ""
+"Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS "
+"RUNNING)"
+msgstr ""
+"Vil du rydde op i databasen? (DETTE ER IKKE ANBEFALET HVIS GAJIM KØRER)"
+
+#: ../src/history_manager.py:189
+msgid ""
+"Normally allocated database size will not be freed, it will just become "
+"reusable. If you really want to reduce database filesize, click YES, else "
+"click NO.\n"
+"\n"
+"In case you click YES, please wait..."
+msgstr ""
+"Normalt vil den allokerede database størrelse ikke blive frigjort, den vil "
+"bare kunne genbruges. Hvis du virkelig vil reducere database filstørrelsen, "
+"tryk JA, eller tryk NEJ.\n"
+"\n"
+"I tilfælde du trykker JA, venligst vent..."
+
+#: ../src/history_manager.py:401
+msgid "Exporting History Logs..."
+msgstr "Eksporter Historik Log..."
+
+#: ../src/history_manager.py:476
+#, python-format
+msgid "%(who)s on %(time)s said: %(message)s\n"
+msgstr "%(who)s klokken %(time)s sagde: %(message)s\n"
+
+#: ../src/history_manager.py:514
+msgid "Do you really want to delete logs of the selected contact?"
+msgid_plural "Do you really want to delete logs of the selected contacts?"
+msgstr[0] "Vil du virkelig slette loggen for den valgte kontakt?"
+msgstr[1] "Vil du virkelig slette loggene fra de valgte kontakter?"
+
+#: ../src/history_manager.py:518 ../src/history_manager.py:554
+msgid "This is an irreversible operation."
+msgstr "Dette er en irreversibel handling."
+
+#: ../src/history_manager.py:551
+msgid "Do you really want to delete the selected message?"
+msgid_plural "Do you really want to delete the selected messages?"
+msgstr[0] "Vil du virkelig slette den valgte besked?"
+msgstr[1] "Vil du virkelig slette de valgte beskeder?"
+
+#: ../src/history_window.py:103 ../src/history_window.py:105
+#, python-format
+msgid "Conversation History with %s"
+msgstr "Konversations Historik med %s"
+
+#: ../src/history_window.py:266
+#, python-format
+msgid "%(nick)s is now %(status)s: %(status_msg)s"
+msgstr "%(nick)s er nu %(status)s: %(status_msg)s"
+
+#: ../src/history_window.py:270 ../src/notify.py:206
+#, python-format
+msgid "%(nick)s is now %(status)s"
+msgstr "%(nick)s er nu %(status)s"
+
+#: ../src/history_window.py:276
+#, python-format
+msgid "Status is now: %(status)s: %(status_msg)s"
+msgstr "Status er nu: %(status)s: %(status_msg)s"
+
+#: ../src/history_window.py:279
+#, python-format
+msgid "Status is now: %(status)s"
+msgstr "Status er nu: %(status)s"
+
+#: ../src/htmltextview.py:583 ../src/htmltextview.py:594
+msgid "Timeout loading image"
+msgstr "Tidsudløb nået for at laste billede"
+
+#: ../src/htmltextview.py:604
+msgid "Image is too big"
+msgstr "Billede er for stort"
+
+#: ../src/message_window.py:288
+msgid "Chats"
+msgstr "Samtaler"
+
+#: ../src/message_window.py:290
+msgid "Group Chats"
+msgstr "Gruppe Samtaler"
+
+#: ../src/message_window.py:292
+msgid "Private Chats"
+msgstr "Private Samtaler"
+
+#: ../src/message_window.py:294
+msgid "Messages"
+msgstr "Beskeder"
+
+#: ../src/message_window.py:295
+#, python-format
+msgid "%s - Gajim"
+msgstr "%s - Gajim"
+
+#: ../src/negotiation.py:13
+msgid "- messages will be logged"
+msgstr "- beskeder vil blive logget"
+
+#: ../src/negotiation.py:15
+msgid "- messages will not be logged"
+msgstr "- beskeder vil ikke blive logget"
+
+#: ../src/negotiation.py:18
+msgid "Verify the remote client's identity"
+msgstr "Bekræft den fjerne klients identitet"
+
+#: ../src/negotiation.py:18
+#, python-format
+msgid ""
+"You've begun an encrypted session with %s, but it can't be guaranteed that "
+"you're talking directly to the person you think you are.\n"
+"\n"
+"You should speak with them directly (in person or on the phone) and confirm "
+"that their Short Authentication String is identical to this one: %s"
+msgstr ""
+"Du er begyndt på en krypteret session med %s, men det kan ikke garanteres at du snakker direkte med den person du tror du gør.\n"
+"\n"
+"Du bør snakke med dem direkte (ansigt til ansigt eller på telefonen) og på den måde bekræfte at deres Korte Autoriserings Streng er identisk til denne: %s"
+
+#: ../src/notify.py:204
+#, python-format
+msgid "%(nick)s Changed Status"
+msgstr "%(nick)s Ændrede Status"
+
+#: ../src/notify.py:214
+#, python-format
+msgid "%(nickname)s Signed In"
+msgstr "%(nickname)s Loggede Ind"
+
+#: ../src/notify.py:222
+#, python-format
+msgid "%(nickname)s Signed Out"
+msgstr "%(nickname)s Loggede Ud"
+
+#: ../src/notify.py:234
+#, python-format
+msgid "New Single Message from %(nickname)s"
+msgstr "Ny Besked fra %(nickname)s"
+
+#: ../src/notify.py:242
+#, python-format
+msgid "New Private Message from group chat %s"
+msgstr "Ny Privat Besked fra gruppe samtale %s"
+
+#: ../src/notify.py:244
+#, python-format
+msgid "%(nickname)s: %(message)s"
+msgstr "%(nickname)s: %(message)s"
+
+#: ../src/notify.py:247
+#, python-format
+msgid "Messaged by %(nickname)s"
+msgstr "Besked fra %(nickname)s"
+
+#: ../src/notify.py:253
+#, python-format
+msgid "New Message from %(nickname)s"
+msgstr "Ny Besked fra %(nickname)s"
+
+#: ../src/profile_window.py:72
+msgid "Retrieving profile..."
+msgstr "Henter profil..."
+
+#: ../src/profile_window.py:123 ../src/roster_window.py:1882
+msgid "File is empty"
+msgstr "Filen er tom"
+
+#: ../src/profile_window.py:126 ../src/roster_window.py:1885
+msgid "File does not exist"
+msgstr "Filen eksisterer ikke"
+
+#. keep identation
+#. unknown format
+#: ../src/profile_window.py:140 ../src/profile_window.py:156
+#: ../src/roster_window.py:1887 ../src/roster_window.py:1898
+msgid "Could not load image"
+msgstr "Kunne ikke laste billede"
+
+#: ../src/profile_window.py:257
+msgid "Information received"
+msgstr "Information modtaget"
+
+#: ../src/profile_window.py:326
+msgid "Without a connection you can not publish your contact information."
+msgstr "Uden en tilslutning kan du ikke publicere din kontakt information."
+
+#: ../src/profile_window.py:338
+msgid "Sending profile..."
+msgstr "Sender profil..."
+
+#: ../src/profile_window.py:353
+msgid "Information NOT published"
+msgstr "Information er IKKE publiceret"
+
+#: ../src/profile_window.py:360
+msgid "vCard publication failed"
+msgstr "vCard publicering fejlede"
+
+#: ../src/profile_window.py:361
+msgid ""
+"There was an error while publishing your personal information, try again "
+"later."
+msgstr ""
+"Der var en fejl under publicering af din personlige information, prøv igen "
+"senere."
+
+#: ../src/roster_window.py:182 ../src/roster_window.py:237
+msgid "Merged accounts"
+msgstr "Flettede kontoer"
+
+#: ../src/roster_window.py:357 ../src/roster_window.py:622
+#: ../src/roster_window.py:2109 ../src/common/contacts.py:307
+#: ../src/common/helpers.py:44
+msgid "Observers"
+msgstr "Iagttagere"
+
+#. Make special context menu if group is Groupchats
+#: ../src/roster_window.py:441 ../src/roster_window.py:446
+#: ../src/roster_window.py:1934 ../src/roster_window.py:1937
+#: ../src/roster_window.py:2606 ../src/roster_window.py:2609
+#: ../src/roster_window.py:2634 ../src/roster_window.py:4695
+#: ../src/roster_window.py:4697 ../src/common/commands.py:194
+#: ../src/common/contacts.py:97 ../src/common/helpers.py:44
+msgid "Groupchats"
+msgstr "Gruppesamtaler"
+
+#: ../src/roster_window.py:771 ../src/roster_window.py:3951
+msgid "You cannot join a group chat while you are invisible"
+msgstr "Du kan ikke deltage i en gruppe samtale mens du er usynlig"
+
+#. new chat
+#. single message
+#. for chat_with
+#. for single message
+#. join gc
+#: ../src/roster_window.py:984 ../src/roster_window.py:994
+#: ../src/roster_window.py:1003 ../src/systray.py:207 ../src/systray.py:212
+#: ../src/systray.py:218
+#, python-format
+msgid "using account %s"
+msgstr "med konto %s"
+
+#. add
+#: ../src/roster_window.py:1010
+#, python-format
+msgid "to %s account"
+msgstr "til %s konto"
+
+#. disco
+#: ../src/roster_window.py:1015
+#, python-format
+msgid "using %s account"
+msgstr "bruger %s konto"
+
+#: ../src/roster_window.py:1096
+msgid "_Manage Bookmarks..."
+msgstr "Håndter Bog_mærker..."
+
+#. profile, avatar
+#: ../src/roster_window.py:1115
+#, python-format
+msgid "of account %s"
+msgstr "fra konto %s"
+
+#: ../src/roster_window.py:1155
+#, python-format
+msgid "for account %s"
+msgstr "for konto %s"
+
+#. History manager
+#: ../src/roster_window.py:1176
+msgid "History Manager"
+msgstr "Historik HÃ¥ndterer"
+
+#: ../src/roster_window.py:1185
+msgid "_Join New Group Chat"
+msgstr "_Deltag i Ny Gruppe Samtale"
+
+#: ../src/roster_window.py:1544 ../src/roster_window.py:4149
+#: ../src/roster_window.py:4156
+msgid "You have unread messages"
+msgstr "Du har ulæste beskeder"
+
+#: ../src/roster_window.py:1545
+msgid "You must read them before removing this transport."
+msgstr "Du må læse dem før du fjerner denne transport."
+
+#: ../src/roster_window.py:1548
+#, python-format
+msgid "Transport \"%s\" will be removed"
+msgstr "Transport \"%s\" vil blive fjernet"
+
+#: ../src/roster_window.py:1549
+msgid ""
+"You will no longer be able to send and receive messages from contacts using "
+"this transport."
+msgstr ""
+"Du vil ikke længere være i stand til at sende og modtage beskeder fra "
+"kontakter som bruger denne transport."
+
+#: ../src/roster_window.py:1552
+msgid "Transports will be removed"
+msgstr "Transporter vil blive fjernet"
+
+#: ../src/roster_window.py:1557
+#, python-format
+msgid ""
+"You will no longer be able to send and receive messages to contacts from "
+"these transports:%s"
+msgstr ""
+"Du vil ikke længere være i stand til at sende og modtage beskeder fra "
+"kontakter som bruger disse transporter:%s"
+
+#. it's jid
+#: ../src/roster_window.py:1723
+msgid "Rename Contact"
+msgstr "Omdøb Kontakt"
+
+#: ../src/roster_window.py:1724
+#, python-format
+msgid "Enter a new nickname for contact %s"
+msgstr "Indtast et nyt kælenavn for kontakt %s"
+
+#: ../src/roster_window.py:1731
+msgid "Rename Group"
+msgstr "Omdøb Gruppe"
+
+#: ../src/roster_window.py:1732
+#, python-format
+msgid "Enter a new name for group %s"
+msgstr "Indtast et nyt navn for gruppen %s"
+
+#: ../src/roster_window.py:1807
+msgid "Remove Group"
+msgstr "Fjern Gruppen"
+
+#: ../src/roster_window.py:1808
+#, python-format
+msgid "Do you want to remove group %s from the roster?"
+msgstr "Vil du fjerne gruppen %s fra kontaktvinduet?"
+
+#: ../src/roster_window.py:1809
+msgid "Remove also all contacts in this group from your roster"
+msgstr "Fjern også alle kontakter i denne gruppe fra kontaktvinduet"
+
+#: ../src/roster_window.py:1840
+msgid "Assign OpenPGP Key"
+msgstr "Tildel OpenPGP Nøgle"
+
+#: ../src/roster_window.py:1841
+msgid "Select a key to apply to the contact"
+msgstr "Vælg den nøgle du vil anvende til kontakten"
+
+#: ../src/roster_window.py:2155
+msgid "_New Group Chat"
+msgstr "_Ny Gruppe Samtale"
+
+#: ../src/roster_window.py:2297
+msgid "I would like to add you to my roster"
+msgstr "Jeg vil gerne tilføje dig til mit kontaktvindue"
+
+#. Send Group Message
+#: ../src/roster_window.py:2431 ../src/roster_window.py:2643
+msgid "Send Group M_essage"
+msgstr "Send Gruppeb_esked"
+
+#: ../src/roster_window.py:2450
+msgid "_New group chat"
+msgstr "_Ny gruppe samtale"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2488
+msgid "_Manage Contacts"
+msgstr "_HÃ¥ndter Kontakter"
+
+#: ../src/roster_window.py:2549
+msgid "_Maximize"
+msgstr "_Maksimer"
+
+#: ../src/roster_window.py:2556
+msgid "_Disconnect"
+msgstr "Afbry_d tilslutningen"
+
+#: ../src/roster_window.py:2635
+msgid "_Maximize All"
+msgstr "_Maksimer alt"
+
+#: ../src/roster_window.py:2651
+msgid "To all users"
+msgstr "Til alle brugere"
+
+#: ../src/roster_window.py:2654
+msgid "To all online users"
+msgstr "Til alle brugere på net"
+
+#. Log Off
+#: ../src/roster_window.py:2771
+msgid "_Log off"
+msgstr "_Log af"
+
+#. Log on
+#: ../src/roster_window.py:2777
+msgid "_Log on"
+msgstr "_Log på"
+
+#. Send single message
+#: ../src/roster_window.py:2789
+msgid "Send Single Message"
+msgstr "Send Enkel Besked"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2836
+msgid "_Manage Transport"
+msgstr "HÃ¥_ndter Transport"
+
+#. Modify Transport
+#: ../src/roster_window.py:2844
+msgid "_Modify Transport"
+msgstr "_Modificer Transport"
+
+#: ../src/roster_window.py:2958 ../src/roster_window.py:3032
+msgid "_Change Status Message"
+msgstr "_Ændre Status Besked"
+
+#: ../src/roster_window.py:3104
+msgid "Authorization has been sent"
+msgstr "Godkendelse er blevet sendt"
+
+#: ../src/roster_window.py:3105
+#, python-format
+msgid "Now \"%s\" will know your status."
+msgstr "Nu vil %s vide din status."
+
+#: ../src/roster_window.py:3125
+msgid "Subscription request has been sent"
+msgstr "Forespørgsel på abonnering er blevet sendt"
+
+#: ../src/roster_window.py:3126
+#, python-format
+msgid "If \"%s\" accepts this request you will know his or her status."
+msgstr ""
+"Hvis %s accepterer denne forespørsel vil du kunne se hans eller hendes "
+"status."
+
+#: ../src/roster_window.py:3138
+msgid "Authorization has been removed"
+msgstr "Godkendelse er blevet fjernet"
+
+#: ../src/roster_window.py:3139
+#, python-format
+msgid "Now \"%s\" will always see you as offline."
+msgstr "Nu vil %s altid se dig som offline."
+
+#: ../src/roster_window.py:3337
+#, python-format
+msgid "Contact \"%s\" will be removed from your roster"
+msgstr "Kontakt %s vil blive fjernet fra dit kontaktvindue"
+
+#: ../src/roster_window.py:3341
+msgid ""
+"By removing this contact you also remove authorization resulting in him or "
+"her always seeing you as offline."
+msgstr ""
+"Ved at fjerne denne kontakt fjerner du også godkendelsen, så han eller hun "
+"vil altid se dig som offline."
+
+#: ../src/roster_window.py:3346
+msgid ""
+"By removing this contact you also by default remove authorization resulting "
+"in him or her always seeing you as offline."
+msgstr ""
+"Ved at fjerne denne kontakt fjerner du også samtidig godkendelsen, så han "
+"eller hun altid vil se dig som offline."
+
+#: ../src/roster_window.py:3349
+msgid "I want this contact to know my status after removal"
+msgstr "Jeg vil at denne kontakt kan se min status efter den er blevet fjernet"
+
+#. several contact to remove at the same time
+#: ../src/roster_window.py:3353
+msgid "Contacts will be removed from your roster"
+msgstr "Kontakter vil blive fjernet fra dit kontaktvindue"
+
+#: ../src/roster_window.py:3357
+#, python-format
+msgid ""
+"By removing these contacts:%s\n"
+"you also remove authorization resulting in them always seeing you as offline."
+msgstr ""
+"Ved at fjerne disse kontakter:%s\n"
+"fjerner du også godkendelsen, hvilket medfører at de altid vil se dig som "
+"offline."
+
+#: ../src/roster_window.py:3389
+msgid ""
+"Gnome Keyring is installed but not correctly started (environment variable "
+"probably not correctly set)"
+msgstr "Gnomes Nøglering er installeret men ikke startet korrekt (miljøvariabel er sandsynligvis ikke sat op rigtig)"
+
+#: ../src/roster_window.py:3416
+msgid "GPG is not usable"
+msgstr "GPG er ikke brugbar"
+
+#. %s is the account name here
+#: ../src/roster_window.py:3416 ../src/common/connection.py:684
+#: ../src/common/zeroconf/connection_zeroconf.py:165
+#, python-format
+msgid "You will be connected to %s without OpenPGP."
+msgstr "Du vil blive tilsluttet til %s uden OpenPGP."
+
+#: ../src/roster_window.py:3433
+msgid "Passphrase Required"
+msgstr "Adgangskode Påkrævet"
+
+#: ../src/roster_window.py:3434
+#, python-format
+msgid "Enter GPG key passphrase for account %s."
+msgstr "Indtast adgangskoden til GPG nøglen for konto %s."
+
+#: ../src/roster_window.py:3439
+msgid "Save passphrase"
+msgstr "Gem adgangskode"
+
+#: ../src/roster_window.py:3447
+msgid "Wrong Passphrase"
+msgstr "Forkert Adgangskode"
+
+#: ../src/roster_window.py:3448
+msgid "Please retype your GPG passphrase or press Cancel."
+msgstr "Indtast din GPG adgangskode igen eller annuller."
+
+#: ../src/roster_window.py:3531 ../src/roster_window.py:3608
+msgid "You are participating in one or more group chats"
+msgstr "Du deltager i en eller flere gruppesamtaler"
+
+#: ../src/roster_window.py:3532 ../src/roster_window.py:3609
+msgid ""
+"Changing your status to invisible will result in disconnection from those "
+"group chats. Are you sure you want to go invisible?"
+msgstr ""
+"Hvis du ændrer din status til usynlig vil det resultere i at du bliver "
+"frakoblet fra disse gruppesamtaler. Er du sikker på du vil gøre dig usynlig?"
+
+#: ../src/roster_window.py:3566
+msgid "No account available"
+msgstr "Ingen konto tilgængelig"
+
+#: ../src/roster_window.py:3567
+msgid "You must create an account before you can chat with other contacts."
+msgstr ""
+"Du må oprette en konto før du kan begynde en samtale med andre kontakter."
+
+#: ../src/roster_window.py:3695
+#, python-format
+msgid "\"%(title)s\" by %(artist)s"
+msgstr "\"%(title)s\" by %(artist)s"
+
+#: ../src/roster_window.py:4150 ../src/roster_window.py:4157
+msgid ""
+"Messages will only be available for reading them later if you have history "
+"enabled."
+msgstr "Beskeder vil kun kunne læses senere hvis du har aktiveret historik."
+
+#: ../src/roster_window.py:4781
+msgid "Metacontacts storage not supported by your server"
+msgstr "Metakontakt lagring er ikke understøttet af din server"
+
+#: ../src/roster_window.py:4783
+msgid ""
+"Your server does not support storing metacontacts information. So those "
+"information will not be save on next reconnection."
+msgstr ""
+"Din server understøtter ikke muligheden for at gemme metakontakt "
+"information. Så denne information vil ikke blive gemt til næste gang du "
+"tilslutter dig."
+
+#: ../src/roster_window.py:4829
+msgid ""
+"You are about to create a metacontact. Are you sure you want to continue?"
+msgstr "Du er ved at oprette en metakontakt. Er du sikker på du vil fortsætte?"
+
+#: ../src/roster_window.py:4831
+msgid ""
+"Metacontacts are a way to regroup several contacts in one line. Generally it "
+"is used when the same person has several Jabber accounts or transport "
+"accounts."
+msgstr ""
+"Metakontakter er en måde at gruppere flere kontakter på en linie. Oftest "
+"bruges det når den samme person har flere Jabber eller transport kontoer."
+
+#: ../src/roster_window.py:4929
+#, python-format
+msgid "Do you want to send that file to %s:"
+msgid_plural "Do you want to send those files to %s:"
+msgstr[0] "Vil du sende denne fil til %s:"
+msgstr[1] "Vil du sende disse filer til %s:"
+
+#: ../src/roster_window.py:5211
+msgid "Change Status Message..."
+msgstr "Ændre Status Besked..."
+
+#: ../src/search_window.py:86
+msgid "Waiting for results"
+msgstr "Venter på resultater"
+
+#: ../src/search_window.py:126 ../src/search_window.py:199
+msgid "Error in received dataform"
+msgstr "Fejl i modtaget dataform"
+
+#: ../src/search_window.py:160
+msgid "No result"
+msgstr "Intet resultat"
+
+#: ../src/systray.py:164
+msgid "_Change Status Message..."
+msgstr "_Ændre Status Besked..."
+
+#: ../src/systray.py:249
+msgid "Hide this menu"
+msgstr "Skjul denne menu"
+
+#: ../src/tooltips.py:310 ../src/tooltips.py:503
+msgid "Jabber ID: "
+msgstr "Jabber ID: "
+
+#: ../src/tooltips.py:313 ../src/tooltips.py:507
+msgid "Resource: "
+msgstr "Ressource: "
+
+#: ../src/tooltips.py:318
+#, python-format
+msgid "%(owner_or_admin_or_member)s of this group chat"
+msgstr "%(owner_or_admin_or_member)s af denne gruppe samtale"
+
+#: ../src/tooltips.py:416
+msgid " [blocked]"
+msgstr " [blokeret]"
+
+#: ../src/tooltips.py:420
+msgid " [minimized]"
+msgstr " [minimeret]"
+
+#: ../src/tooltips.py:435 ../src/tooltips.py:623
+msgid "Status: "
+msgstr "Status: "
+
+#: ../src/tooltips.py:465
+#, python-format
+msgid "Last status: %s"
+msgstr "Sidste status: %s"
+
+#: ../src/tooltips.py:467
+#, python-format
+msgid " since %s"
+msgstr " siden %s"
+
+#: ../src/tooltips.py:485
+msgid "Connected"
+msgstr "Tilsluttet"
+
+#: ../src/tooltips.py:487
+msgid "Disconnected"
+msgstr "Tilslutning afbrudt"
+
+#. ('both' is the normal sub so we don't show it)
+#: ../src/tooltips.py:514
+msgid "Subscription: "
+msgstr "Abonnering: "
+
+#: ../src/tooltips.py:524
+msgid "OpenPGP: "
+msgstr "OpenPGP: "
+
+#: ../src/tooltips.py:579
+msgid "Download"
+msgstr "Hent"
+
+#: ../src/tooltips.py:585
+msgid "Upload"
+msgstr "Send"
+
+#: ../src/tooltips.py:592
+msgid "Type: "
+msgstr "Type: "
+
+#: ../src/tooltips.py:598
+msgid "Transferred: "
+msgstr "Overført: "
+
+#: ../src/tooltips.py:601 ../src/tooltips.py:622
+msgid "Not started"
+msgstr "Ikke startet"
+
+#: ../src/tooltips.py:605
+msgid "Stopped"
+msgstr "Stoppet"
+
+#: ../src/tooltips.py:607 ../src/tooltips.py:610
+msgid "Completed"
+msgstr "Fuldført"
+
+#: ../src/tooltips.py:614
+msgid "?transfer status:Paused"
+msgstr "?transfer status:Midlertidig stoppet"
+
+#. stalled is not paused. it is like 'frozen' it stopped alone
+#: ../src/tooltips.py:618
+msgid "Stalled"
+msgstr "Hænger"
+
+#: ../src/tooltips.py:620
+msgid "Transferring"
+msgstr "Overfører"
+
+#: ../src/tooltips.py:652
+msgid "This service has not yet responded with detailed information"
+msgstr "Denne tjeneste har endnu ikke svaret med detaljeret information"
+
+#: ../src/tooltips.py:655
+msgid ""
+"This service could not respond with detailed information.\n"
+"It is most likely legacy or broken"
+msgstr ""
+"Denne tjeneste kunne ikke svare med detaljeret information.\n"
+"Den er højst sandsynlig ikke fungerende"
+
+#: ../src/vcard.py:240
+msgid "?Client:Unknown"
+msgstr "?Client:Ukendt"
+
+#: ../src/vcard.py:242
+msgid "?OS:Unknown"
+msgstr "?OS:Ukendt"
+
+#: ../src/vcard.py:267 ../src/vcard.py:277 ../src/vcard.py:467
+#, python-format
+msgid "since %s"
+msgstr "siden %s"
+
+#: ../src/vcard.py:306
+msgid "Affiliation:"
+msgstr "Tilknytning:"
+
+#: ../src/vcard.py:314
+msgid ""
+"This contact is interested in your presence information, but you are not "
+"interested in his/her presence"
+msgstr ""
+"Denne kontakt er interesseret i din tilstedeværelses information, men du er "
+"ikke interesseret i hans/hendes tilstedeværelse"
+
+#: ../src/vcard.py:316
+msgid ""
+"You are interested in the contact's presence information, but he/she is not "
+"interested in yours"
+msgstr ""
+"Du er interesseret i kontaktens tilstedeværelses information, men han/hun er "
+"ikke interesseret i din"
+
+#: ../src/vcard.py:318
+msgid "You and the contact are interested in each other's presence information"
+msgstr ""
+"Du og kontakten er begge interessered i hinandens tilstedeværelses "
+"information"
+
+#. None
+#: ../src/vcard.py:320
+msgid ""
+"You are not interested in the contact's presence, and neither he/she is "
+"interested in yours"
+msgstr ""
+"Du er ikke interesseret i kontaktens tilstedeværelse, og han/hun er ikke "
+"interesseret i din"
+
+#: ../src/vcard.py:328
+msgid "You are waiting contact's answer about your subscription request"
+msgstr "Du venter på kontaktens svar om din abonnements forespørsel"
+
+#: ../src/vcard.py:332 ../src/vcard.py:369 ../src/vcard.py:492
+msgid " resource with priority "
+msgstr " ressource med prioritet "
+
+#: ../src/common/check_paths.py:33
+msgid "creating logs database"
+msgstr "opretter log database"
+
+#: ../src/common/check_paths.py:96 ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:114
+#, python-format
+msgid "%s is a file but it should be a directory"
+msgstr "%s er en fil, men burde være et katalog"
+
+#: ../src/common/check_paths.py:97 ../src/common/check_paths.py:108
+#: ../src/common/check_paths.py:115 ../src/common/check_paths.py:123
+msgid "Gajim will now exit"
+msgstr "Gajim vil nu slutte"
+
+#: ../src/common/check_paths.py:122
+#, python-format
+msgid "%s is a directory but should be a file"
+msgstr "%s er et katalog men burde være en fil"
+
+#: ../src/common/check_paths.py:138
+#, python-format
+msgid "creating %s directory"
+msgstr "opretter %s katalog"
+
+#: ../src/common/commands.py:69
+msgid "Change status information"
+msgstr "Ændre status information"
+
+#: ../src/common/commands.py:82
+msgid "Change status"
+msgstr "Ændre status"
+
+#: ../src/common/commands.py:83
+msgid "Set the presence type and description"
+msgstr "Sæt tilstedeværelses type og beskrivelse"
+
+#: ../src/common/commands.py:89
+msgid "Free for chat"
+msgstr "Ã…ben for samtaler"
+
+#: ../src/common/commands.py:90
+msgid "Online"
+msgstr "Online"
+
+#: ../src/common/commands.py:92
+msgid "Extended away"
+msgstr "Udvidet borte"
+
+#: ../src/common/commands.py:93
+msgid "Do not disturb"
+msgstr "Forstyr ikke"
+
+#: ../src/common/commands.py:94
+msgid "Offline - disconnect"
+msgstr "Ofline - ikke tilsluttet"
+
+#: ../src/common/commands.py:99
+msgid "Presence description:"
+msgstr "Tilstedeværelses beskrivelse:"
+
+#: ../src/common/commands.py:134
+msgid "The status has been changed."
+msgstr "Din status er blevet ændret."
+
+#: ../src/common/commands.py:179
+#, python-format
+msgid "%(nickname)s on %(room_jid)s"
+msgstr "%(nickname)s i %(room_jid)s"
+
+#: ../src/common/commands.py:183
+msgid "You have not joined a groupchat."
+msgstr "Du detlager ikke i en gruppesamtale."
+
+#: ../src/common/commands.py:189
+msgid "Leave Groupchats"
+msgstr "Forlad Gruppesamtaler"
+
+#: ../src/common/commands.py:190
+msgid "Choose the groupchats you want to leave"
+msgstr "Vælg de gruppesamtaler du vil forlade"
+
+#: ../src/common/commands.py:230
+msgid "You left the following groupchats:"
+msgstr "Du forlod de følgende gruppesamtaler:"
+
+#: ../src/common/commands.py:242
+msgid "Forward unread messages"
+msgstr "Videresend ulæste beskeder"
+
+#: ../src/common/commands.py:262
+msgid "All unread messages have been forwarded."
+msgstr "Alle ulæste beskeder er blevet videresendt."
+
+#: ../src/common/config.py:58
+msgid "Use D-Bus and Notification-Daemon to show notifications"
+msgstr "Brug D-Bus og Påmindelses-dæmonen (Notification-Daemon) til at vise påmindelser"
+
+#: ../src/common/config.py:63
+msgid "Time in minutes, after which your status changes to away."
+msgstr "Tid i minutter før din status ændres til borte."
+
+#: ../src/common/config.py:64
+msgid "Away as a result of being idle"
+msgstr "Borte som et resultat af tomgang"
+
+#: ../src/common/config.py:66
+msgid "Time in minutes, after which your status changes to not available."
+msgstr "Tid i minutter før din status ændres til ikke tilgængelig."
+
+#: ../src/common/config.py:67
+msgid "Not available as a result of being idle"
+msgstr "Ikke tilgængelig som et resultat af tomgang"
+
+#: ../src/common/config.py:85
+msgid ""
+"List (space separated) of rows (accounts and groups) that are collapsed."
+msgstr ""
+"Liste (separeret med mellemrum) af rækker (kontoer og grupper) som er "
+"kollapset."
+
+#: ../src/common/config.py:90
+msgid "Enable link-local/zeroconf messaging"
+msgstr "Aktiver link-local/zeroconf beskeder"
+
+#: ../src/common/config.py:93
+msgid "Language used by speller"
+msgstr "Sprog brugt af stavelseskontrollen"
+
+#: ../src/common/config.py:94
+msgid ""
+"'always' - print time for every message.\n"
+"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
+"'never' - never print time."
+msgstr ""
+"'altid' - skriv tid for hver besked.\n"
+"'nogen ganger' - skriv tid for hver print_ichat_every_foo_minutes minutter.\n"
+"'aldrig' - skriv aldrig tiden."
+
+#: ../src/common/config.py:95
+msgid ""
+"Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
+"to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
+"This is used only if print_time is 'sometimes'."
+msgstr ""
+"Print tiden i samtaler med en upræcis klokke. Værdien for hvor upræcis "
+"klokken skal være kan rangere fra 1 til 4, eller 0 for at deaktivere den "
+"upræcise klokke. 1 er den mest præcise klokke, 4 den mindst præcise. Dette "
+"bruges kun hvis print_time er 'nogen ganger'."
+
+#: ../src/common/config.py:98
+msgid "Treat * / _ pairs as possible formatting characters."
+msgstr "Behandle * / _ par som mulige formaterings tegn."
+
+#: ../src/common/config.py:99
+msgid ""
+"If True, do not remove */_ . So *abc* will be bold but with * * not removed."
+msgstr ""
+"Hvis sandt, ikke fjern */_. SÃ¥ledes at *abc* bliver skrevet med fed skrift "
+"men * * bliver ikke fjernet."
+
+#: ../src/common/config.py:102
+msgid ""
+"Uses ReStructured text markup to send HTML, plus ascii formatting if "
+"selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
+"restructuredtext.html (If you want to use this, install docutils)"
+msgstr ""
+"Bruger ReStruktureret tekst redigering til at sende HTML, plus ascii "
+"formatering hvis valgt. For syntaks, se http://docutils.sourceforge.net/docs/"
+"ref/rst/restructuredtext.html (Hvis du vil bruge dette, installer docutils)"
+
+#: ../src/common/config.py:111
+msgid ""
+"Character to add after nickname when using nick completion (tab) in group "
+"chat."
+msgstr ""
+"Tegn som tilføjes efter kælenavn når der bruges kælenavnsfuldførelse (tab) i "
+"en gruppesamtale."
+
+#: ../src/common/config.py:112
+msgid ""
+"Character to propose to add after desired nickname when desired nickname is "
+"used by someone else in group chat."
+msgstr ""
+"Tegnforslag til at tilføje efter det ønskede kælenavn, når det ønskede "
+"kælenavn er i brug af en anden i gruppesamtalen."
+
+#: ../src/common/config.py:135
+msgid ""
+"This option let you customize timestamp that is printed in conversation. For "
+"exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
+"strftime for full documentation: http://docs.python.org/lib/module-time.html"
+msgstr ""
+"Denne valgmulighed giver dig muligheden for at tilpasse hvordan "
+"klokkeslettet bliver skrevet i en samtale. For eksempel [%H:%M] vil vise "
+"[timer:minutter]. Se python dokumentationen for strftime: http://docs.python."
+"org/lib/module-time.html"
+
+#: ../src/common/config.py:136
+msgid "Characters that are printed before the nickname in conversations"
+msgstr "Tegn som bliver skrevet før kælenavnet i samtaler"
+
+#: ../src/common/config.py:137
+msgid "Characters that are printed after the nickname in conversations"
+msgstr "Tegn som bliver skrevet efter kælenavnet i samtaler"
+
+#: ../src/common/config.py:144
+msgid "Add * and [n] in roster title?"
+msgstr "Tilføj * og [n] i tittelen på kontaktvinduet?"
+
+#: ../src/common/config.py:145
+msgid ""
+"How many lines to remember from previous conversation when a chat tab/window "
+"is reopened."
+msgstr "Hvor mange linjer skal huskes fra forrige samtale når et samtale vindue/faneblad genåbnes."
+
+#: ../src/common/config.py:146
+msgid "How many minutes should last lines from previous conversation last."
+msgstr "Hvor mange minutter skal sidste linjer fra forrige samtale vare."
+
+#: ../src/common/config.py:147
+msgid ""
+"Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
+"Client default behaviour)."
+msgstr ""
+"Send besked med Ctrl+Enter og lave en ny linie med Enter (standard Mirabilis "
+"ICQ klient adfærd)."
+
+#: ../src/common/config.py:149
+msgid "How many lines to store for Ctrl+KeyUP."
+msgstr "Hvor mange linjer skal gemmes for Ctrl+KeyUP."
+
+#: ../src/common/config.py:152
+#, python-format
+msgid ""
+"Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' "
+"which means use wiktionary."
+msgstr ""
+"Enten en tilpasset url som indeholder %s hvor %s er ordet/frasen, eller "
+"'WIKTIONARY' som betyder brug wiktionary."
+
+#: ../src/common/config.py:155
+msgid "If checked, Gajim can be controlled remotely using gajim-remote."
+msgstr ""
+"Hvis valgt kan Gajim blive kontrolleret eksternt ved hjælp af gajim-remote."
+
+#: ../src/common/config.py:156
+msgid ""
+"If True, listen to D-Bus signals from NetworkManager and change the status "
+"of accounts (provided they do not have listen_to_network_manager set to "
+"False and they sync with global status) based upon the status of the network "
+"connection."
+msgstr ""
+"Hvis Sandt, lyt til D-Bus signaler fra NetworkManager og ændre status på "
+"kontoer (forudsat at de ikke har listen_to_network_manager sat til Falsk og "
+"de synkroniserer med global status) baseret på status af "
+"netværksforbindelsen."
+
+#: ../src/common/config.py:157
+msgid ""
+"Sent chat state notifications. Can be one of all, composing_only, disabled."
+msgstr ""
+"Send samtale status påmindelser. Kan være en af disse: all, composing_only, "
+"disabled."
+
+#: ../src/common/config.py:158
+msgid ""
+"Displayed chat state notifications in chat windows. Can be one of all, "
+"composing_only, disabled."
+msgstr ""
+"Vis samtale status påmindelser i samtale vinduer. Kan være en af disse: all, "
+"composing_only, disabled."
+
+#: ../src/common/config.py:160
+msgid ""
+"When not printing time for every message (print_time==sometimes), print it "
+"every x minutes."
+msgstr ""
+"NÃ¥r der ikke skrives tid for hver besked (print_time==sometimes), skriv "
+"tiden for hver x minutter."
+
+#: ../src/common/config.py:161
+msgid "Ask before closing a group chat tab/window."
+msgstr "Spørg før et gruppesamtale vindue/faneblad lukkes."
+
+#: ../src/common/config.py:162
+msgid ""
+"Always ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Altid spørg før et gruppesamtale vindue/faneblad lukkes, hvis den findes i "
+"denne mellemrums separerede liste af gruppesamtale jids."
+
+#: ../src/common/config.py:163
+msgid ""
+"Never ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Aldrig spørg før et gruppesamtale vindue/faneblad lukkes, hvis den findes i "
+"denne mellemrums separerede liste af gruppesamtale jids."
+
+#: ../src/common/config.py:166
+msgid ""
+"Comma separated list of hosts that we send, in addition of local interfaces, "
+"for File Transfer in case of address translation/port forwarding."
+msgstr "Komma separeret liste af værter som vi sender, i tillæg til lokale grænseflader, for filoverførsler i tilfælde af adresse omskrivning/port videresending."
+
+#: ../src/common/config.py:168
+msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
+msgstr "IEC standard siger KiB = 1024 byte, KB = 1000 byte."
+
+#: ../src/common/config.py:170
+msgid "Notify of events in the system trayicon."
+msgstr "Vis påmindelse af hændelser i statusfelt ikonet."
+
+#: ../src/common/config.py:176
+msgid "Show tab when only one conversation?"
+msgstr "Vis et faneblad når der kun er en samtale?"
+
+#: ../src/common/config.py:177
+msgid "Show tabbed notebook border in chat windows?"
+msgstr "Vis faneblade i samtalevinduer?"
+
+#: ../src/common/config.py:178
+msgid "Show close button in tab?"
+msgstr "Vis lukke knap i faneblad?"
+
+#: ../src/common/config.py:179
+msgid ""
+"When negotiating an encrypted session, should Gajim assume you want your "
+"messages to be logged?"
+msgstr "Ved forhandling af en krypteret session, skal Gajim da antage at du vil have dine beskeder logget?"
+
+#: ../src/common/config.py:188
+msgid "Preview new messages in notification popup?"
+msgstr "Forhåndsvis nye beskeder i et påmindelses pop op vinduer?"
+
+#: ../src/common/config.py:193
+msgid ""
+"A semicolon-separated list of words that will be highlighted in group chats."
+msgstr ""
+"En semikolon-separeret liste af ord som vil blive fremhævet i gruppesamtaler."
+
+#: ../src/common/config.py:194
+msgid ""
+"If True, quits Gajim when X button of Window Manager is clicked. This "
+"setting is taken into account only if trayicon is used."
+msgstr "Hvis Sandt, lukker Gajim når X knappen fra vindueshåndteringen klikkes. Denne indstilling tages der kun hensyn til hvis et statusfelt ikon bruges."
+
+#: ../src/common/config.py:195
+msgid ""
+"If True, Gajim will check if it's the default jabber client on each startup."
+msgstr ""
+"Hvis Sandt, vil Gajim kontrollere om den er standard jabber klient ved hver "
+"opstart."
+
+#: ../src/common/config.py:196
+msgid ""
+"If True, Gajim will display an icon on each tab containing unread messages. "
+"Depending on the theme, this icon may be animated."
+msgstr ""
+"Hvis Sandt, vil Gajim vise et ikon på hvert faneblad som indeholder ulæste "
+"beskeder. Afhængig af temaet, kan dette ikon være animeret."
+
+#: ../src/common/config.py:197
+msgid ""
+"If True, Gajim will display the status message, if not empty, for every "
+"contact under the contact name in roster window."
+msgstr ""
+"Hvis Sandt, vil Gajim vise status beskeder, hvis ikke tomme, for hver "
+"kontakt under kontaktnavnet i kontaktvinduet."
+
+#: ../src/common/config.py:199
+msgid ""
+"If True, Gajim will ask for avatar each contact that did not have an avatar "
+"last time or has one cached that is too old."
+msgstr ""
+"Hvis Sandt, vil Gajim spørge for en avatar for hver kontakt som ikke havde "
+"en avatar sidste gang eller har en gemt som er for gammel."
+
+#: ../src/common/config.py:200
+msgid ""
+"If False, Gajim will no longer print status line in chats when a contact "
+"changes his or her status and/or his or her status message."
+msgstr "Hvis Falsk, vil Gajim ikke længere skrive statuslinjer i samtaler når en kontakt ændrer hans eller hendes status og/eller hans eller hendes status besked."
+
+#: ../src/common/config.py:201
+msgid ""
+"can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
+"longer print status line in groupchats when a member changes his or her "
+"status and/or his or her status message. If \"all\" Gajim will print all "
+"status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves "
+"group chat."
+msgstr ""
+"kan være \"none\", \"all\" eller \"in_and_out\". Hvis \"nono\" vil Gajim "
+"ikke længere skrive statuslinier i gruppesamtaler når et medlem ændrer hans "
+"eller hendes status og/eller hans eller hendes status besked. Hvis \"all\" "
+"vil Gajim skrive alle status beskeder. Hvis \"in_and_out\" vil Gajim kun "
+"skrive FOO kommer/forlader gruppesamtalen."
+
+#: ../src/common/config.py:203
+msgid "Background color of contacts when they just signed in."
+msgstr "Baggrundsfarve på kontakter når de netop har tilsluttet sig."
+
+#: ../src/common/config.py:204
+msgid "Background color of contacts when they just signed out."
+msgstr "Baggrundsfarve på kontakter når de netop har afbrudt tilslutningen."
+
+#: ../src/common/config.py:206
+msgid ""
+"If True, restored messages will use a smaller font than the default one."
+msgstr ""
+"Hvis Sandt vil gamle beskeder fra forrige samtale bruge en mindre skrifttype "
+"end den som er standard."
+
+#: ../src/common/config.py:207
+msgid "Don't show avatar for the transport itself."
+msgstr "Ikke vis en avatar for selve transporten."
+
+#: ../src/common/config.py:208
+msgid "Don't show roster in the system taskbar."
+msgstr "Ikke hvis kontaktvindue i vindueslisten."
+
+#: ../src/common/config.py:209
+msgid ""
+"If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
+"window flash (the default behaviour in most Window Managers) when holding "
+"pending events."
+msgstr "Hvis Sandt og GTK+ og PyGTK installerede versioner er mindst 2.8, blink med vinduet (standard adfærd i de fleste vindueshåndterere) når det indeholder ventende begivenheder."
+
+#: ../src/common/config.py:211
+msgid ""
+"Jabberd1.4 does not like sha info when one join a password protected group "
+"chat. Turn this option to False to stop sending sha info in group chat "
+"presences."
+msgstr ""
+"Jabberd1.4 kan ikke lide sha information når man deltager i en adgangskode "
+"beskyttet gruppesamtale. Sæt dette valg til Falsk for at stoppe med at sende "
+"sha information i gruppesamtaler."
+
+#. always, never, peracct, pertype should not be translated
+#: ../src/common/config.py:214
+msgid ""
+"Controls the window where new messages are placed.\n"
+"'always' - All messages are sent to a single window.\n"
+"'never' - All messages get their own window.\n"
+"'peracct' - Messages for each account are sent to a specific window.\n"
+"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a "
+"specific window. Note, changing this option requires restarting Gajim before "
+"the changes will take effect."
+msgstr ""
+"Kontrollerer vinduet hvor nye beskeder er placeret.\n"
+"'always' - Alle beskeder bliver vist i et enkelt vindue.\n"
+"'never' - Alle beskeder får deres eget vindue.\n"
+"'peracct' - Beskeder for den enkelte konto bliver sendt til specifikke "
+"vinduer.\n"
+"'pertype' - Hver besked type (for eks. samtaler versus gruppesamtaler) "
+"bliver sendt til et specifikt vindue. Note, ved ændring af denne indstilling "
+"kræves en genstart af Gajim før ændringen tager effekt."
+
+#: ../src/common/config.py:215
+msgid "If False, you will no longer see the avatar in the chat window."
+msgstr "Hvis Falsk vil du ikke længere se en avatar i samtale vinduet."
+
+#: ../src/common/config.py:216
+msgid "If True, pressing the escape key closes a tab/window."
+msgstr "Hvis Sandt vil tryk på escape tasten lukke et vindue/faneblad."
+
+#: ../src/common/config.py:217
+msgid "Hides the buttons in chat windows."
+msgstr "Skjuler knapperne i samtale vinduer."
+
+#: ../src/common/config.py:218
+msgid "Hides the banner in a group chat window"
+msgstr "Skjuler banneret i et gruppesamtale vindue"
+
+#: ../src/common/config.py:219
+msgid "Hides the banner in two persons chat window"
+msgstr "Skjuler banneret i et to personers samtalevindue"
+
+#: ../src/common/config.py:220
+msgid "Hides the group chat occupants list in group chat window."
+msgstr "Skjuler gruppesamtale deltagerlisten i gruppesamtale vinduer."
+
+#: ../src/common/config.py:221
+msgid ""
+"In a chat, show the nickname at the beginning of a line only when it's not "
+"the same person talking than in previous message."
+msgstr ""
+"I en samtale, vis kælenavn i begyndelsen af en linie kun når det ikke er den "
+"samme person som snakker som i forrige besked."
+
+#: ../src/common/config.py:222
+msgid "Indentation when using merge consecutive nickname."
+msgstr "Indrykning når man fletter ens kælenavne."
+
+#: ../src/common/config.py:223
+msgid "Smooth scroll message in conversation window"
+msgstr "Udglattet rulning af beskeder i samtale vinduet"
+
+#: ../src/common/config.py:224
+msgid "List of colors that will be used to color nicknames in group chats."
+msgstr ""
+"Liste af farver som vil blive brugt til at farve kælenavne i gruppesamtaler."
+
+#: ../src/common/config.py:225
+msgid "Ctrl-Tab go to next composing tab when none is unread."
+msgstr "Ctrl-Tab gå til næste faneblad når ingen er ulæste."
+
+#: ../src/common/config.py:226
+msgid ""
+"Should we show the confirm metacontacts creation dialog or not? Empty string "
+"means we never show the dialog."
+msgstr ""
+"Skal vi vise bekræftelses vinduet for oprettelse af metakontakter? Tom "
+"streng betyder at vi aldrig viser vinduet."
+
+#: ../src/common/config.py:227
+msgid ""
+"If True, you will be able to set a negative priority to your account in "
+"account modification window. BE CAREFUL, when you are logged in with a "
+"negative priority, you will NOT receive any message from your server."
+msgstr ""
+"Hvis Sandt vil du være i stand til at sætte en negativ prioritet til din "
+"konto i kontoændrings vinduet. VÆR FORSIGTIG, når du er logget med en "
+"negativ prioritet vil du IKKE modtage nogen beskeder fra din server."
+
+#: ../src/common/config.py:228
+msgid ""
+"If True, Gajim will use Gnome Keyring (if available) to store account "
+"passwords."
+msgstr ""
+"Hvis Sandt vil Gajim bruge Gnome Nøglering (hvis tilgængelig) til at gemme "
+"konto adgangskoder."
+
+#: ../src/common/config.py:229
+msgid ""
+"If True, Gajim will show number of online and total contacts in account and "
+"group rows."
+msgstr ""
+"Hvis Sandt vil Gajim vise antallet af online og totale kontakter i konto og "
+"gruppe rækker."
+
+#: ../src/common/config.py:230
+msgid ""
+"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
+"as if they were of this type"
+msgstr ""
+"Kan være tom, 'chat' eller 'normal'. Hvis ikke tom, behandl alle indkommende "
+"beskeder som om de var af denne type"
+
+#: ../src/common/config.py:231
+msgid ""
+"If True, Gajim will scroll and select the contact who sent you the last "
+"message, if chat window is not already opened."
+msgstr ""
+"Hvis Sandt vil Gajim rulle ned/op og vælge den kontakt som sendte dig den "
+"sidste besked, hvis ikke allerede kontaktvinduet er åbent."
+
+#: ../src/common/config.py:232
+msgid ""
+"If True, Gajim will convert string between $$ and $$ to an image using dvips "
+"and convert before insterting it in chat window."
+msgstr ""
+"Hvis Sandt vil Gajim omdanne strengen mellem $$ og $$ til et billede med "
+"dvips og omdanne det inden det bliver sat ind i et samtale vindue."
+
+#: ../src/common/config.py:233
+msgid "Time of inactivity needed before the change status window closes down."
+msgstr "Tid med inaktivitet der skal gå før vinduet til at ændre status lukkes."
+
+#: ../src/common/config.py:234
+msgid ""
+"Maximum number of lines that are printed in conversations. Oldest lines are "
+"cleared."
+msgstr "Maksimum antal linjer som bliver skrevet i samtaler. De ældste linjer bliver slettet."
+
+#: ../src/common/config.py:245
+msgid ""
+"Priority will change automatically according to your status. Priorities are "
+"defined in autopriority_* options."
+msgstr ""
+"Prioriteten vil ændres automatisk ifølge din status. Prioriteter er "
+"defineret i autopriority_* indstillingerne."
+
+#. yes, no, ask
+#: ../src/common/config.py:275
+msgid "Jabberd2 workaround"
+msgstr "Jabberd2 tilpasning"
+
+#: ../src/common/config.py:279
+msgid ""
+"If checked, Gajim will use your IP and proxies defined in "
+"file_transfer_proxies option for file transfer."
+msgstr ""
+"Hvis valgt vil Gajim bruge din IP og proxy defineret i file_transfer_proxies "
+"indstillingen for filoverførsler."
+
+#: ../src/common/config.py:338
+msgid "Is OpenPGP enabled for this contact?"
+msgstr "Er OpenPGP aktiveret for denne kontakt?"
+
+#: ../src/common/config.py:339 ../src/common/config.py:342
+msgid "Language for which we want to check misspelled words"
+msgstr "Sprog som vi vil bruge til at kontrollere for stavefejl"
+
+#: ../src/common/config.py:348
+msgid "all or space separated status"
+msgstr "alt eller mellemrums separeret status"
+
+#: ../src/common/config.py:349
+msgid "'yes', 'no', or 'both'"
+msgstr "'ja', 'nej', eller 'begge'"
+
+#: ../src/common/config.py:350 ../src/common/config.py:352
+#: ../src/common/config.py:353 ../src/common/config.py:356
+#: ../src/common/config.py:357
+msgid "'yes', 'no' or ''"
+msgstr "'ja', 'nej' eller ''"
+
+#: ../src/common/config.py:363
+msgid "Sleeping"
+msgstr "Sover"
+
+#: ../src/common/config.py:364
+msgid "Back soon"
+msgstr "Snart tilbage"
+
+#: ../src/common/config.py:364
+msgid "Back in some minutes."
+msgstr "Tilbage om få minutter."
+
+#: ../src/common/config.py:365
+msgid "Eating"
+msgstr "Spiser"
+
+#: ../src/common/config.py:365
+msgid "I'm eating, so leave me a message."
+msgstr "Jeg spiser, så læg en besked."
+
+#: ../src/common/config.py:366
+msgid "Movie"
+msgstr "Film"
+
+#: ../src/common/config.py:366
+msgid "I'm watching a movie."
+msgstr "Jeg ser en film."
+
+#: ../src/common/config.py:367
+msgid "Working"
+msgstr "Arbejder"
+
+#: ../src/common/config.py:367
+msgid "I'm working."
+msgstr "Jeg arbejder."
+
+#: ../src/common/config.py:368
+msgid "Phone"
+msgstr "Telefon"
+
+#: ../src/common/config.py:368
+msgid "I'm on the phone."
+msgstr "Jeg snakker i telefon."
+
+#: ../src/common/config.py:369
+msgid "Out"
+msgstr "Ude"
+
+#: ../src/common/config.py:369
+msgid "I'm out enjoying life."
+msgstr "Jeg er ude og nyder livet."
+
+#: ../src/common/config.py:373
+msgid "I'm available."
+msgstr "Jeg er tilgængelig."
+
+#: ../src/common/config.py:374
+msgid "I'm free for chat."
+msgstr "Jeg er tilgængelig for en samtale."
+
+#: ../src/common/config.py:376
+msgid "I'm not available."
+msgstr "Jeg er ikke tilgængelig."
+
+#: ../src/common/config.py:377
+msgid "Do not disturb."
+msgstr "Ikke forstyr."
+
+#: ../src/common/config.py:378 ../src/common/config.py:379
+msgid "Bye!"
+msgstr "Farvel!"
+
+#: ../src/common/config.py:388
+msgid ""
+"Sound to play when a group chat message contains one of the words in "
+"muc_highlight_words, or when a group chat message contains your nickname."
+msgstr ""
+"Lyd som spilles når en gruppesamtale besked indeholder en af følgende ord i "
+"muc_highlight_words, eller når en gruppesamtale besked indeholder dit "
+"kælenavn."
+
+#: ../src/common/config.py:389
+msgid "Sound to play when any MUC message arrives."
+msgstr "Lyd som spilles når en hvilken som helst MUC besked ankommer."
+
+#: ../src/common/config.py:398 ../src/common/optparser.py:208
+msgid "green"
+msgstr "grøn"
+
+#: ../src/common/config.py:402 ../src/common/optparser.py:194
+msgid "grocery"
+msgstr "købmandsvarer"
+
+#: ../src/common/config.py:406
+msgid "human"
+msgstr "menneske"
+
+#: ../src/common/config.py:410
+msgid "marine"
+msgstr "marint"
+
+#: ../src/common/connection_handlers.py:56
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:44
+msgid "Unable to load idle module"
+msgstr "Ikke i stand til at indlæse tomgangs modulet"
+
+#: ../src/common/connection_handlers.py:184
+#: ../src/common/connection_handlers.py:219
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+msgid "Wrong host"
+msgstr "Forkert vært"
+
+#: ../src/common/connection_handlers.py:184
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+#, python-format
+msgid ""
+"The host %s you configured as the ft_add_hosts_to_send advanced option is "
+"not valid, so ignored."
+msgstr ""
+"Værten %s du konfigurerte i ft_add_hosts_to_send avancerte indstillinger er "
+"ikke gyldig, så den bliver ignoreret."
+
+#: ../src/common/connection_handlers.py:220
+msgid "Invalid local address? :-O"
+msgstr "Invalid local address? :-O"
+
+#: ../src/common/connection_handlers.py:612
+#, python-format
+msgid "Registration information for transport %s has not arrived in time"
+msgstr "Registrerings information for transporten %s har ikke ankommet i tide"
+
+#: ../src/common/connection_handlers.py:1776
+#, python-format
+msgid "Nickname not allowed: %s"
+msgstr "Kælenavn er ikke tilladt: %s"
+
+#. we are banned
+#. group chat does not exist
+#: ../src/common/connection_handlers.py:1846
+#: ../src/common/connection_handlers.py:1849
+#: ../src/common/connection_handlers.py:1852
+#: ../src/common/connection_handlers.py:1855
+#: ../src/common/connection_handlers.py:1859
+#: ../src/common/connection_handlers.py:1868
+msgid "Unable to join group chat"
+msgstr "Ikke i stand til at deltage i gruppesamtale."
+
+#: ../src/common/connection_handlers.py:1847
+#, python-format
+msgid "You are banned from group chat %s."
+msgstr "Du er bandlyst fra gruppesamtalen %s."
+
+#: ../src/common/connection_handlers.py:1850
+#, python-format
+msgid "Group chat %s does not exist."
+msgstr "Gruppesamtalen %s eksisterer ikke."
+
+#: ../src/common/connection_handlers.py:1853
+msgid "Group chat creation is restricted."
+msgstr "Gruppesamtale oprettelse er begrænset."
+
+#: ../src/common/connection_handlers.py:1856
+#, python-format
+msgid "Your registered nickname must be used in group chat %s."
+msgstr "Dit registrerede kælenavn skal bruges i gruppesamtalen %s."
+
+#: ../src/common/connection_handlers.py:1860
+#, python-format
+msgid "You are not in the members list in groupchat %s."
+msgstr "Du er ikke i medlemslisten for gruppesamtalen %s."
+
+#: ../src/common/connection_handlers.py:1869
+#, python-format
+msgid ""
+"Your desired nickname in group chat %s is in use or registered by another "
+"occupant.\n"
+"Please specify another nickname below:"
+msgstr ""
+"Dit ønskede kælenavn i gruppesamtalen %s er i brug eller registreret af en anden indehaver.\n"
+"Specificer venligst et andet kælenavn under:"
+
+#. Room has been destroyed. see
+#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom
+#: ../src/common/connection_handlers.py:1900
+msgid "Room has been destroyed"
+msgstr "Rummet er blevet ødelagt"
+
+#: ../src/common/connection_handlers.py:1907
+#, python-format
+msgid "You can join this room instead: %s"
+msgstr "Du kan deltage i dette rum i stedet: %s"
+
+#: ../src/common/connection_handlers.py:1934
+msgid "I would like to add you to my roster."
+msgstr "Jeg vil gerne tilføje dig til min kontaktliste."
+
+#. BE CAREFUL: no con.updateRosterItem() in a callback
+#: ../src/common/connection_handlers.py:1955
+#, python-format
+msgid "we are now subscribed to %s"
+msgstr "vi abonnerer nu på %s"
+
+#: ../src/common/connection_handlers.py:1957
+#, python-format
+msgid "unsubscribe request from %s"
+msgstr "forespørsel om ophør på abonnement fra %s"
+
+#: ../src/common/connection_handlers.py:1959
+#, python-format
+msgid "we are now unsubscribed from %s"
+msgstr "nu abonnerer vi ikke længere på %s"
+
+#: ../src/common/connection_handlers.py:2081
+#, python-format
+msgid ""
+"JID %s is not RFC compliant. It will not be added to your roster. Use roster "
+"management tools such as http://jru.jabberstudio.org/ to remove it"
+msgstr ""
+"JID %s er ikke RFC føjelig. Den vil ikke blive tilføjet til dit "
+"kontaktvindue. Brug kontaktvindue håndterings redskaber som http://jru."
+"jabberstudio.org/ til at fjerne det."
+
+#: ../src/common/connection.py:244
+#: ../src/common/zeroconf/connection_zeroconf.py:203
+#, python-format
+msgid "Connection with account \"%s\" has been lost"
+msgstr "Tilslutning til konto \"%s\" er blevet afbrudt"
+
+#: ../src/common/connection.py:245
+msgid "Reconnect manually."
+msgstr "Tilslut manuelt."
+
+#: ../src/common/connection.py:256
+#, python-format
+msgid "Server %s answered wrongly to register request: %s"
+msgstr "Server %s svarede forkert på indskrivnings forespørgslen: %s"
+
+#. wrong answer
+#: ../src/common/connection.py:264
+msgid "Invalid answer"
+msgstr "Forkert svar"
+
+#: ../src/common/connection.py:265
+#, python-format
+msgid "Transport %s answered wrongly to register request: %s"
+msgstr "Transport %s svarede forkert på indskrivnings forespørgslen: %s"
+
+#: ../src/common/connection.py:411
+msgid "Connection to proxy failed"
+msgstr "Tilslutning til proxy fejlede"
+
+#: ../src/common/connection.py:465 ../src/common/connection.py:511
+#: ../src/common/connection.py:1067
+#: ../src/common/zeroconf/connection_zeroconf.py:237
+#, python-format
+msgid "Could not connect to \"%s\""
+msgstr "Kunne ikke tilslutte til \"%s\""
+
+#: ../src/common/connection.py:479
+#, python-format
+msgid "Connected to server %s:%s with %s"
+msgstr "Tilsluttet til server %s:%s med %s"
+
+#: ../src/common/connection.py:512
+msgid "Check your connection or try again later"
+msgstr "Kontroller din tilslutning eller prøv igen senere"
+
+#: ../src/common/connection.py:537
+#, python-format
+msgid "Authentication failed with \"%s\""
+msgstr "Godkendelse fejlede med \"%s\""
+
+#: ../src/common/connection.py:538
+msgid "Please check your login and password for correctness."
+msgstr "Venligst kontroller om dit logind og adgangskode er korrekt."
+
+#: ../src/common/connection.py:581
+msgid "Error while removing privacy list"
+msgstr "Fejl under fjernelse af privatlivs liste"
+
+#: ../src/common/connection.py:582
+#, python-format
+msgid ""
+"Privacy list %s has not been removed. It is maybe active in one of your "
+"connected resources. Deactivate it and try again."
+msgstr "Privatlivs liste %s er ikke blevet fjernet. Den er måske aktiv i en af dine tilsluttede ressourcer. Deaktivér den og prøv igen."
+
+#. We didn't set a passphrase
+#: ../src/common/connection.py:682
+#: ../src/common/zeroconf/connection_zeroconf.py:163
+msgid "OpenPGP passphrase was not given"
+msgstr "OpenPGP adgangskode blev ikke givet"
+
+#. we're not english
+#. one  in locale and one en
+#: ../src/common/connection.py:845
+msgid "[This message is *encrypted* (See :JEP:`27`]"
+msgstr "[Denne besked er *krypteret* (Se :JEP:`27`]"
+
+#: ../src/common/connection.py:916
+#: ../src/common/zeroconf/connection_zeroconf.py:423
+#, python-format
+msgid ""
+"Subject: %s\n"
+"%s"
+msgstr ""
+"Emne: %s\n"
+"%s"
+
+#: ../src/common/connection.py:1099
+msgid "Not fetched because of invisible status"
+msgstr "Ikke hentet på grund af usynlig status"
+
+#: ../src/common/contacts.py:294
+msgid "Not in roster"
+msgstr "Ikke i kontaktvindue"
+
+#. only say that to non Windows users
+#: ../src/common/dbus_support.py:33
+msgid "D-Bus python bindings are missing in this computer"
+msgstr "D-Bus python bindinger mangler på denne computer"
+
+#: ../src/common/dbus_support.py:34
+msgid "D-Bus capabilities of Gajim cannot be used"
+msgstr "Gajims D-Bus evner kan ikke bruges"
+
+#: ../src/common/exceptions.py:22
+msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
+msgstr "pysqlite2 (også kaldet python-pysqlite2) afhængighed mangler. Slutter..."
+
+#: ../src/common/exceptions.py:39
+msgid "Service not available: Gajim is not running, or remote_control is False"
+msgstr ""
+"Tjeneste ikke tilgængelig: Gajim kører ikke, eller remote_control er Falsk"
+
+#: ../src/common/exceptions.py:47
+msgid "D-Bus is not present on this machine or python module is missing"
+msgstr ""
+"D-Bus er ikke tilgængelig på denne maskine eller et python modul mangler"
+
+#: ../src/common/exceptions.py:55
+msgid ""
+"Session bus is not available.\n"
+"Try reading http://trac.gajim.org/wiki/GajimDBus"
+msgstr ""
+"Sessions bussen er ikke tilgængelig.\n"
+"Prøv at læse http://trac.gajim.org/wiki/GajimDBus"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "one"
+msgstr "en"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "two"
+msgstr "to"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "three"
+msgstr "tre"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "four"
+msgstr "fire"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "five"
+msgstr "fem"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "six"
+msgstr "seks"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "seven"
+msgstr "syv"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "eight"
+msgstr "otte"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "nine"
+msgstr "ni"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "ten"
+msgstr "ti"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "eleven"
+msgstr "elleve"
+
+#: ../src/common/fuzzyclock.py:44
+msgid "twelve"
+msgstr "tolv"
+
+#. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). '''
+#. A "singular-form". It is used when talking about hour 0
+#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+msgid "$0 o'clock"
+msgstr "klokken $0"
+
+#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+msgid "five past $0"
+msgstr "fem over $0"
+
+#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+msgid "ten past $0"
+msgstr "ti over $0"
+
+#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+msgid "quarter past $0"
+msgstr "kvart over $0"
+
+#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+msgid "twenty past $0"
+msgstr "tyve over $0"
+
+#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+msgid "twenty five past $0"
+msgstr "femogtyve over $0"
+
+#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+msgid "half past $0"
+msgstr "halv $1"
+
+#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+msgid "twenty five to $1"
+msgstr "femogtyve minutter i $1"
+
+#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+msgid "twenty to $1"
+msgstr "tyve minutter i $1"
+
+#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+msgid "quarter to $1"
+msgstr "kvart på $1"
+
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+msgid "ten to $1"
+msgstr "ti på $1"
+
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+msgid "five to $1"
+msgstr "fem på $1"
+
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:61
+msgid "$1 o'clock"
+msgstr "klokken $1"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Night"
+msgstr "Nat"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Early morning"
+msgstr "Tidlig morgen"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Morning"
+msgstr "Morgen"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Almost noon"
+msgstr "Næsten middag"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Noon"
+msgstr "Middag"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Afternoon"
+msgstr "Eftermiddag"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Evening"
+msgstr "Aften"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Late evening"
+msgstr "Sen aften"
+
+#: ../src/common/fuzzyclock.py:67
+msgid "Start of week"
+msgstr "Ugestart"
+
+#: ../src/common/fuzzyclock.py:67
+msgid "Middle of week"
+msgstr "Midten af ugen"
+
+#: ../src/common/fuzzyclock.py:67
+msgid "End of week"
+msgstr "Slutten af ugen"
+
+#: ../src/common/fuzzyclock.py:68
+msgid "Weekend!"
+msgstr "Weekend!"
+
+#: ../src/common/helpers.py:115
+msgid "Invalid character in username."
+msgstr "Ugyldig karakter i brugernavn."
+
+#: ../src/common/helpers.py:120
+msgid "Server address required."
+msgstr "Server adresse påkrævet."
+
+#: ../src/common/helpers.py:125
+msgid "Invalid character in hostname."
+msgstr "Ugyldig karakter i værtsnavn."
+
+#: ../src/common/helpers.py:131
+msgid "Invalid character in resource."
+msgstr "Ugyldig karakter i ressource."
+
+#. GiB means gibibyte
+#: ../src/common/helpers.py:171
+#, python-format
+msgid "%s GiB"
+msgstr "%s GiB"
+
+#. GB means gigabyte
+#: ../src/common/helpers.py:174
+#, python-format
+msgid "%s GB"
+msgstr "%s GB"
+
+#. MiB means mibibyte
+#: ../src/common/helpers.py:178
+#, python-format
+msgid "%s MiB"
+msgstr "%s MiB"
+
+#. MB means megabyte
+#: ../src/common/helpers.py:181
+#, python-format
+msgid "%s MB"
+msgstr "%s MB"
+
+#. KiB means kibibyte
+#: ../src/common/helpers.py:185
+#, python-format
+msgid "%s KiB"
+msgstr "%s KiB"
+
+#. KB means kilo bytes
+#: ../src/common/helpers.py:188
+#, python-format
+msgid "%s KB"
+msgstr "%s KB"
+
+#. B means bytes
+#: ../src/common/helpers.py:191
+#, python-format
+msgid "%s B"
+msgstr "%s B"
+
+#: ../src/common/helpers.py:222
+msgid "_Busy"
+msgstr "_Travlt"
+
+#: ../src/common/helpers.py:224
+msgid "Busy"
+msgstr "Travlt"
+
+#: ../src/common/helpers.py:227
+msgid "_Not Available"
+msgstr "_Ikke tilgængelig"
+
+#: ../src/common/helpers.py:232
+msgid "_Free for Chat"
+msgstr "_Tilgængelig for samtale"
+
+#: ../src/common/helpers.py:234
+msgid "Free for Chat"
+msgstr "Tilgængelig for samtale"
+
+#: ../src/common/helpers.py:237
+msgid "_Available"
+msgstr "Ti_lgængelig"
+
+#: ../src/common/helpers.py:241
+msgid "Connecting"
+msgstr "Tilslutter"
+
+#: ../src/common/helpers.py:244
+msgid "A_way"
+msgstr "_Væk"
+
+#: ../src/common/helpers.py:249
+msgid "_Offline"
+msgstr "_Afkoblet"
+
+#: ../src/common/helpers.py:251
+msgid "Offline"
+msgstr "Afkoblet"
+
+#: ../src/common/helpers.py:254
+msgid "_Invisible"
+msgstr "_Usynlig"
+
+#: ../src/common/helpers.py:260
+msgid "?contact has status:Unknown"
+msgstr "?contact has status:Ukendt"
+
+#: ../src/common/helpers.py:262
+msgid "?contact has status:Has errors"
+msgstr "?contact has status:Har fejl"
+
+#: ../src/common/helpers.py:267
+msgid "?Subscription we already have:None"
+msgstr "?Subscription we already have:Intet"
+
+#: ../src/common/helpers.py:269
+msgid "To"
+msgstr "Til"
+
+#: ../src/common/helpers.py:273
+msgid "Both"
+msgstr "Begge"
+
+#: ../src/common/helpers.py:281
+msgid "?Ask (for Subscription):None"
+msgstr "?Ask (for Subscription):Intet"
+
+#: ../src/common/helpers.py:283
+msgid "Subscribe"
+msgstr "Abonner"
+
+#: ../src/common/helpers.py:292
+msgid "?Group Chat Contact Role:None"
+msgstr "?Group Chat Contact Role:Ingen"
+
+#: ../src/common/helpers.py:295
+msgid "Moderators"
+msgstr "Moderatorer"
+
+#: ../src/common/helpers.py:297
+msgid "Moderator"
+msgstr "Moderator"
+
+#: ../src/common/helpers.py:300
+msgid "Participants"
+msgstr "Deltagere"
+
+#: ../src/common/helpers.py:302
+msgid "Participant"
+msgstr "Deltager"
+
+#: ../src/common/helpers.py:305
+msgid "Visitors"
+msgstr "Besøgende"
+
+#: ../src/common/helpers.py:307
+msgid "Visitor"
+msgstr "Besøgende"
+
+#: ../src/common/helpers.py:313
+msgid "?Group Chat Contact Affiliation:None"
+msgstr "?Group Chat Contact Affiliation:Ingen"
+
+#: ../src/common/helpers.py:315
+msgid "Owner"
+msgstr "Ejer"
+
+#: ../src/common/helpers.py:317
+msgid "Administrator"
+msgstr "Administrator"
+
+#: ../src/common/helpers.py:319
+msgid "Member"
+msgstr "Medlem"
+
+#: ../src/common/helpers.py:358
+msgid "is paying attention to the conversation"
+msgstr "er opmærksom på samtalen"
+
+#: ../src/common/helpers.py:360
+msgid "is doing something else"
+msgstr "gør noget andet"
+
+#: ../src/common/helpers.py:362
+msgid "is composing a message..."
+msgstr "komponerer en besked..."
+
+#. paused means he or she was composing but has stopped for a while
+#: ../src/common/helpers.py:365
+msgid "paused composing a message"
+msgstr "holder pause med at komponere en besked"
+
+#: ../src/common/helpers.py:367
+msgid "has closed the chat window or tab"
+msgstr "har lukket samtalevinduet eller fanebladet"
+
+#: ../src/common/helpers.py:913 ../src/common/helpers.py:920
+#, python-format
+msgid "%d message pending"
+msgid_plural "%d messages pending"
+msgstr[0] "%d besked venter"
+msgstr[1] "%d beskeder venter"
+
+#: ../src/common/helpers.py:926
+#, python-format
+msgid " from room %s"
+msgstr "fra rum %s"
+
+#: ../src/common/helpers.py:929 ../src/common/helpers.py:948
+#, python-format
+msgid " from user %s"
+msgstr "fra bruger %s"
+
+#: ../src/common/helpers.py:931
+#, python-format
+msgid " from %s"
+msgstr " fra %s"
+
+#: ../src/common/helpers.py:938 ../src/common/helpers.py:945
+#, python-format
+msgid "%d event pending"
+msgid_plural "%d events pending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/common/helpers.py:978
+#, python-format
+msgid "Gajim - %s"
+msgstr "Gajim - %s"
+
+#. we talk about a file
+#: ../src/common/optparser.py:60
+#, python-format
+msgid "error: cannot open %s for reading"
+msgstr "fejl: kan ikke åbne %s for læsning"
+
+#: ../src/common/optparser.py:203 ../src/common/optparser.py:204
+msgid "cyan"
+msgstr "cyan"
+
+#: ../src/common/optparser.py:320
+msgid "migrating logs database to indices"
+msgstr "flytter log databasen til flere indeks"
+
+#: ../src/common/passwords.py:82
+#, python-format
+msgid "Gajim account %s"
+msgstr "Gajim konto %s"
+
+#: ../src/common/zeroconf/client_zeroconf.py:135
+#: ../src/common/zeroconf/client_zeroconf.py:218
+msgid "Connection to host could not be established"
+msgstr "Tilslutning til vært kunne ikke etableres"
+
+#: ../src/common/zeroconf/client_zeroconf.py:192
+msgid ""
+"Connection to host could not be established: Incorrect answer from server."
+msgstr "Tilslutning til vært kunne ikke etableres: Forkert svar fra server."
+
+#: ../src/common/zeroconf/client_zeroconf.py:352
+msgid ""
+"Connection to host could not be established: Timeout while sending data."
+msgstr ""
+"Tilslutning til vært kunne ikke etableres: Tidsudløb mens data var blevet "
+"sendt."
+
+#: ../src/common/zeroconf/client_zeroconf.py:638
+msgid "Contact is offline. Your message could not be sent."
+msgstr "Kontakt er afkoblet. Din besked kunne ikke sendes."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:204
+msgid "To continue sending and receiving messages, you will need to reconnect."
+msgstr ""
+"For at kunne fortsætte med at sende og modtage beskeder, må du tilslutte dig "
+"igen."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:227
+msgid "Avahi error"
+msgstr "Avahi fejl"
+
+#: ../src/common/zeroconf/connection_zeroconf.py:227
+#, python-format
+msgid ""
+"%s\n"
+"Link-local messaging might not work properly."
+msgstr ""
+"%s\n"
+"Link-local beskeder vil sandsynligvis ikke virke ordentligt."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:238
+msgid "Please check if Avahi is installed."
+msgstr "Kontroller venligst om Avahi er installeret."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:247
+#: ../src/common/zeroconf/connection_zeroconf.py:251
+msgid "Could not start local service"
+msgstr "Kunne ikke starte lokal tjeneste"
+
+#: ../src/common/zeroconf/connection_zeroconf.py:248
+#, python-format
+msgid "Unable to bind to port %d."
+msgstr "Ikke i stand til at tildele port %d."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:252
+#: ../src/common/zeroconf/connection_zeroconf.py:347
+msgid "Please check if avahi-daemon is running."
+msgstr "Kontroller venligst om avahi-dæmonen kører."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:346
+#, python-format
+msgid "Could not change status of account \"%s\""
+msgstr "Kunne ikke ændre status på kontoen \"%s\""
+
+#: ../src/common/zeroconf/connection_zeroconf.py:363
+msgid ""
+"You are not connected or not visible to others. Your message could not be "
+"sent."
+msgstr ""
+"Du er ikke tilsluttet eller synlig for andre. Din besked kunne ikke sendes."
+
+#. we're not english
+#: ../src/common/zeroconf/connection_zeroconf.py:375
+msgid "[This message is encrypted]"
+msgstr "[Denne besked er krypteret]"
+
+#: ../src/common/zeroconf/zeroconf_avahi.py:178
+#: ../src/common/zeroconf/zeroconf_bonjour.py:187
+#, python-format
+msgid "Error while adding service. %s"
+msgstr "Fejl ved tilføjelse af tjeneste. %s"
+
diff --git a/po/de.po b/po/de.po
index ec658b22967a6ef749fb39de3b3f1cac405e9fd3..2b640dfaa22e8217e04faa3767ab536a05189728 100644
--- a/po/de.po
+++ b/po/de.po
@@ -3,14 +3,20 @@
 # This file is distributed under the same license as the gajim package.
 # Fridtjof Busse <fridtjof@fbunet.de>, 2005, 2006.
 # Benjamin Drung <benjamin.drung@gmail.com>, 2007.
+# Fabian Fingerle <otih@datensalat.eu>, 2007.
+# Sebastian Schäfer <sarek@uliweb.de>, 2007.
 #
+#: ../src/gajim-remote.py:220 ../src/gajim-remote.py:227
+#: ../src/gajim-remote.py:253 ../src/gajim-remote.py:254
+#: ../src/gajim-remote.py:260 ../src/gajim-remote.py:261
+#: ../src/gajim-remote.py:262 ../src/gajim-remote.py:263
 msgid ""
 msgstr ""
 "Project-Id-Version: gajim 0.11\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-03-29 13:38+0200\n"
-"PO-Revision-Date: 2007-08-03 23:11+0100\n"
-"Last-Translator: Michael Skiba <michael@michael-skiba.de>\n"
+"POT-Creation-Date: 2007-11-23 11:00+0100\n"
+"PO-Revision-Date: 2007-11-04 16:37+0100\n"
+"Last-Translator: Nico Gulden <cilugnedon@gmx.de>\n"
 "Language-Team: German <translators@gajim.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -30,37 +36,36 @@ msgid "Jabber IM Client"
 msgstr "Jabber IM-Client"
 
 #: ../data/glade/account_context_menu.glade.h:1
-msgid "Send Single _Message..."
-msgstr "Einzelne _Nachricht senden..."
+#: ../data/glade/roster_window.glade.h:8
+msgid "Join _Group Chat..."
+msgstr "_Chatraum beitreten..."
 
 #: ../data/glade/account_context_menu.glade.h:2
 msgid "_Add Contact..."
 msgstr "Kontakt _hinzufügen..."
 
 #: ../data/glade/account_context_menu.glade.h:3
-msgid "_Discover Services..."
-msgstr "_Durchsuche Dienste..."
+#: ../data/glade/roster_window.glade.h:15
+msgid "_Discover Services"
+msgstr "_Dienste durchsuchen"
 
 #: ../data/glade/account_context_menu.glade.h:4
-#: ../src/disco.py:1145
 msgid "_Execute Command..."
 msgstr "_Befehl ausführen..."
 
 #: ../data/glade/account_context_menu.glade.h:5
-#: ../data/glade/roster_window.glade.h:16
-#: ../data/glade/systray_context_menu.glade.h:6
-msgid "_Group Chat"
-msgstr "_Gruppenchat"
+msgid "_Modify Account"
+msgstr "Konto bearbeiten"
 
 #: ../data/glade/account_context_menu.glade.h:6
-#: ../data/glade/zeroconf_context_menu.glade.h:1
-msgid "_Modify Account..."
-msgstr "_Konto bearbeiten..."
-
-#: ../data/glade/account_context_menu.glade.h:7
 msgid "_Open Gmail Inbox"
 msgstr "Google Mail Posteingang _öffnen"
 
+#: ../data/glade/account_context_menu.glade.h:7
+#: ../data/glade/roster_window.glade.h:23
+msgid "_Start Chat..."
+msgstr "_Chat starten"
+
 #: ../data/glade/account_context_menu.glade.h:8
 #: ../data/glade/zeroconf_context_menu.glade.h:2
 msgid "_Status"
@@ -68,7 +73,7 @@ msgstr "_Status"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:1
 msgid ""
-"<b>Account is being created</b>\n"
+"<b>Connecting to server</b>\n"
 "\n"
 "Please wait..."
 msgstr ""
@@ -85,49 +90,68 @@ msgid "<b>Please fill in the data for your new account</b>"
 msgstr "<b>Bitte geben Sie die Daten für Ihr neues Konto ein</b>"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:6
-msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
-msgstr "Klicken, um die Fähigkeiten (z.B. MSN-, ICQ-Transporte) auf Jabber-Servern zu sehen."
+msgid "<b>Please select a server</b>"
+msgstr "<b>Bitte einen Server wählen</b>"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:7
+msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
+msgstr ""
+"Klicken, um die Fähigkeiten (z.B. MSN-, ICQ-Transporte) auf Jabber-Servern "
+"zu sehen."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:8
 msgid "Connect when I press Finish"
 msgstr "Verbinde, sobald ich Fertig klicke"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:8
+#: ../data/glade/account_creation_wizard_window.glade.h:9
 msgid "Gajim: Account Creation Wizard"
 msgstr "Gajim: Kontoeinrichtungs-Assistent"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:9
-msgid "I already have an account I want to use"
-msgstr "Ich habe bereits ein Konto, das ich benutzen möchte"
-
 #: ../data/glade/account_creation_wizard_window.glade.h:10
+msgid "I already have an account I want to _use"
+msgstr "Ich habe bereits ein Konto, das ich _benutzen möchte"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:11
 msgid "I want to _register for a new account"
 msgstr "Ich möchte ein neues Konto _erstellen"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:11
-#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/account_creation_wizard_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/accounts_window.glade.h:23
 msgid "If checked, Gajim will remember the password for this account"
 msgstr "Falls aktiviert, speichert Gajim das Passwort für dieses Konto"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:12
-#: ../data/glade/manage_proxies_window.glade.h:7
-msgid "Pass_word:"
-msgstr "Pass_wort:"
-
 #: ../data/glade/account_creation_wizard_window.glade.h:13
-#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/account_modification_window.glade.h:26
+#: ../data/glade/accounts_window.glade.h:32
+msgid "Manage..."
+msgstr "_Verwalten..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:14
+msgid "Prox_y:"
+msgstr "Proxy:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/accounts_window.glade.h:47
 msgid "Save pass_word"
 msgstr "Pass_wort speichern"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:14
+#: ../data/glade/account_creation_wizard_window.glade.h:16
 msgid "Servers Features"
 msgstr "Fähigkeiten des Servers"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_creation_wizard_window.glade.h:17
 msgid "Set my profile when I connect"
 msgstr "Setze mein Profil, wenn ich mich verbinde"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:16
+#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/accounts_window.glade.h:53
+msgid "Use custom hostname/port"
+msgstr "Verwende benutzerdefinierten Hostnamen und Port"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:19
 msgid ""
 "You need to have an account in order to connect\n"
 "to the Jabber network."
@@ -135,67 +159,64 @@ msgstr ""
 "Sie müssen ein Konto erstellen, bevor Sie sich zum Jabber-Netzwerk \n"
 "verbinden können."
 
-#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_creation_wizard_window.glade.h:21
 msgid "Your JID:"
 msgstr "Ihre JID:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:19
-#: ../data/glade/roster_window.glade.h:11
+#: ../data/glade/account_creation_wizard_window.glade.h:22
+#: ../data/glade/roster_window.glade.h:13
 msgid "_Advanced"
 msgstr "_Erweitert"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:20
+#: ../data/glade/account_creation_wizard_window.glade.h:23
 msgid "_Finish"
 msgstr "_Beenden"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:21
-#: ../data/glade/manage_proxies_window.glade.h:10
-msgid "_Host:"
-msgstr "_Server:"
+#: ../data/glade/account_creation_wizard_window.glade.h:24
+#, fuzzy
+msgid "_Hostname:"
+msgstr "_Hostname: "
 
-#: ../data/glade/account_creation_wizard_window.glade.h:22
-#: ../data/glade/account_modification_window.glade.h:49
+#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_modification_window.glade.h:50
+#: ../data/glade/accounts_window.glade.h:58
 msgid "_Password:"
 msgstr "_Passwort:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:23
+#: ../data/glade/account_creation_wizard_window.glade.h:26
 #: ../data/glade/manage_proxies_window.glade.h:11
 msgid "_Port:"
 msgstr "_Port:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:24
-msgid "_Retype Password:"
-msgstr "Passwort e_rneut eingeben:"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_creation_wizard_window.glade.h:27
 msgid "_Server:"
 msgstr "_Server:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:26
-msgid "_Use proxy"
-msgstr "_Proxy benutzen"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:27
+#: ../data/glade/account_creation_wizard_window.glade.h:28
 #: ../data/glade/manage_proxies_window.glade.h:12
 msgid "_Username:"
 msgstr "_Benutzername:"
 
 #: ../data/glade/account_modification_window.glade.h:1
+#: ../data/glade/accounts_window.glade.h:1
 #: ../data/glade/preferences_window.glade.h:8
 msgid "<b>Miscellaneous</b>"
 msgstr "<b>Verschiedenes</b>"
 
 #: ../data/glade/account_modification_window.glade.h:2
+#: ../data/glade/accounts_window.glade.h:2
 #: ../data/glade/zeroconf_properties_window.glade.h:1
 msgid "<b>OpenPGP</b>"
 msgstr "<b>OpenPGP</b>"
 
 #: ../data/glade/account_modification_window.glade.h:3
+#: ../data/glade/accounts_window.glade.h:3
 #: ../data/glade/zeroconf_properties_window.glade.h:2
 msgid "<b>Personal Information</b>"
 msgstr "<b>Persönliche Informationen</b>"
 
 #: ../data/glade/account_modification_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:4
 msgid "Account"
 msgstr "Konto"
 
@@ -204,239 +225,358 @@ msgid "Account Modification"
 msgstr "Kontoänderung"
 
 #: ../data/glade/account_modification_window.glade.h:6
+#: ../data/glade/accounts_window.glade.h:5
 msgid "Administration operations"
 msgstr "Administrative Aktionen"
 
 #: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/accounts_window.glade.h:6
 msgid "Auto-reconnect when connection is lost"
 msgstr "Automatisch neu verbinden, wenn die Verbindung abbricht"
 
 #: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/accounts_window.glade.h:7
 #: ../data/glade/zeroconf_properties_window.glade.h:3
 msgid "C_onnect on Gajim startup"
 msgstr "Beim Pr_ogrammstart verbinden"
 
 #: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/accounts_window.glade.h:8
 msgid "Chan_ge Password"
 msgstr "Pass_wort ändern"
 
 #: ../data/glade/account_modification_window.glade.h:10
-msgid "Check this so Gajim will connect in port 5223 where legacy servers are expected to have SSL capabilities. Note that Gajim uses TLS encryption by default if broadcasted by the server, and with this option enabled TLS will be disabled"
-msgstr "Aktivieren Sie diese Option, damit Gajim auf Port 5223 verbindet, auf dem veraltete Server SSL-Fähigkeiten haben. Beachten Sie, dass Gajim standardmäßig TLS-Verschlüsselung benutzt, wenn sie vom Server verwendet wird und sie TLS mit dieser Option deaktivieren"
+#: ../data/glade/accounts_window.glade.h:9
+msgid ""
+"Check this so Gajim will connect in port 5223 where legacy servers are "
+"expected to have SSL capabilities. Note that Gajim uses TLS encryption by "
+"default if broadcasted by the server, and with this option enabled TLS will "
+"be disabled"
+msgstr ""
+"Aktivieren Sie diese Option, damit Gajim auf Port 5223 verbindet, auf dem "
+"veraltete Server SSL-Fähigkeiten haben. Beachten Sie, dass Gajim "
+"standardmäßig TLS-Verschlüsselung benutzt, wenn sie vom Server verwendet "
+"wird und sie TLS mit dieser Option deaktivieren"
 
 #: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/accounts_window.glade.h:10
 #: ../data/glade/zeroconf_properties_window.glade.h:4
 msgid "Choose _Key..."
 msgstr "_Schlüssel wählen..."
 
 #: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/accounts_window.glade.h:11
 msgid "Click to change account's password"
 msgstr "Klicken, um das Konto-Passwort zu ändern"
 
 #: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/accounts_window.glade.h:12
+msgid "Click to request authorization to all contacts of another account"
+msgstr ""
+
+#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/accounts_window.glade.h:13
 msgid "Connection"
 msgstr "Verbindung"
 
-#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/account_modification_window.glade.h:15
+#: ../data/glade/accounts_window.glade.h:15
 msgid "Edit Personal Information..."
 msgstr "Persönliche Details bearbeiten ..."
 
-#: ../data/glade/account_modification_window.glade.h:15
-#: ../data/glade/roster_window.glade.h:5
-#: ../src/notify.py:458
-#: ../src/notify.py:480
-#: ../src/notify.py:492
-#: ../src/common/helpers.py:914
+#. No configured account
+#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/accounts_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:6 ../src/notify.py:489
+#: ../src/notify.py:520 ../src/notify.py:532 ../src/common/helpers.py:998
+#: ../src/common/helpers.py:1010
 msgid "Gajim"
 msgstr "Gajim"
 
-#: ../data/glade/account_modification_window.glade.h:16
-#: ../data/glade/preferences_window.glade.h:51
+#. General group cannot be changed
+#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/accounts_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:45
 #: ../data/glade/zeroconf_properties_window.glade.h:7
-#: ../src/roster_window.py:347
-#: ../src/roster_window.py:1225
-#: ../src/roster_window.py:1435
-#: ../src/roster_window.py:2114
-#: ../src/roster_window.py:2156
-#: ../src/common/contacts.py:284
+#: ../src/roster_window.py:372 ../src/roster_window.py:637
+#: ../src/roster_window.py:1384 ../src/roster_window.py:1760
+#: ../src/roster_window.py:2145 ../src/roster_window.py:2657
+#: ../src/roster_window.py:2775 ../src/common/contacts.py:314
 msgid "General"
 msgstr "Allgemein"
 
-#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/accounts_window.glade.h:20
 msgid "Hostname: "
 msgstr "Hostname: "
 
-#: ../data/glade/account_modification_window.glade.h:18
-msgid "If checked, Gajim will also broadcast some more IPs except from just your IP, so file transfer has higher chances of working."
-msgstr "Wenn aktiviert, wird Gajim von mehr IPs als nur Ihrer eigenen senden, wodurch Datentransfers eine höhere Erfolgswahrscheinlichkeit bekommen."
-
-#: ../data/glade/account_modification_window.glade.h:20
-msgid "If checked, Gajim will send keep-alive packets to prevent connection timeout which results in disconnection"
-msgstr "Wenn aktiviert, sendet Gajim regelmäßig Keepalive-Pakete, um einen Verbindungsabbruch durch eine Zeitüberschreitung zu verhindern"
+#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/accounts_window.glade.h:21
+msgid ""
+"If checked, Gajim will also broadcast some more IPs except from just your "
+"IP, so file transfer has higher chances of working."
+msgstr ""
+"Wenn aktiviert, wird Gajim von mehr IPs als nur Ihrer eigenen senden, "
+"wodurch Datentransfers eine höhere Erfolgswahrscheinlichkeit bekommen."
 
 #: ../data/glade/account_modification_window.glade.h:21
-#: ../data/glade/zeroconf_properties_window.glade.h:8
-msgid "If checked, Gajim will store the password in ~/.gajim/config with 'read' permission only for you"
-msgstr "Wenn aktiviert, wird Gajim das Passwort in ~/.gajim/config mit Lese-Rechten nur für Sie speichern"
+#: ../data/glade/accounts_window.glade.h:24
+msgid ""
+"If checked, Gajim will send keep-alive packets to prevent connection timeout "
+"which results in disconnection"
+msgstr ""
+"Wenn aktiviert, sendet Gajim regelmäßig Keepalive-Pakete, um einen "
+"Verbindungsabbruch durch eine Zeitüberschreitung zu verhindern"
 
 #: ../data/glade/account_modification_window.glade.h:22
-#: ../data/glade/zeroconf_properties_window.glade.h:9
-msgid "If checked, Gajim, when launched, will automatically connect to jabber using this account"
-msgstr "Wenn aktiviert, wird Gajim während des Startvorgangs automatisch zu diesem Konto verbinden"
+#: ../data/glade/zeroconf_properties_window.glade.h:8
+msgid ""
+"If checked, Gajim will store the password in ~/.gajim/config with 'read' "
+"permission only for you"
+msgstr ""
+"Wenn aktiviert, wird Gajim das Passwort in ~/.gajim/config mit Lese-Rechten "
+"nur für Sie speichern"
 
 #: ../data/glade/account_modification_window.glade.h:23
-#: ../data/glade/zeroconf_properties_window.glade.h:10
-msgid "If checked, any change to the global status (handled by the combobox at the bottom of the roster window) will change the status of this account accordingly"
-msgstr "Wenn aktiviert, wird jede Änderung des globalen Status (verwaltet von der Combobox am Fuße des Kontaktfensters) auch den Status dieses Kontakts entsprechend ändern"
+#: ../data/glade/accounts_window.glade.h:25
+#: ../data/glade/zeroconf_properties_window.glade.h:9
+msgid ""
+"If checked, Gajim, when launched, will automatically connect to jabber using "
+"this account"
+msgstr ""
+"Wenn aktiviert, wird Gajim während des Startvorgangs automatisch zu diesem "
+"Konto verbinden"
 
 #: ../data/glade/account_modification_window.glade.h:24
-msgid "Information about you, as stored in the server"
-msgstr "Informationen über Sie, wie sie auf dem Server gespeichert sind"
+#: ../data/glade/accounts_window.glade.h:26
+#: ../data/glade/zeroconf_properties_window.glade.h:10
+msgid ""
+"If checked, any change to the global status (handled by the combobox at the "
+"bottom of the roster window) will change the status of this account "
+"accordingly"
+msgstr ""
+"Wenn aktiviert, wird jede Änderung des globalen Status (verwaltet von der "
+"Combobox am Fuße des Kontaktfensters) auch den Status dieses Kontakts "
+"entsprechend ändern"
 
 #: ../data/glade/account_modification_window.glade.h:25
-msgid "Manage..."
-msgstr "_Verwalten..."
+#: ../data/glade/accounts_window.glade.h:29
+msgid "Information about you, as stored in the server"
+msgstr "Informationen über Sie, wie sie auf dem Server gespeichert sind"
 
-#: ../data/glade/account_modification_window.glade.h:26
-#: ../data/glade/zeroconf_properties_window.glade.h:16
-#: ../src/config.py:1623
-#: ../src/config.py:3301
+#: ../data/glade/account_modification_window.glade.h:27
+#: ../data/glade/accounts_window.glade.h:34
+#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1553
+#: ../src/config.py:2030
 msgid "No key selected"
 msgstr "Kein Schlüssel gewählt"
 
 #. None means no proxy profile selected
 #. GPG Key
-#: ../data/glade/account_modification_window.glade.h:28
-#: ../src/config.py:1196
-#: ../src/config.py:1201
-#: ../src/config.py:1385
-#: ../src/config.py:1613
-#: ../src/config.py:1622
-#: ../src/config.py:1682
-#: ../src/config.py:1756
-#: ../src/config.py:3291
-#: ../src/config.py:3300
-#: ../src/dialogs.py:281
-#: ../src/dialogs.py:283
-#: ../src/roster_window.py:1539
-#: ../src/roster_window.py:1546
-#: ../src/roster_window.py:1553
+#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/accounts_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1142
+#: ../src/config.py:1213 ../src/config.py:1462 ../src/config.py:1467
+#: ../src/config.py:1928 ../src/config.py:2015 ../src/config.py:2029
+#: ../src/config.py:3111 ../src/config.py:3157 ../src/dialogs.py:344
+#: ../src/dialogs.py:346 ../src/roster_window.py:1864
+#: ../src/roster_window.py:1871 ../src/roster_window.py:1878
 msgid "None"
 msgstr "Kein"
 
-#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/accounts_window.glade.h:37
 #: ../data/glade/profile_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:17
 msgid "Personal Information"
 msgstr "Persönliche Informationen"
 
-#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/accounts_window.glade.h:38
 msgid "Port: "
 msgstr "Port: "
 
-#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/accounts_window.glade.h:39
 msgid "Priori_ty:"
 msgstr "Priori_tät:"
 
-#: ../data/glade/account_modification_window.glade.h:32
-msgid "Priority is used in Jabber to determine who gets the events from the jabber server when two or more clients are connected using the same account; The client with the highest priority gets the events"
-msgstr "Die Priorität wird von Jabber verwendet, um festzustellen, wer die Ereignisse des Jabber-Servers bekommt, wenn zwei oder mehr Clients mit dem selben Konto verbunden sind. Der Client mit der höchsten Priorität bekommt die Ereignisse"
-
 #: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/accounts_window.glade.h:40
+msgid ""
+"Priority is used in Jabber to determine who gets the events from the jabber "
+"server when two or more clients are connected using the same account; The "
+"client with the highest priority gets the events"
+msgstr ""
+"Die Priorität wird von Jabber verwendet, um festzustellen, wer die "
+"Ereignisse des Jabber-Servers bekommt, wenn zwei oder mehr Clients mit dem "
+"selben Konto verbunden sind. Der Client mit der höchsten Priorität bekommt "
+"die Ereignisse"
+
+#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/accounts_window.glade.h:41
 msgid "Priority will change automatically according to your status."
 msgstr "Die Priorität wird sich automatisch gemäß des Status ändern."
 
-#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/accounts_window.glade.h:42
 msgid "Proxy:"
 msgstr "Proxy:"
 
-#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/accounts_window.glade.h:44
 msgid "Resour_ce:"
 msgstr "Ressour_ce: "
 
-#: ../data/glade/account_modification_window.glade.h:36
-msgid "Resource is sent to the Jabber server in order to separate the same JID in two or more parts depending on the number of the clients connected in the same server with the same account. So you might be connected in the same account with resource 'Home' and 'Work' at the same time. The resource which has the highest priority will get the events. (see below)"
-msgstr "Die Resource wird zum Jabber-Server geschickt, um die selbe JID in zwei oder mehr Teile zu trennen, abhängig von der Anzahl der Clients die mit dem selben Konto auf dem selben Server verbunden sind. Daher kann man gleichzeitig mit den Ressourcen \"Heim\" und \"Arbeit\" auf das selbe Konto verbinden. Die Ressource mit der höchsten Priorität wird die Nachrichten erhalten (siehe unten)."
-
 #: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/accounts_window.glade.h:45
+msgid ""
+"Resource is sent to the Jabber server in order to separate the same JID in "
+"two or more parts depending on the number of the clients connected in the "
+"same server with the same account. So you might be connected in the same "
+"account with resource 'Home' and 'Work' at the same time. The resource which "
+"has the highest priority will get the events. (see below)"
+msgstr ""
+"Die Resource wird zum Jabber-Server geschickt, um die selbe JID in zwei oder "
+"mehr Teile zu trennen, abhängig von der Anzahl der Clients die mit dem "
+"selben Konto auf dem selben Server verbunden sind. Daher kann man "
+"gleichzeitig mit den Ressourcen \"Heim\" und \"Arbeit\" auf das selbe Konto "
+"verbinden. Die Ressource mit der höchsten Priorität wird die Nachrichten "
+"erhalten (siehe unten)."
+
+#: ../data/glade/account_modification_window.glade.h:38
 #: ../data/glade/zeroconf_properties_window.glade.h:18
 msgid "Save _passphrase (insecure)"
 msgstr "_Passphrase speichern (unsicher)"
 
-#: ../data/glade/account_modification_window.glade.h:38
+#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/accounts_window.glade.h:46
 #: ../data/glade/zeroconf_properties_window.glade.h:19
 msgid "Save conversation _logs for all contacts"
 msgstr "Unter_haltungsverlauf für alle Kontakte dieses Kontos speichern"
 
-#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/accounts_window.glade.h:48
 msgid "Send keep-alive packets"
 msgstr "Sende Keepalive-Pakete"
 
-#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/accounts_window.glade.h:49
 #: ../data/glade/zeroconf_properties_window.glade.h:20
 msgid "Synch_ronize account status with global status"
 msgstr "Konto-Status mit globalem _Status abgleichen"
 
-#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/accounts_window.glade.h:50
+#: ../data/glade/synchronise_select_account_dialog.glade.h:2
 msgid "Synchronise contacts"
 msgstr "Synchronisiere Kontakte"
 
-#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/accounts_window.glade.h:52
 msgid "Use _SSL (legacy)"
 msgstr "_SSL verwenden (veraltet)"
 
-#: ../data/glade/account_modification_window.glade.h:44
-msgid "Use custom hostname/port"
-msgstr "Verwende benutzerdefinierten Hostnamen und Port"
-
-#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/accounts_window.glade.h:55
 msgid "Use file transfer proxies"
 msgstr "Verwende Datentransfer-Proxies"
 
-#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/accounts_window.glade.h:56
 msgid "_Adjust to status"
 msgstr "Mit dem Status _abgleichen"
 
-#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/accounts_window.glade.h:57
 msgid "_Jabber ID:"
 msgstr "_Jabber ID:"
 
-#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/account_modification_window.glade.h:49
 msgid "_Name:"
 msgstr "_Name: "
 
-#: ../data/glade/accounts_window.glade.h:1
-msgid "Accounts"
-msgstr "Konten"
+#: ../data/glade/accounts_window.glade.h:14
+#: ../data/glade/profile_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/zeroconf_information_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:5
+msgid "E-Mail:"
+msgstr "E-Mail:"
 
-#: ../data/glade/accounts_window.glade.h:2
+#. XML Console enable checkbutton
+#: ../data/glade/accounts_window.glade.h:16
+#: ../data/glade/xml_console_window.glade.h:4
+msgid "Enable"
+msgstr "Einschalten"
+
+#: ../data/glade/accounts_window.glade.h:17
+#: ../data/glade/zeroconf_information_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:6
+msgid "First Name:"
+msgstr "Vorname:"
+
+#: ../data/glade/accounts_window.glade.h:22
+msgid "If checked, Gajim will get the password from a GPG agent like seahorse"
+msgstr ""
+"Falls aktiviert, wird Gajim das Passwort von einem GnuPG-Agent wie seahorse "
+"beziehen"
+
+#: ../data/glade/accounts_window.glade.h:27
+#: ../data/glade/zeroconf_properties_window.glade.h:11
 msgid ""
-"If checked, all local contacts that use a Bonjour compatible chat client (like iChat, Trillian or Gaim) will be shown in roster. You don't need to be connected to a jabber server for it to work.\n"
-"This is only available if python-avahi is installed and avahi-daemon is running."
+"If the default port that is used for incoming messages is unfitting for your "
+"setup you can select another one here.\n"
+"You might consider to change possible firewall settings."
 msgstr ""
-"Wenn aktiviert, werden alle lokalen Kontakte, welche einen zu Bonjour kompatiblen Chat-Client (Wie z.B. iChat, Trillian oder Gaim) nutzen, in Ihrer Kontaktliste angezeigt. Dafür müssen Sie nicht mit einem Jabber-Server verbunden sein.\n"
-"Dies ist nur möglich, wenn python-avahi verfügbar ist und avahi-daemon läuft (Automatische Diensterkennung)."
+"Wenn der Standardport, der für eingehende Nachrichten benutzt wird, nicht "
+"für Ihre Konfiguration geeignet ist, können sie hier einen anderen Port "
+"festlegen.\n"
+"Möglicherweise ist es von Nöten, Ihre Firewall-Einstellungen zu ändern."
 
-#: ../data/glade/accounts_window.glade.h:4
-msgid "If you have 2 or more accounts and this is checked, Gajim will list all contacts as if you had one account"
-msgstr "Wenn Sie zwei oder mehr Konten haben und diese Option gewählt ist, wird Gajim alle Kontakte auflisten, als hätten Sie nur ein Konto"
+#: ../data/glade/accounts_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/zeroconf_information_window.glade.h:4
+#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:511
+msgid "Jabber ID:"
+msgstr "Jabber-ID:"
 
-#: ../data/glade/accounts_window.glade.h:5
+#: ../data/glade/accounts_window.glade.h:31
+#: ../data/glade/zeroconf_information_window.glade.h:5
+#: ../data/glade/zeroconf_properties_window.glade.h:14
+msgid "Last Name:"
+msgstr "Nachname:"
+
+#: ../data/glade/accounts_window.glade.h:33
 msgid "Mer_ge accounts"
 msgstr "Konten _zusammenführen"
 
-#: ../data/glade/accounts_window.glade.h:6
-msgid "_Enable link-local messaging"
-msgstr "_Kontakte im LAN anzeigen"
+#. Rename
+#: ../data/glade/accounts_window.glade.h:43 ../src/roster_window.py:2727
+msgid "Re_name"
+msgstr "_Umbenennen"
 
-#: ../data/glade/accounts_window.glade.h:7
-msgid "_Modify"
-msgstr "_Ändern"
+#: ../data/glade/accounts_window.glade.h:51
+msgid "Use GPG _Agent"
+msgstr ""
 
-#: ../data/glade/accounts_window.glade.h:8
-#: ../data/glade/remove_account_window.glade.h:4
-msgid "_Remove"
-msgstr "_Entfernen"
+#: ../data/glade/accounts_window.glade.h:54
+#: ../data/glade/zeroconf_properties_window.glade.h:21
+msgid "Use custom port:"
+msgstr "Verwende benutzerdefinierten Port:"
+
+#: ../data/glade/accounts_window.glade.h:59
+msgid "gtk-add"
+msgstr ""
+
+#: ../data/glade/accounts_window.glade.h:60
+#: ../data/glade/features_window.glade.h:4
+msgid "gtk-close"
+msgstr ""
+
+#: ../data/glade/accounts_window.glade.h:61
+msgid "gtk-remove"
+msgstr ""
 
 #: ../data/glade/add_new_contact_window.glade.h:1
 msgid "A_ccount:"
@@ -531,12 +671,15 @@ msgid "This jabber entity does not expose any commands."
 msgstr "Diese Jabber-Instanz gibt keine Kommandos von sich."
 
 #: ../data/glade/advanced_configuration_window.glade.h:1
+#: ../data/glade/features_window.glade.h:1
 msgid "<b>Description</b>"
 msgstr "<b>Beschreibung</b>"
 
 #: ../data/glade/advanced_configuration_window.glade.h:2
 msgid "<b>NOTE:</b> You should restart Gajim for some settings to take effect"
-msgstr "<b>HINWEIS:</b> Sie sollten Gajim neu starten, damit alle Änderungen in Kraft treten"
+msgstr ""
+"<b>HINWEIS:</b> Sie sollten Gajim neu starten, damit alle Änderungen in "
+"Kraft treten"
 
 #: ../data/glade/advanced_configuration_window.glade.h:3
 msgid "Advanced Configuration Editor"
@@ -555,45 +698,42 @@ msgid "Deletes Message of the Day"
 msgstr "Löscht die Nachricht des Tages"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:3
+#, fuzzy
+msgid "Edit _Privacy Lists..."
+msgstr "_Privatlisten"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:4
 msgid "Sends a message to users currently connected to this server"
 msgstr "Sendet eine Nachricht an momentan angemeldete Benutzer des Servers"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:4
-msgid "Set MOTD"
+#: ../data/glade/advanced_menuitem_menu.glade.h:5
+msgid "Set MOTD..."
 msgstr "_Setze MOTD"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:5
+#: ../data/glade/advanced_menuitem_menu.glade.h:6
 msgid "Sets Message of the Day"
 msgstr "Setzt Message of the Day"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:6
+#: ../data/glade/advanced_menuitem_menu.glade.h:7
 msgid "Show _XML Console"
 msgstr "Zeige _XML Konsole"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:7
-msgid "Update MOTD"
+#: ../data/glade/advanced_menuitem_menu.glade.h:8
+msgid "Update MOTD..."
 msgstr "_Aktualisiere MOTD"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:8
+#: ../data/glade/advanced_menuitem_menu.glade.h:9
 msgid "Updates Message of the Day"
 msgstr "Aktualisiert Message of the Day"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:9
+#: ../data/glade/advanced_menuitem_menu.glade.h:10
 msgid "_Administrator"
 msgstr "_Administrator"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:10
-msgid "_Privacy Lists"
-msgstr "_Privatlisten"
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:11
-msgid "_Send Server Message"
+msgid "_Send Server Message..."
 msgstr "_Sende Servernachricht"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:12
-msgid "_Send Single Message"
-msgstr "Sende _einzelne Nachricht"
-
 #: ../data/glade/advanced_notifications_window.glade.h:1
 msgid " a window/tab opened with that contact "
 msgstr " ein Fenster/Tab mit diesem Kontakt geöffnet "
@@ -607,7 +747,7 @@ msgid "<b>Conditions</b>"
 msgstr "<b>Ereignisse</b>"
 
 #: ../data/glade/advanced_notifications_window.glade.h:4
-#: ../data/glade/preferences_window.glade.h:10
+#: ../data/glade/preferences_window.glade.h:12
 msgid "<b>Sounds</b>"
 msgstr "<b>Klänge</b>"
 
@@ -624,8 +764,7 @@ msgid "All statuses"
 msgstr "Alle Status "
 
 #: ../data/glade/advanced_notifications_window.glade.h:8
-#: ../src/common/commands.py:91
-#: ../src/common/helpers.py:243
+#: ../src/common/commands.py:96 ../src/common/helpers.py:255
 msgid "Away"
 msgstr "Abwesend"
 
@@ -642,7 +781,7 @@ msgid "Have "
 msgstr "habe "
 
 #: ../data/glade/advanced_notifications_window.glade.h:12
-#: ../src/common/helpers.py:253
+#: ../src/common/helpers.py:265
 msgid "Invisible"
 msgstr "Unsichtbar"
 
@@ -651,7 +790,7 @@ msgid "Launch a command"
 msgstr "Starte ein Kommando"
 
 #: ../data/glade/advanced_notifications_window.glade.h:14
-#: ../src/common/helpers.py:226
+#: ../src/common/helpers.py:238
 msgid "Not Available"
 msgstr "Nicht verfügbar"
 
@@ -692,8 +831,11 @@ msgid "When "
 msgstr "Wenn "
 
 #: ../data/glade/advanced_notifications_window.glade.h:27
-msgid "_Activate window manager's UrgencyHint to make chat window in taskbar flash"
-msgstr "_Aktivere den UrgencyHint des Fenstermanagers, um das Chatfenster in der Taskleiste blinken zu lassen"
+msgid ""
+"_Activate window manager's UrgencyHint to make chat window in taskbar flash"
+msgstr ""
+"_Aktivere den UrgencyHint des Fenstermanagers, um das Chatfenster in der "
+"Taskleiste blinken zu lassen"
 
 #: ../data/glade/advanced_notifications_window.glade.h:28
 msgid "_Disable auto opening chat window"
@@ -773,6 +915,10 @@ msgstr "Neuen Eintrag empfangen"
 msgid "You have received new entry:"
 msgstr "Sie haben einen neuen Eintrag erhalten:"
 
+#: ../data/glade/blocked_contacts_window.glade.h:1
+msgid "Blocked Contacts"
+msgstr "blockierte Kontakte"
+
 #: ../data/glade/change_password_dialog.glade.h:1
 msgid "Change Password"
 msgstr "Passwort ändern"
@@ -802,10 +948,8 @@ msgid "Join _Group Chat"
 msgstr "_Gruppenchat beitreten"
 
 #: ../data/glade/chat_context_menu.glade.h:2
-#: ../data/glade/chat_control_popup_menu.glade.h:4
-#: ../data/glade/gc_occupants_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:10
-msgid "_Add to Roster"
+#: ../data/glade/roster_contact_context_menu.glade.h:12
+msgid "_Add to Roster..."
 msgstr "Zur Kont_aktliste hinzufügen"
 
 #: ../data/glade/chat_context_menu.glade.h:3
@@ -825,7 +969,6 @@ msgid "_Open Link in Browser"
 msgstr "Link _öffnen"
 
 #: ../data/glade/chat_context_menu.glade.h:7
-#: ../data/glade/roster_window.glade.h:20
 #: ../data/glade/subscription_request_popup_menu.glade.h:1
 #: ../data/glade/systray_context_menu.glade.h:7
 msgid "_Start Chat"
@@ -836,28 +979,64 @@ msgid "Click to see past conversations with this contact"
 msgstr "Klicken, um die früheren Unterhaltungen mit diesem Kontakt zu sehen"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:8
+#, fuzzy
+msgid "Invite _Contacts"
+msgstr "Kontakte verwalten"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:3
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:4
 msgid "Send _File"
 msgstr "_Datei senden"
 
-#: ../data/glade/chat_control_popup_menu.glade.h:3
-msgid "Toggle Open_PGP Encryption"
-msgstr "Open_PGP-Verschlüsselung aktivieren"
+#: ../data/glade/chat_control_popup_menu.glade.h:4
+msgid "Toggle End to End Encryption"
+msgstr "OpenPGP-Verschlüsselung aktivieren"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:5
-#: ../data/glade/gc_control_popup_menu.glade.h:6
-msgid "_Compact View    Alt+C"
-msgstr "_Kompakte Ansicht Alt+C"
+msgid "Toggle Open_PGP Encryption"
+msgstr "Open_PGP-Verschlüsselung aktivieren"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:6
-#: ../data/glade/gc_control_popup_menu.glade.h:8
-#: ../data/glade/gc_occupants_menu.glade.h:5
-#: ../data/glade/roster_contact_context_menu.glade.h:13
+#: ../data/glade/gc_occupants_menu.glade.h:4
+msgid "_Add to Roster"
+msgstr "Zur Kont_aktliste hinzufügen"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:7
+#: ../data/glade/gc_control_popup_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/roster_window.glade.h:19
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2596
 msgid "_History"
 msgstr "_Verlauf"
 
+#: ../data/glade/chat_to_muc_window.glade.h:1
+msgid "In_vite"
+msgstr "_Einladen zu"
+
+#: ../data/glade/chat_to_muc_window.glade.h:2
+msgid "Invite Friends !"
+msgstr "Freunde einladen !"
+
+#: ../data/glade/chat_to_muc_window.glade.h:3
+#, fuzzy
+msgid "MUC server"
+msgstr "Beobachter"
+
+#: ../data/glade/chat_to_muc_window.glade.h:4
+msgid "Please select a MUC server."
+msgstr "Bitte wählen Sie einen MUC-Server aus."
+
+#: ../data/glade/chat_to_muc_window.glade.h:5
+msgid ""
+"You are going to begin a Multi-User Chat.\n"
+"Select the contacts you want to invite"
+msgstr ""
+"Sie beginnen einen Multi-User Chat.\n"
+"Wählen Sie die Kontakte, die Sie einladen möchten"
+
 #: ../data/glade/data_form_window.glade.h:1
 msgid "Fill in the form."
 msgstr "Formular ausfüllen"
@@ -870,6 +1049,15 @@ msgstr "Raum-Konfiguration"
 msgid "Edit Groups"
 msgstr "Gruppen bearbeiten"
 
+#: ../data/glade/features_window.glade.h:2
+msgid "<b>List of possible features in Gajim:</b>"
+msgstr "<b>Liste möglicher Gajim-Features:</b>"
+
+#: ../data/glade/features_window.glade.h:3
+#, fuzzy
+msgid "Features"
+msgstr "Fähigkeiten des Servers"
+
 #: ../data/glade/filetransfers.glade.h:1
 msgid "A list of active, completed and stopped file transfers"
 msgstr "Eine Liste der aktiven, fertigen und angehaltenen Dateitransfers"
@@ -884,7 +1072,8 @@ msgstr "Bricht den ausgewählten Dateitransfer ab"
 
 #: ../data/glade/filetransfers.glade.h:4
 msgid "Cancels the selected file transfer and removes incomplete file"
-msgstr "Bricht den ausgewählten Dateitransfer ab und löscht unvollständige Daten"
+msgstr ""
+"Bricht den ausgewählten Dateitransfer ab und löscht unvollständige Daten"
 
 #: ../data/glade/filetransfers.glade.h:5
 msgid "Clean _up"
@@ -904,22 +1093,27 @@ msgstr "Entferne Dateitransfer von Liste"
 
 #: ../data/glade/filetransfers.glade.h:9
 msgid "Removes completed, cancelled and failed file transfers from the list"
-msgstr "Entfernt beendete, abgebrochene und fehlgeschlagene Dateitransfers von der Liste"
+msgstr ""
+"Entfernt beendete, abgebrochene und fehlgeschlagene Dateitransfers von der "
+"Liste"
 
 #: ../data/glade/filetransfers.glade.h:10
 msgid "Shows a list of file transfers between you and others"
 msgstr "Zeigt eine Liste von Dateiübertragungen an"
 
 #: ../data/glade/filetransfers.glade.h:11
-msgid "This action removes single file transfer from the list. If the transfer is active, it is first stopped and then removed"
-msgstr "Diese Aktion entfernt einen Dateitransfer von der Liste. Falls der Transfer aktiv ist, wird er erst gestoppt, dann entfernt"
+msgid ""
+"This action removes single file transfer from the list. If the transfer is "
+"active, it is first stopped and then removed"
+msgstr ""
+"Diese Aktion entfernt einen Dateitransfer von der Liste. Falls der Transfer "
+"aktiv ist, wird er erst gestoppt, dann entfernt"
 
 #: ../data/glade/filetransfers.glade.h:12
 msgid "When a file transfer is complete show a popup notification"
 msgstr "Zeige eine Benachrichtigung, wenn die Datei komplett übertragen wurde."
 
-#: ../data/glade/filetransfers.glade.h:13
-#: ../src/filetransfers_window.py:761
+#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:790
 msgid "_Continue"
 msgstr "_Fortsetzen"
 
@@ -927,8 +1121,7 @@ msgstr "_Fortsetzen"
 msgid "_Notify me when a file transfer is complete"
 msgstr "_Benachrichtige mich, wenn der Dateitransfer abgeschlossen ist"
 
-#: ../data/glade/filetransfers.glade.h:15
-#: ../src/filetransfers_window.py:188
+#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:191
 msgid "_Open Containing Folder"
 msgstr "_Öffne Ordner"
 
@@ -1017,11 +1210,11 @@ msgid "_Background:"
 msgstr "_Hintergrund:"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:1
-msgid "Change _Nickname"
+msgid "Change _Nickname..."
 msgstr "_Spitzname ändern"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:2
-msgid "Change _Subject"
+msgid "Change _Subject..."
 msgstr "_Thema ändern"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:3
@@ -1029,50 +1222,58 @@ msgid "Click to see past conversation in this room"
 msgstr "Klicken, um die früheren Unterhaltungen in diesem Raum zu sehen"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:4
-msgid "Configure _Room"
+msgid "Configure _Room..."
 msgstr "_Raum einrichten"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:5
-msgid "_Bookmark This Room"
+msgid "_Bookmark"
 msgstr "Raum zu _Lesezeichen hinzufügen"
 
-#: ../data/glade/gc_control_popup_menu.glade.h:7
-msgid "_Destroy room"
-msgstr "_Raum zerstören"
+#: ../data/glade/gc_control_popup_menu.glade.h:6
+msgid "_Destroy Room"
+msgstr "_Raum auflösen"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:8
+msgid "_Manage Room"
+msgstr "Raum verwalten"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:9
+msgid "_Minimize on close"
+msgstr "Beim Schließen _minimieren"
 
 #: ../data/glade/gc_occupants_menu.glade.h:1
 msgid "Mo_derator"
 msgstr "Mo_derator"
 
-#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:2
+msgid "Occupant Actions"
+msgstr "Benutzer Aktionen"
+
+#: ../data/glade/gc_occupants_menu.glade.h:5
 msgid "_Admin"
 msgstr "_Admin"
 
-#: ../data/glade/gc_occupants_menu.glade.h:4
+#: ../data/glade/gc_occupants_menu.glade.h:6
 msgid "_Ban"
 msgstr "_Verbannen"
 
-#: ../data/glade/gc_occupants_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:8
 msgid "_Kick"
 msgstr "_Rausschmeißen"
 
-#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:9
 msgid "_Member"
 msgstr "_Mitglied"
 
-#: ../data/glade/gc_occupants_menu.glade.h:8
-msgid "_Occupant Actions"
-msgstr "_Benutzer Aktionen"
-
-#: ../data/glade/gc_occupants_menu.glade.h:9
+#: ../data/glade/gc_occupants_menu.glade.h:10
 msgid "_Owner"
 msgstr "_Besitzer"
 
-#: ../data/glade/gc_occupants_menu.glade.h:10
+#: ../data/glade/gc_occupants_menu.glade.h:11
 msgid "_Send Private Message"
 msgstr "Private Nachricht _senden"
 
-#: ../data/glade/gc_occupants_menu.glade.h:11
+#: ../data/glade/gc_occupants_menu.glade.h:12
 msgid "_Voice"
 msgstr "_Stimme verleihen"
 
@@ -1080,15 +1281,13 @@ msgstr "_Stimme verleihen"
 msgid "Create new post"
 msgstr "Neue Nachricht"
 
-#: ../data/glade/groups_post_window.glade.h:2
-#: ../src/common/helpers.py:268
+#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:280
 msgid "From"
 msgstr "Von"
 
 #. holds subject
-#: ../data/glade/groups_post_window.glade.h:3
-#: ../src/history_manager.py:142
-#: ../src/history_manager.py:173
+#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:147
+#: ../src/history_manager.py:178
 msgid "Subject"
 msgstr "Betreff"
 
@@ -1099,14 +1298,17 @@ msgid ""
 "You can select logs from the left and/or search database from below.\n"
 "\n"
 "<b>WARNING:</b>\n"
-"If you plan to do massive deletions, please make sure Gajim is not running. Generally avoid deletions with contacts you currently chat with."
+"If you plan to do massive deletions, please make sure Gajim is not running. "
+"Generally avoid deletions with contacts you currently chat with."
 msgstr ""
 "<big><b>Willkommen zum Gajim Verlaufsmanager</b></big>\n"
 "\n"
 "Sie können Logs links auswählen und/oder unten die Datenbank durchsuchen.\n"
 "\n"
 "<b>WARNUNG:</b>\n"
-"Wenn Sie massiv Daten löschen möchten, stellen Sie sicher, dass Gajim nicht läuft. Vermeiden Sie generell Löschungen von Kontakten, mit denen Sie gerade chatten."
+"Wenn Sie massiv Daten löschen möchten, stellen Sie sicher, dass Gajim nicht "
+"läuft. Vermeiden Sie generell Löschungen von Kontakten, mit denen Sie gerade "
+"chatten."
 
 #: ../data/glade/history_manager.glade.h:7
 msgid "Delete"
@@ -1125,25 +1327,50 @@ msgid "_Search Database"
 msgstr "_Suche Datenbank"
 
 #: ../data/glade/history_window.glade.h:1
-msgid "Build custom query"
-msgstr "Personalisierte Anfrage bauen"
+msgid "<b>History Viewer</b>"
+msgstr "<b>Verlauf ansehen</b>"
 
 #: ../data/glade/history_window.glade.h:2
+msgid "<b>JID Selection</b>"
+msgstr "<b>JID Auswahl</b>"
+
+#: ../data/glade/history_window.glade.h:3
+msgid ""
+"Choose the chatlog you want to view. \n"
+"Enter the jid of a groupchat or a contact here. For online accounts you can "
+"even enter a a contact's nickname."
+msgstr ""
+
+#: ../data/glade/history_window.glade.h:5 ../src/history_window.py:224
 msgid "Conversation History"
 msgstr "Unterhaltungsverlauf"
 
-#: ../data/glade/history_window.glade.h:3
-msgid "Query Builder..."
-msgstr "Anfrage-Baukasten ..."
+#: ../data/glade/history_window.glade.h:6
+msgid ""
+"Current History\n"
+"All Chat Histories"
+msgstr ""
 
-#: ../data/glade/history_window.glade.h:4
+#: ../data/glade/history_window.glade.h:8
+#: ../data/glade/search_window.glade.h:2
 msgid "Search"
 msgstr "Suche"
 
-#: ../data/glade/history_window.glade.h:5
+#: ../data/glade/history_window.glade.h:9
+#: ../data/glade/zeroconf_information_window.glade.h:10
+msgid "_Log conversation history"
+msgstr "Unterhaltungs-Ver_lauf"
+
+#: ../data/glade/history_window.glade.h:10
+#: ../data/glade/search_window.glade.h:5 ../src/disco.py:1182
 msgid "_Search"
 msgstr "_Suche"
 
+#: ../data/glade/history_window.glade.h:11
+#, fuzzy
+msgid "in"
+msgstr "Neun"
+
 #: ../data/glade/invitation_received_dialog.glade.h:1
 msgid "Accept"
 msgstr "Akzeptieren"
@@ -1157,8 +1384,7 @@ msgstr "Ablehnen"
 msgid "Invitation Received"
 msgstr "Einladung empfangen"
 
-#: ../data/glade/join_groupchat_window.glade.h:1
-#: ../src/dialogs.py:1208
+#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1385
 msgid "Join Group Chat"
 msgstr "Betrete Gruppenchat"
 
@@ -1167,14 +1393,14 @@ msgid "Join this room automatically when I connect"
 msgstr "Betrete diesen Raum automatisch, wenn ich mich verbinde"
 
 #: ../data/glade/join_groupchat_window.glade.h:3
-#: ../data/glade/manage_bookmarks_window.glade.h:4
+#: ../data/glade/manage_bookmarks_window.glade.h:5
 #: ../data/glade/profile_window.glade.h:24
-#: ../data/glade/vcard_information_window.glade.h:29
+#: ../data/glade/vcard_information_window.glade.h:31
 msgid "Nickname:"
 msgstr "Spitzname:"
 
 #: ../data/glade/join_groupchat_window.glade.h:4
-#: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/manage_bookmarks_window.glade.h:6
 msgid "Password:"
 msgstr "Passwort:"
 
@@ -1183,13 +1409,12 @@ msgid "Recently:"
 msgstr "Kürzlich:"
 
 #: ../data/glade/join_groupchat_window.glade.h:6
-#: ../data/glade/manage_bookmarks_window.glade.h:7
+#: ../data/glade/manage_bookmarks_window.glade.h:8
 msgid "Room:"
 msgstr "Raum:"
 
-#: ../data/glade/join_groupchat_window.glade.h:7
-#: ../src/disco.py:1163
-#: ../src/disco.py:1546
+#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1170
+#: ../src/disco.py:1625
 msgid "_Join"
 msgstr "_Betreten"
 
@@ -1209,15 +1434,19 @@ msgstr "Wenn aktiviert, tritt Gajim dem Gruppenchat beim Programmstart bei"
 msgid "Manage Bookmarks"
 msgstr "Verwalte Lesezeichen"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:4
+msgid "Minimize on Auto Join"
+msgstr "Minimieren bei Auto-Join"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:7
 msgid "Print status:"
 msgstr "Status anzeigen:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:8
+#: ../data/glade/manage_bookmarks_window.glade.h:9
 msgid "Server:"
 msgstr "Server:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:9
+#: ../data/glade/manage_bookmarks_window.glade.h:10
 msgid "Title:"
 msgstr "Titel:"
 
@@ -1243,10 +1472,14 @@ msgstr "Proxy Verwaltung"
 
 #: ../data/glade/manage_proxies_window.glade.h:6
 #: ../data/glade/profile_window.glade.h:23
-#: ../data/glade/vcard_information_window.glade.h:28
+#: ../data/glade/vcard_information_window.glade.h:30
 msgid "Name:"
 msgstr "Name:"
 
+#: ../data/glade/manage_proxies_window.glade.h:7
+msgid "Pass_word:"
+msgstr "Pass_wort:"
+
 #: ../data/glade/manage_proxies_window.glade.h:8
 msgid "Type:"
 msgstr "Art:"
@@ -1255,18 +1488,21 @@ msgstr "Art:"
 msgid "Use authentication"
 msgstr "Verwende Authentifizierung"
 
+#: ../data/glade/manage_proxies_window.glade.h:10
+msgid "_Host:"
+msgstr "_Server:"
+
 #: ../data/glade/message_window.glade.h:1
 msgid "Click to insert an emoticon (Alt+M)"
 msgstr "Klicken Sie, um ein Emoticon einzufügen (Alt+M)"
 
-#: ../data/glade/message_window.glade.h:2
-#: ../src/chat_control.py:1109
+#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1268
 msgid "OpenPGP Encryption"
-msgstr "OpenPGP-Verschlüsselung"
+msgstr "Open_PGP-Verschlüsselung"
 
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:4
-#: ../data/glade/roster_window.glade.h:10
+#: ../data/glade/roster_window.glade.h:12
 #: ../data/glade/subscription_request_window.glade.h:6
 msgid "_Actions"
 msgstr "_Aktionen"
@@ -1274,7 +1510,7 @@ msgstr "_Aktionen"
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:6
 #: ../data/glade/xml_console_window.glade.h:11
-#: ../src/filetransfers_window.py:245
+#: ../src/filetransfers_window.py:252
 msgid "_Send"
 msgstr "_Senden"
 
@@ -1290,36 +1526,51 @@ msgstr "<b>Erweiterter Konfigurations-Editor</b>"
 msgid "<b>Applications</b>"
 msgstr "<b>Anwendungen</b>"
 
+#: ../data/glade/preferences_window.glade.h:3
+#, fuzzy
+msgid "<b>Chat Appearance</b>"
+msgstr "<b>Eine Regel bearbeiten</b>"
+
 #. a header for custom browser/client/file manager. so translate sth like: Custom Settings
-#: ../data/glade/preferences_window.glade.h:4
+#: ../data/glade/preferences_window.glade.h:5
 msgid "<b>Custom</b>"
 msgstr "<b>Benutzerdefiniert</b>"
 
-#: ../data/glade/preferences_window.glade.h:5
+#: ../data/glade/preferences_window.glade.h:6
 msgid "<b>Format of a line</b>"
 msgstr "<b>Format einer Zeile</b>"
 
-#: ../data/glade/preferences_window.glade.h:6
+#: ../data/glade/preferences_window.glade.h:7
 msgid "<b>GMail Options</b>"
 msgstr "<b>Gmail-Optionen</b>"
 
-#: ../data/glade/preferences_window.glade.h:7
-msgid "<b>Interface Customization</b>"
-msgstr "<b>Benutzerdefiniertes Aussehen</b>"
-
 #: ../data/glade/preferences_window.glade.h:9
 msgid "<b>Preset Status Messages</b>"
 msgstr "<b>Voreingestellte Status-Nachrichten</b>"
 
+#: ../data/glade/preferences_window.glade.h:10
+#, fuzzy
+msgid "<b>Privacy</b>"
+msgstr "<i>Privatsphären-Liste</i>"
+
 #: ../data/glade/preferences_window.glade.h:11
+msgid "<b>Roster Appearance</b>"
+msgstr "<b>Roster-Aussehen</b>"
+
+#: ../data/glade/preferences_window.glade.h:13
+#, fuzzy
+msgid "<b>Themes</b>"
+msgstr "<b>Eigenschaften</b>"
+
+#: ../data/glade/preferences_window.glade.h:14
 msgid "<b>Visual Notifications</b>"
 msgstr "<b>Visuelle Benachrichtigungen</b>"
 
-#: ../data/glade/preferences_window.glade.h:12
+#: ../data/glade/preferences_window.glade.h:15
 msgid "Advanced"
 msgstr "Erweitert"
 
-#: ../data/glade/preferences_window.glade.h:13
+#: ../data/glade/preferences_window.glade.h:16
 msgid ""
 "All chat states\n"
 "Composing only\n"
@@ -1329,39 +1580,44 @@ msgstr ""
 "Nur beim Schreiben\n"
 "Deaktiviert"
 
-#: ../data/glade/preferences_window.glade.h:16
+#: ../data/glade/preferences_window.glade.h:19
 msgid "Allow _OS information to be sent"
 msgstr "Sende _Betriebssystem-Information"
 
-#: ../data/glade/preferences_window.glade.h:17
+#: ../data/glade/preferences_window.glade.h:20
 msgid "Allow popup/notifications when I'm _away/na/busy/invisible"
-msgstr "Popups/Benachrichtigungen _zulassen, wenn ich abwesend/NA/beschäftigt/unsichtbar bin"
-
-#: ../data/glade/preferences_window.glade.h:18
-msgid "Also known as iChat style"
-msgstr "Auch als iChat-Stil bekannt"
+msgstr ""
+"Popups/Benachrichtigungen _zulassen, wenn ich abwesend/NA/beschäftigt/"
+"unsichtbar bin"
 
-#: ../data/glade/preferences_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:21
 msgid "Always check to see if Gajim is the _default Jabber client on startup"
 msgstr "Beim Starten überprüfen, ob Gajim der _Standard-Jabber-Client ist"
 
-#: ../data/glade/preferences_window.glade.h:20
-msgid "An example: If you have enabled status message for away, Gajim won't ask you anymore for a status message when you change your status to away; it will use the default one set here"
-msgstr "Ein Beispiel: Wenn Sie eine Status-Nachricht für Abwesend aktiviert haben, wird Sie Gajim nicht noch einmal nach einer Status-Nachricht fragen, wenn Sie Ihren Status zu Abwesend ändern; es wird die hier definierte Nachricht verwendet."
+#: ../data/glade/preferences_window.glade.h:22
+msgid ""
+"An example: If you have enabled status message for away, Gajim won't ask you "
+"anymore for a status message when you change your status to away; it will "
+"use the default one set here"
+msgstr ""
+"Ein Beispiel: Wenn Sie eine Status-Nachricht für Abwesend aktiviert haben, "
+"wird Sie Gajim nicht noch einmal nach einer Status-Nachricht fragen, wenn "
+"Sie Ihren Status zu Abwesend ändern; es wird die hier definierte Nachricht "
+"verwendet."
 
-#: ../data/glade/preferences_window.glade.h:21
+#: ../data/glade/preferences_window.glade.h:23
 msgid "Ask status message when I:"
 msgstr "Erfrage Status-Nachricht beim: "
 
-#: ../data/glade/preferences_window.glade.h:22
+#: ../data/glade/preferences_window.glade.h:24
 msgid "Auto _away after:"
 msgstr "Automatisch _abwesend nach:"
 
-#: ../data/glade/preferences_window.glade.h:23
+#: ../data/glade/preferences_window.glade.h:25
 msgid "Auto _not available after:"
 msgstr "Automatisch _nicht verfügbar nach:"
 
-#: ../data/glade/preferences_window.glade.h:24
+#: ../data/glade/preferences_window.glade.h:26
 msgid ""
 "Autodetect on every Gajim startup\n"
 "Always use GNOME default applications\n"
@@ -1372,28 +1628,28 @@ msgstr ""
 "Bei jedem Programmstart automatisch erkennen\n"
 "Immer GNOME Standard-Anwendungen verwenden\n"
 "Immer KDE Standard-Anwendungen verwenden\n"
+"Immer XFCE4 Standard-Anwendungen verwenden\n"
 "Benutzerdefiniert"
 
-#: ../data/glade/preferences_window.glade.h:29
-msgid "Chat"
-msgstr "Chat"
-
-#: ../data/glade/preferences_window.glade.h:30
-msgid "Check this option, only if someone you don't have in the roster spams/annoys you. Use with caution, because it blocks all messages from any contact that is not in the roster"
-msgstr "Aktivieren Sie diese Option nur, wenn jemand, der nicht in ihrer Liste ist, Spam an Sie verschickt oder Sie belästigt. Verwenden Sie diese Option mit Vorsicht, da sie alle Nachrichten von allen Kontakten blockiert, die nicht in ihrer Liste sind."
-
 #: ../data/glade/preferences_window.glade.h:31
+msgid ""
+"Check this option, only if someone you don't have in the roster spams/annoys "
+"you. Use with caution, because it blocks all messages from any contact that "
+"is not in the roster"
+msgstr ""
+"Aktivieren Sie diese Option nur, wenn jemand, der nicht in ihrer Liste ist, "
+"Spam an Sie verschickt oder Sie belästigt. Verwenden Sie diese Option mit "
+"Vorsicht, da sie alle Nachrichten von allen Kontakten blockiert, die nicht "
+"in ihrer Liste sind."
+
+#: ../data/glade/preferences_window.glade.h:32
 msgid "Configure color and font of the interface"
 msgstr "Farbe und Schriftart für die Oberfläche konfigurieren"
 
-#: ../data/glade/preferences_window.glade.h:32
+#: ../data/glade/preferences_window.glade.h:33
 msgid "Default Status Messages"
 msgstr "Vorgegebene Status-Nachrichten"
 
-#: ../data/glade/preferences_window.glade.h:33
-msgid "Default status _iconset:"
-msgstr "Standard Status-S_ymbole:"
-
 #: ../data/glade/preferences_window.glade.h:34
 msgid ""
 "Determined by sender\n"
@@ -1417,82 +1673,96 @@ msgid "Display status _messages of contacts in roster"
 msgstr "Zeige die Status_nachrichten von Kontakten im Roster"
 
 #: ../data/glade/preferences_window.glade.h:40
-msgid "Displayed Chat state noti_fications:"
-msgstr "Zeige Benachrichtigung über Chatstatus:"
+msgid "Emoticons:"
+msgstr "Emoticons:"
 
 #: ../data/glade/preferences_window.glade.h:41
-msgid "E_very 5 minutes"
-msgstr "Alle 5 _Minuten"
+msgid "Events"
+msgstr "Ereignisse"
 
 #: ../data/glade/preferences_window.glade.h:42
-msgid "Emoticons:"
-msgstr "Emoticons:"
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"display in chat windows."
+msgstr ""
+"Gajim kann Meta-Information, die eine Unterhaltung mit einem Kontakt "
+"betrifft, empfangen und versenden. Hier können Sie definieren, welche "
+"Chatstatus Sie in Ihrem Chatfenster anzeigen möchten."
 
 #: ../data/glade/preferences_window.glade.h:43
-msgid "Events"
-msgstr "Ereignisse"
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"send to the other party."
+msgstr ""
+"Gajim kann Meta-Information, die eine Unterhaltung mit einem Kontakt "
+"betrifft, empfangen und versenden. Hier können Sie definieren, welche "
+"Chatstates Sie Ihrem Gegenüber senden möchten."
 
 #: ../data/glade/preferences_window.glade.h:44
-msgid "Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to display in chat windows."
-msgstr "Gajim kann Meta-Information, die eine Unterhaltung mit einem Kontakt betrifft, empfangen und versenden. Hier können Sie definieren, welche Chatstatus Sie in Ihrem Chatfenster anzeigen möchten."
-
-#: ../data/glade/preferences_window.glade.h:45
-msgid "Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to send to the other party."
-msgstr "Gajim kann Meta-Information, die eine Unterhaltung mit einem Kontakt betrifft, empfangen und versenden. Hier können Sie definieren, welche Chatstates Sie Ihrem Gegenüber senden möchten."
+msgid ""
+"Gajim will notify you via a popup window in the bottom right of the screen "
+"about contacts that just signed out"
+msgstr ""
+"Gajim wird Sie über ein Popup-Fenster in der rechten unteren Bildschirmecke "
+"über Kontakte informieren, die sich gerade abgemeldet haben"
 
 #: ../data/glade/preferences_window.glade.h:46
-msgid "Gajim will automatically show new events by popping up the relevant window"
-msgstr "Gajim wird neue Ereignisse automatisch anzeigen, indem das betreffende Fenster geöffnet wird"
+msgid "Hides buttons in chatwindows to "
+msgstr "Versteckt die Knöpfe im Gruppenchat-Fenster."
 
 #: ../data/glade/preferences_window.glade.h:47
-msgid "Gajim will notify you for new events via a popup in the bottom right of the screen"
-msgstr "Gajim wird Sie über neue Ereignisse mit einem Popup in der rechten unteren Ecke des Bildschirms benachrichtigen"
+msgid ""
+"If checked, Gajim will also include information about the sender of the new "
+"emails"
+msgstr ""
+"Wenn aktiviert, wird Gajim auch Informationen über den Absender von neuen E-"
+"Mails hinzufügen."
 
 #: ../data/glade/preferences_window.glade.h:48
-msgid "Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed in"
-msgstr "Gajim wird Sie über ein Popup-Fenster in der rechten unteren Ecke des Bildschirmes über Kontakte informieren, die sich gerade angemeldet haben"
+msgid ""
+"If checked, Gajim will display avatars of contacts in roster window and in "
+"group chats"
+msgstr ""
+"Wenn aktiviert, wird Gajim einen Avatar im Roster-Fenster und in "
+"Gruppenchats einblenden"
 
 #: ../data/glade/preferences_window.glade.h:49
-msgid "Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed out"
-msgstr "Gajim wird Sie über ein Popup-Fenster in der rechten unteren Bildschirmecke über Kontakte informieren, die sich gerade abgemeldet haben"
+msgid ""
+"If checked, Gajim will display status messages of contacts under the contact "
+"name in roster window and in group chats"
+msgstr ""
+"Wenn aktiviert, wird Gajim für jeden Kontakt unter dem Kontaktnamen im "
+"Roster und im Gruppenchat-Fenster die Statusnachricht anzeigen"
 
 #: ../data/glade/preferences_window.glade.h:50
-msgid "Gajim will only change the icon of the contact that triggered the new event"
-msgstr "Gajim wird nur das Symbol des Kontaktes ändern, von dem die neue Nachricht kommt"
-
-#: ../data/glade/preferences_window.glade.h:52
-msgid "If checked, Gajim will also include information about the sender of the new emails"
-msgstr "Wenn aktiviert, wird Gajim auch Informationen über den Absender von neuen E-Mails hinzufügen."
-
-#: ../data/glade/preferences_window.glade.h:53
-msgid "If checked, Gajim will display avatars of contacts in roster window and in group chats"
-msgstr "Wenn aktiviert, wird Gajim einen Avatar im Roster-Fenster und in Gruppenchats einblenden"
-
-#: ../data/glade/preferences_window.glade.h:54
-msgid "If checked, Gajim will display status messages of contacts under the contact name in roster window and in group chats"
-msgstr "Wenn aktiviert, wird Gajim für jeden Kontakt unter dem Kontaktnamen im Roster und im Gruppenchat-Fenster die Statusnachricht anzeigen"
-
-#: ../data/glade/preferences_window.glade.h:55
-msgid "If checked, Gajim will remember the roster and chat window positions in the screen and the sizes of them next time you run it"
-msgstr "Wenn aktiviert, erinnert sich Gajim an die Position und Größe der Kontaktliste auf dem Bildschirm beim nächsten Start"
-
-#: ../data/glade/preferences_window.glade.h:56
-msgid "If checked, Gajim will use protocol-specific status icons. (eg. A contact from MSN will have the equivalent msn icon for status online, away, busy, etc...)"
-msgstr "Wenn Sie diese Option aktivieren wird Gajim Protokoll-spezifische Symbole verwenden (Ein Kontakt aus MSN wird z.B. das äquivalente MSN-Symbol für den Status \"Anwesend\", \"Abwesend\", \"Beschäftigt\", etc. haben)"
+msgid ""
+"If checked, Gajim will use protocol-specific status icons. (eg. A contact "
+"from MSN will have the equivalent msn icon for status online, away, busy, "
+"etc...)"
+msgstr ""
+"Wenn Sie diese Option aktivieren wird Gajim Protokoll-spezifische Symbole "
+"verwenden (Ein Kontakt aus MSN wird z.B. das äquivalente MSN-Symbol für den "
+"Status \"Anwesend\", \"Abwesend\", \"Beschäftigt\", etc. haben)"
 
-#: ../data/glade/preferences_window.glade.h:57
-msgid "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent animated or static graphical emoticons"
-msgstr "Wenn nicht deaktivert, wird Gajim ASCII-Smilies wie ':)' mit äquivalenten graphischen Emoticons ersetzen"
+#: ../data/glade/preferences_window.glade.h:51
+msgid ""
+"If not disabled, Gajim will replace ascii smilies like ':)' with equivalent "
+"animated or static graphical emoticons"
+msgstr ""
+"Wenn nicht deaktivert, wird Gajim ASCII-Smilies wie ':)' mit äquivalenten "
+"graphischen Emoticons ersetzen"
 
-#: ../data/glade/preferences_window.glade.h:58
+#: ../data/glade/preferences_window.glade.h:52
 msgid "Ignore rich content in incoming messages"
 msgstr "Formatierten Inhalt in ankommenden Nachrichten ignorieren"
 
-#: ../data/glade/preferences_window.glade.h:59
+#: ../data/glade/preferences_window.glade.h:53
 msgid "Ma_nage..."
 msgstr "_Verwalte..."
 
-#: ../data/glade/preferences_window.glade.h:60
+#: ../data/glade/preferences_window.glade.h:54
 msgid ""
 "Never\n"
 "Always\n"
@@ -1504,183 +1774,187 @@ msgstr ""
 "Pro Account\n"
 "Pro Typ"
 
-#: ../data/glade/preferences_window.glade.h:64
-msgid "Notify me about contacts that: "
-msgstr "Ãœber Kontakte benachrichtigen, die sich "
+#: ../data/glade/preferences_window.glade.h:58
+msgid "Notify me about contacts that sign _in"
+msgstr "Ãœber Kontakte benachrichtigen, die sich einloggen"
 
-#: ../data/glade/preferences_window.glade.h:65
+#: ../data/glade/preferences_window.glade.h:59
+msgid "Notify me about contacts that sign _out"
+msgstr "Ãœber Kontakte benachrichtigen, die sich abmelden"
+
+#: ../data/glade/preferences_window.glade.h:60
 msgid "Notify on new _GMail email"
 msgstr "Ãœber neue _Google Mail E-Mails benachrichtigen"
 
-#: ../data/glade/preferences_window.glade.h:66
-msgid "On every _message"
-msgstr "In jeder _Zeile"
-
-#: ../data/glade/preferences_window.glade.h:67
-msgid "One message _window:"
-msgstr "Ein _Nachrichtenfenster:"
-
-#: ../data/glade/preferences_window.glade.h:68
-msgid "Outgoing Chat state noti_fications:"
-msgstr "_Sende Chatstatus:"
-
-#: ../data/glade/preferences_window.glade.h:69
+#: ../data/glade/preferences_window.glade.h:61
 msgid "Play _sounds"
 msgstr "_Klänge abspielen"
 
-#: ../data/glade/preferences_window.glade.h:70
+#: ../data/glade/preferences_window.glade.h:62
+msgid ""
+"Pop it up\n"
+"Notify me about it\n"
+"Show only in roster"
+msgstr ""
+"Popup öffnen\n"
+"Benachrichtige mich darüber\n"
+"Nur im Roster anzeigen"
+
+#: ../data/glade/preferences_window.glade.h:65
 msgid "Preferences"
 msgstr "Einstellungen"
 
-#: ../data/glade/preferences_window.glade.h:71
-msgid "Print time:"
-msgstr "Zeit anzeigen:"
-
-#: ../data/glade/preferences_window.glade.h:72
-msgid "Save _position and size for roster and chat windows"
-msgstr "Speichere _Position und Größe der Kontaktliste und Chatfenster"
+#: ../data/glade/preferences_window.glade.h:66
+#, fuzzy
+msgid "Privacy"
+msgstr "Privatliste"
 
-#: ../data/glade/preferences_window.glade.h:73
+#: ../data/glade/preferences_window.glade.h:67
 msgid "Set status message to reflect currently playing _music track"
 msgstr "Setze Status-Nachricht auf den aktuell spielenden _Musiktitel"
 
-#: ../data/glade/preferences_window.glade.h:74
-msgid "Show only in _roster"
-msgstr "Nur in der _Kontaktliste anzeigen"
-
-#: ../data/glade/preferences_window.glade.h:75
+#: ../data/glade/preferences_window.glade.h:68
 msgid "Sign _in"
 msgstr "_anmelden"
 
-#: ../data/glade/preferences_window.glade.h:76
+#: ../data/glade/preferences_window.glade.h:69
 msgid "Sign _out"
 msgstr "a_bmelden"
 
-#: ../data/glade/preferences_window.glade.h:77
-msgid "Some messages may include rich content (formatting, colors etc). If checked, Gajim will just display the raw message text."
-msgstr "Einige Nachrichten könnten formatierten Inhalt enthalten (Farben, Schriftarten etc.). Wenn aktiviert, wird Gajim nur den puren Nachrichtentext anzeigen."
+#: ../data/glade/preferences_window.glade.h:70
+msgid ""
+"Some messages may include rich content (formatting, colors etc). If checked, "
+"Gajim will just display the raw message text."
+msgstr ""
+"Einige Nachrichten könnten formatierten Inhalt enthalten (Farben, "
+"Schriftarten etc.). Wenn aktiviert, wird Gajim nur den puren Nachrichtentext "
+"anzeigen."
 
-#: ../data/glade/preferences_window.glade.h:78
+#: ../data/glade/preferences_window.glade.h:71
 msgid "Status"
 msgstr "Status"
 
-#: ../data/glade/preferences_window.glade.h:79
+#: ../data/glade/preferences_window.glade.h:72
+msgid "Status _iconset:"
+msgstr "Status-S_ymbole:"
+
+#: ../data/glade/preferences_window.glade.h:73
 msgid "T_heme:"
 msgstr "T_hema:"
 
-#: ../data/glade/preferences_window.glade.h:80
+#: ../data/glade/preferences_window.glade.h:74
 msgid "The auto away status message"
 msgstr "Automatische Statusnachricht für Abwesend"
 
-#: ../data/glade/preferences_window.glade.h:81
+#: ../data/glade/preferences_window.glade.h:75
 msgid "The auto not available status message"
 msgstr "Automatische Statusnachricht für Nicht verfügbar"
 
-#: ../data/glade/preferences_window.glade.h:82
+#: ../data/glade/preferences_window.glade.h:76
 msgid "Treat all incoming messages as:"
 msgstr " Behandle alle eingehenden Nachrichten als:"
 
-#: ../data/glade/preferences_window.glade.h:83
+#: ../data/glade/preferences_window.glade.h:77
 msgid "Use _transports iconsets"
 msgstr "_Transport-Symbole verwenden"
 
-#: ../data/glade/preferences_window.glade.h:84
+#: ../data/glade/preferences_window.glade.h:78
+msgid "Use only one message _window:"
+msgstr "Nur ein _Nachrichtenfenster:"
+
+#: ../data/glade/preferences_window.glade.h:79
 msgid "Use system _default"
 msgstr "Benutze System-_Voreinstellung"
 
-#: ../data/glade/preferences_window.glade.h:85
-msgid "Use t_rayicon (aka. notification area icon)"
-msgstr "Verwende _Trayicon (Benachrichtigungs-Icon)"
-
-#: ../data/glade/preferences_window.glade.h:86
-msgid "When a new event (message, file transfer request etc..) is received, the following methods may be used to inform you about it. Please note that events about new messages only occur if it is a new message from a contact you are not already chatting with"
-msgstr "Wenn ein neues Ereignis (Nachricht, Dateitransferanfrage usw.) empfangen wird, können die folgenden Methoden zur Benachrichtigung verwendet werden. Bitte beachten Sie, dass Ereignisse über neue Nachrichten nur auftreten, wenn Sie eine Nachricht von einem Kontakt erhalten, mit dem Sie nicht bereits chatten"
-
-#: ../data/glade/preferences_window.glade.h:87
-msgid "When new event is received"
+#: ../data/glade/preferences_window.glade.h:80
+msgid "When new event is received:"
 msgstr "Wenn neue Nachricht empfangen wird"
 
-#: ../data/glade/preferences_window.glade.h:88
-msgid "Works for Rhythmbox and Muine players. For more players, please visit http://trac.gajim.org/wiki/GajimAndMusicPlayer"
-msgstr "Funktioniert mit Rhythmbox und Muine. Für weitere Wiedergabeprogramme besuchen Sie bitte http://trac.gajim.org/wiki/GajimAndMusicPlayer (Englisch)"
+#: ../data/glade/preferences_window.glade.h:81
+msgid ""
+"Works for Rhythmbox and Muine players. For more players, please visit http://"
+"trac.gajim.org/wiki/GajimAndMusicPlayer"
+msgstr ""
+"Funktioniert mit Rhythmbox und Muine. Für weitere Wiedergabeprogramme "
+"besuchen Sie bitte http://trac.gajim.org/wiki/GajimAndMusicPlayer (Englisch)"
 
-#: ../data/glade/preferences_window.glade.h:89
+#: ../data/glade/preferences_window.glade.h:82
 msgid "_Advanced Notifications Control..."
 msgstr "_Erweiterter Konfigurations-Editor..."
 
-#: ../data/glade/preferences_window.glade.h:90
+#: ../data/glade/preferences_window.glade.h:83
 msgid "_Browser:"
 msgstr "_Browser:"
 
-#: ../data/glade/preferences_window.glade.h:91
+#: ../data/glade/preferences_window.glade.h:84
+msgid "_Display chat state notifications:"
+msgstr "Zeige Benachrichtigung über Chatstatus:"
+
+#: ../data/glade/preferences_window.glade.h:85
 msgid "_File manager:"
 msgstr "_Dateimanager:"
 
-#: ../data/glade/preferences_window.glade.h:92
+#: ../data/glade/preferences_window.glade.h:86
 msgid "_Font:"
 msgstr "_Schriftart:"
 
-#: ../data/glade/preferences_window.glade.h:93
+#: ../data/glade/preferences_window.glade.h:87
 msgid "_Highlight misspelled words"
 msgstr "Falsch geschriebene Wörter _hervorheben"
 
-#: ../data/glade/preferences_window.glade.h:94
+#: ../data/glade/preferences_window.glade.h:88
 msgid "_Ignore events from contacts not in the roster"
 msgstr "Ereignisse von Kontakten, die nicht in der Liste sind, _ignorieren"
 
-#: ../data/glade/preferences_window.glade.h:95
+#: ../data/glade/preferences_window.glade.h:89
 msgid "_Incoming message:"
 msgstr "_Eingehende Nachricht:"
 
-#: ../data/glade/preferences_window.glade.h:96
+#: ../data/glade/preferences_window.glade.h:90
 msgid "_Log status changes of contacts"
 msgstr "_Logge die Statusveränderungen von Kontakten"
 
-#: ../data/glade/preferences_window.glade.h:97
+#: ../data/glade/preferences_window.glade.h:91
 msgid "_Mail client:"
 msgstr "_Mail-Programm:"
 
-#: ../data/glade/preferences_window.glade.h:98
-msgid "_Never"
-msgstr "_Nie"
-
-#: ../data/glade/preferences_window.glade.h:99
-msgid "_Notify me about it"
-msgstr "Be_nachrichtigen"
+#: ../data/glade/preferences_window.glade.h:92
+msgid "_Make message windows compact"
+msgstr "Nachrichtenfenster _kompakt anzeigen"
 
-#: ../data/glade/preferences_window.glade.h:100
+#: ../data/glade/preferences_window.glade.h:93
 msgid "_Open..."
 msgstr "Ö_ffnen..."
 
-#: ../data/glade/preferences_window.glade.h:101
+#: ../data/glade/preferences_window.glade.h:94
 msgid "_Outgoing message:"
 msgstr "_Ausgehende Nachricht:"
 
-#: ../data/glade/preferences_window.glade.h:102
+#: ../data/glade/preferences_window.glade.h:95
 msgid "_Player:"
 msgstr "_Player:"
 
-#: ../data/glade/preferences_window.glade.h:103
-msgid "_Pop it up"
-msgstr "_Öffnen"
-
-#: ../data/glade/preferences_window.glade.h:104
+#: ../data/glade/preferences_window.glade.h:96
 msgid "_Reset to Default Colors"
 msgstr "Auf Standard-Farben zu_rücksetzen"
 
-#: ../data/glade/preferences_window.glade.h:105
+#: ../data/glade/preferences_window.glade.h:97
+msgid "_Send chat state notifications:"
+msgstr "Zeige Benachrichtigung über Chatstatus:"
+
+#: ../data/glade/preferences_window.glade.h:98
 msgid "_Sort contacts by status"
 msgstr "Kontakte nach Status _sortieren"
 
-#: ../data/glade/preferences_window.glade.h:106
+#: ../data/glade/preferences_window.glade.h:99
 msgid "_Status message:"
 msgstr "_Statusnachricht:"
 
-#: ../data/glade/preferences_window.glade.h:107
+#: ../data/glade/preferences_window.glade.h:100
 msgid "_URL:"
 msgstr "_URL:"
 
-#: ../data/glade/preferences_window.glade.h:108
+#: ../data/glade/preferences_window.glade.h:101
 msgid "minutes"
 msgstr "Minuten"
 
@@ -1724,8 +1998,7 @@ msgstr "Jabber-ID:"
 msgid "Order:"
 msgstr "Reihenfolge:"
 
-#: ../data/glade/privacy_list_window.glade.h:11
-#: ../src/dialogs.py:2052
+#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2258
 msgid "Privacy List"
 msgstr "Privatliste"
 
@@ -1800,111 +2073,103 @@ msgid "Company:"
 msgstr "Firma:"
 
 #: ../data/glade/profile_window.glade.h:9
-#: ../data/glade/vcard_information_window.glade.h:13
+#: ../data/glade/vcard_information_window.glade.h:14
 msgid "Country:"
 msgstr "Land:"
 
 #: ../data/glade/profile_window.glade.h:10
-#: ../data/glade/vcard_information_window.glade.h:14
+#: ../data/glade/vcard_information_window.glade.h:15
 msgid "Department:"
 msgstr "Abteilung:"
 
-#: ../data/glade/profile_window.glade.h:11
-#: ../data/glade/vcard_information_window.glade.h:15
-#: ../data/glade/zeroconf_information_window.glade.h:2
-#: ../data/glade/zeroconf_properties_window.glade.h:5
-msgid "E-Mail:"
-msgstr "E-Mail:"
-
 #: ../data/glade/profile_window.glade.h:12
-#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/vcard_information_window.glade.h:17
 msgid "Extra Address:"
 msgstr "Zusatz-Adresse:"
 
 #. Family Name
 #: ../data/glade/profile_window.glade.h:14
-#: ../data/glade/vcard_information_window.glade.h:18
+#: ../data/glade/vcard_information_window.glade.h:19
 msgid "Family:"
 msgstr "Nachname:"
 
 #. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly)
 #: ../data/glade/profile_window.glade.h:16
-#: ../data/glade/vcard_information_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:21
 msgid "Format: YYYY-MM-DD"
 msgstr "Format: JJJJ-MM-TT"
 
-#. Given Name
-#: ../data/glade/profile_window.glade.h:18
+#: ../data/glade/profile_window.glade.h:17
 #: ../data/glade/vcard_information_window.glade.h:22
+msgid "Full Name"
+msgstr "Name"
+
+#. Given Name
+#: ../data/glade/profile_window.glade.h:19
+#: ../data/glade/vcard_information_window.glade.h:24
 msgid "Given:"
 msgstr "Vorname:"
 
-#: ../data/glade/profile_window.glade.h:19
-#: ../data/glade/vcard_information_window.glade.h:23
+#: ../data/glade/profile_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:25
 msgid "Homepage:"
 msgstr "Homepage:"
 
 #. Middle Name
-#: ../data/glade/profile_window.glade.h:21
-#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/profile_window.glade.h:22
+#: ../data/glade/vcard_information_window.glade.h:28
 msgid "Middle:"
 msgstr "Mittelname"
 
-#: ../data/glade/profile_window.glade.h:22
-#: ../data/glade/vcard_information_window.glade.h:27
-msgid "More"
-msgstr "Mehr"
-
 #: ../data/glade/profile_window.glade.h:25
-#: ../data/glade/vcard_information_window.glade.h:31
+#: ../data/glade/vcard_information_window.glade.h:34
 msgid "Personal Info"
 msgstr "Persönliche Details"
 
 #: ../data/glade/profile_window.glade.h:27
-#: ../data/glade/vcard_information_window.glade.h:32
+#: ../data/glade/vcard_information_window.glade.h:35
 msgid "Phone No.:"
 msgstr "Telefon-Nummer:"
 
 #: ../data/glade/profile_window.glade.h:28
-#: ../data/glade/vcard_information_window.glade.h:33
+#: ../data/glade/vcard_information_window.glade.h:36
 msgid "Position:"
 msgstr "Position:"
 
 #: ../data/glade/profile_window.glade.h:29
-#: ../data/glade/vcard_information_window.glade.h:34
+#: ../data/glade/vcard_information_window.glade.h:37
 msgid "Postal Code:"
 msgstr "Postleitzahl:"
 
 #. Prefix in Name
 #: ../data/glade/profile_window.glade.h:31
-#: ../data/glade/vcard_information_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:39
 msgid "Prefix:"
 msgstr "Präfix"
 
 #: ../data/glade/profile_window.glade.h:32
-#: ../data/glade/vcard_information_window.glade.h:38
-#: ../src/vcard.py:273
+#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:307
 msgid "Role:"
 msgstr "Rolle:"
 
 #: ../data/glade/profile_window.glade.h:33
-#: ../data/glade/vcard_information_window.glade.h:39
+#: ../data/glade/vcard_information_window.glade.h:42
 msgid "State:"
 msgstr "Staat:"
 
 #: ../data/glade/profile_window.glade.h:34
-#: ../data/glade/vcard_information_window.glade.h:41
+#: ../data/glade/vcard_information_window.glade.h:44
 msgid "Street:"
 msgstr "Straße:"
 
 #. Suffix in Name
 #: ../data/glade/profile_window.glade.h:36
-#: ../data/glade/vcard_information_window.glade.h:45
+#: ../data/glade/vcard_information_window.glade.h:48
 msgid "Suffix:"
 msgstr "Suffix:"
 
 #: ../data/glade/profile_window.glade.h:37
-#: ../data/glade/vcard_information_window.glade.h:46
+#: ../data/glade/vcard_information_window.glade.h:50
 msgid "Work"
 msgstr "Arbeit"
 
@@ -1920,138 +2185,180 @@ msgstr "Konto entfernen (_nur in Gajim)"
 msgid "Remove account from Gajim and from _server"
 msgstr "Konto _entfernen (in Gajim und auf dem Server)"
 
+#. Remove
+#. Remove group
+#. Remove
+#: ../data/glade/remove_account_window.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../src/roster_window.py:2553 ../src/roster_window.py:2763
+#: ../src/roster_window.py:2899
+msgid "_Remove"
+msgstr "_Entfernen"
+
 #: ../data/glade/roster_contact_context_menu.glade.h:1
 msgid "A_sk to see his/her status"
 msgstr "_Bitte Kontakt, seinen Status zu sehen"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:2
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
-msgid "Add Special _Notification"
+msgid "Add Special _Notification..."
 msgstr "Spezielle Be_nachrichtigung hinzufügen"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:3
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
-msgid "Assign Open_PGP Key"
+msgid "Assign Open_PGP Key..."
 msgstr "Open_PGP-Schlüssel zuweisen"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:4
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
-#: ../src/roster_window.py:2078
-msgid "Edit _Groups"
+msgid "Edit _Groups..."
 msgstr "_Gruppen bearbeiten"
 
+#. Execute Command
 #: ../data/glade/roster_contact_context_menu.glade.h:5
-#: ../src/roster_window.py:2213
+#: ../src/roster_window.py:2856
 msgid "Execute Command..."
 msgstr "_Befehl ausführen..."
 
+#. Invite to Groupchat
 #: ../data/glade/roster_contact_context_menu.glade.h:6
-#: ../src/roster_window.py:2036
+#: ../src/roster_window.py:2469
 msgid "In_vite to"
 msgstr "_Einladen zu"
 
+#. Send Custom Status
 #: ../data/glade/roster_contact_context_menu.glade.h:7
-#: ../data/glade/systray_context_menu.glade.h:2
-msgid "Send Single _Message"
-msgstr "Einzelne Nachricht _senden..."
+#: ../src/roster_window.py:2693 ../src/roster_window.py:2827
+msgid "Send Cus_tom Status"
+msgstr "Benutzerdefinierten Status senden"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Send Single _Message..."
+msgstr "Einzelne _Nachricht senden..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:9
+msgid "Send _File..."
+msgstr "_Datei senden"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:10
+msgid "Set Custom _Avatar..."
+msgstr "Benutzerdefinierten Avatar wählen..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:11
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:5
 msgid "Start _Chat"
 msgstr "_Chat starten"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:11
+#: ../data/glade/roster_contact_context_menu.glade.h:13
 msgid "_Allow him/her to see my status"
 msgstr "_Erlaube Kontakt, meinen Status zu sehen"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:12
-msgid "_Forbid him/her to see my status"
-msgstr "_Verbiete Kontakt, meinen Status zu sehen"
-
-#. Remove group
 #: ../data/glade/roster_contact_context_menu.glade.h:14
-#: ../src/roster_window.py:2030
-#: ../src/roster_window.py:2127
-#: ../src/roster_window.py:2234
-msgid "_Remove from Roster"
-msgstr "Entfernen von _Kontaktliste"
+#: ../src/roster_window.py:2543 ../src/roster_window.py:2754
+msgid "_Block"
+msgstr "_Blockieren"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:15
+msgid "_Forbid him/her to see my status"
+msgstr "_Verbiete Kontakt, meinen Status zu sehen"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:17
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7
-#: ../src/roster_window.py:2222
-msgid "_Rename"
+msgid "_Manage Contact"
+msgstr "Kontakt verwalten"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:19
+msgid "_Rename..."
 msgstr "_Umbenennen"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/roster_contact_context_menu.glade.h:20
 msgid "_Subscription"
 msgstr "_Abonnement"
 
+#: ../data/glade/roster_contact_context_menu.glade.h:21
+#: ../src/roster_window.py:2537 ../src/roster_window.py:2748
+msgid "_Unblock"
+msgstr "Entblocken"
+
 #: ../data/glade/roster_window.glade.h:1
 msgid "A_ccounts"
 msgstr "_Konten"
 
 #: ../data/glade/roster_window.glade.h:2
-msgid "Add _Contact"
-msgstr "_Kontakt hinzufügen"
+msgid "Add _Contact..."
+msgstr "Kontakt _hinzufügen..."
 
 #: ../data/glade/roster_window.glade.h:3
+#, fuzzy
+msgid "Fea_tures"
+msgstr "Fähigkeiten des Servers"
+
+#: ../data/glade/roster_window.glade.h:4
 msgid "File _Transfers"
 msgstr "_Dateitransfers"
 
-#: ../data/glade/roster_window.glade.h:4
+#: ../data/glade/roster_window.glade.h:5
 msgid "Frequently Asked Questions (online)"
 msgstr "Häufig gestellte Fragen (online)"
 
-#: ../data/glade/roster_window.glade.h:6
+#: ../data/glade/roster_window.glade.h:7
 msgid "Help online"
 msgstr "Online-Hilfe"
 
-#: ../data/glade/roster_window.glade.h:7
+#: ../data/glade/roster_window.glade.h:9
 msgid "Profile, A_vatar"
 msgstr "Profile, A_vatar"
 
-#: ../data/glade/roster_window.glade.h:8
+#: ../data/glade/roster_window.glade.h:10
 msgid "Show Trans_ports"
 msgstr "Zeige Trans_porte"
 
-#: ../data/glade/roster_window.glade.h:9
+#: ../data/glade/roster_window.glade.h:11
 msgid "Show _Offline Contacts"
 msgstr "_Abgemeldete Kontakte anzeigen"
 
-#: ../data/glade/roster_window.glade.h:12
+#: ../data/glade/roster_window.glade.h:14
 msgid "_Contents"
 msgstr "In_halte"
 
-#: ../data/glade/roster_window.glade.h:13
-msgid "_Discover Services"
-msgstr "_Dienste durchsuchen"
-
-#: ../data/glade/roster_window.glade.h:14
-#: ../src/disco.py:1284
-#: ../src/roster_window.py:2205
+#: ../data/glade/roster_window.glade.h:16 ../src/disco.py:1358
 msgid "_Edit"
 msgstr "_Ändern"
 
-#: ../data/glade/roster_window.glade.h:15
+#: ../data/glade/roster_window.glade.h:17
 msgid "_FAQ"
 msgstr "_FAQ"
 
-#: ../data/glade/roster_window.glade.h:17
+#: ../data/glade/roster_window.glade.h:18
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: ../data/glade/roster_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:20
 msgid "_Preferences"
 msgstr "_Einstellungen"
 
-#: ../data/glade/roster_window.glade.h:19
+#: ../data/glade/roster_window.glade.h:21
 msgid "_Quit"
 msgstr "_Beenden"
 
-#: ../data/glade/roster_window.glade.h:21
+#: ../data/glade/roster_window.glade.h:22
+msgid "_Send Single Message..."
+msgstr "Einzelne _Nachricht senden..."
+
+#: ../data/glade/roster_window.glade.h:24
 msgid "_View"
 msgstr "_Ansicht"
 
+#: ../data/glade/search_window.glade.h:1
+msgid "Please wait while retrieving search form..."
+msgstr "Bitte warten Sie, während das Suchformular geladen wird ..."
+
+#: ../data/glade/search_window.glade.h:3
+msgid "_Add contact"
+msgstr "_Kontakt hinzufügen"
+
+#. Information
+#: ../data/glade/search_window.glade.h:4 ../src/roster_window.py:2911
+msgid "_Information"
+msgstr "Informationen"
+
 #: ../data/glade/service_discovery_window.glade.h:1
 msgid "G_o"
 msgstr "_Los"
@@ -2060,10 +2367,6 @@ msgstr "_Los"
 msgid "_Address:"
 msgstr "_Adresse:"
 
-#: ../data/glade/service_discovery_window.glade.h:3
-msgid "_Filter:"
-msgstr "_Filter:"
-
 #: ../data/glade/service_registration_window.glade.h:1
 msgid "Register to"
 msgstr "Registrieren auf"
@@ -2125,8 +2428,12 @@ msgid "Authorize contact so he or she can know when you're connected"
 msgstr "Kontakt autorisieren, so dass er Ihren Status sehen kann"
 
 #: ../data/glade/subscription_request_window.glade.h:3
-msgid "Deny authorization from contact so he or she cannot know when you're connected"
-msgstr "Autorisierung des Kontakts verweigern, so dass er nicht sehen kann, wann Sie verbunden sind"
+msgid ""
+"Deny authorization from contact so he or she cannot know when you're "
+"connected"
+msgstr ""
+"Autorisierung des Kontakts verweigern, so dass er nicht sehen kann, wann Sie "
+"verbunden sind"
 
 #: ../data/glade/subscription_request_window.glade.h:4
 msgid "Subscription Request"
@@ -2136,10 +2443,29 @@ msgstr "Abonnementanfrage"
 msgid "_Deny"
 msgstr "_Ablehnen"
 
+#: ../data/glade/synchronise_select_account_dialog.glade.h:1
+#, fuzzy
+msgid "Select the account with which you want to synchronise"
+msgstr "JID des Kontakts mit dem Sie chatten möchten"
+
+#: ../data/glade/synchronise_select_contacts_dialog.glade.h:1
+#, fuzzy
+msgid "Select the contacts you want to synchronise"
+msgstr "JID der Kontakte die Sie synchronisieren möchten"
+
+#: ../data/glade/synchronise_select_contacts_dialog.glade.h:2
+#, fuzzy
+msgid "Synchronise : select contacts"
+msgstr "Synchronisiere gewählte Kontakte"
+
 #: ../data/glade/systray_context_menu.glade.h:1
 msgid "Mute Sounds"
 msgstr "_Klänge stummschalten"
 
+#: ../data/glade/systray_context_menu.glade.h:2
+msgid "Send Single _Message"
+msgstr "Einzelne Nachricht _senden..."
+
 #: ../data/glade/systray_context_menu.glade.h:3
 msgid "Show All Pending _Events"
 msgstr "Zeige alle schwebenden _Ereignisse"
@@ -2152,6 +2478,10 @@ msgstr "_Roster anzeigen"
 msgid "Sta_tus"
 msgstr "Sta_tus"
 
+#: ../data/glade/systray_context_menu.glade.h:6
+msgid "_Group Chat"
+msgstr "_Gruppenchat"
+
 #. Given Name
 #: ../data/glade/vcard_information_window.glade.h:5
 msgid "Ask:"
@@ -2166,44 +2496,44 @@ msgid "Comments"
 msgstr "Kommentare"
 
 #: ../data/glade/vcard_information_window.glade.h:11
+msgid "Configured avatar:"
+msgstr "Gewählter Avatar:"
+
+#: ../data/glade/vcard_information_window.glade.h:12
 #: ../data/glade/zeroconf_information_window.glade.h:1
 msgid "Contact"
 msgstr "Kontakt"
 
-#: ../data/glade/vcard_information_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:13
 msgid "Contact Information"
 msgstr "Kontakt-Information"
 
-#: ../data/glade/vcard_information_window.glade.h:24
-#: ../data/glade/zeroconf_information_window.glade.h:4
-#: ../data/glade/zeroconf_properties_window.glade.h:13
-#: ../src/dialogs.py:416
-msgid "Jabber ID:"
-msgstr "Jabber-ID:"
+#: ../data/glade/vcard_information_window.glade.h:29
+msgid "More"
+msgstr "Mehr"
 
-#: ../data/glade/vcard_information_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:33
 msgid "OS:"
 msgstr "BS:"
 
-#: ../data/glade/vcard_information_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:40
 #: ../data/glade/zeroconf_information_window.glade.h:8
 msgid "Resource:"
 msgstr "Ressource:"
 
-#: ../data/glade/vcard_information_window.glade.h:40
+#: ../data/glade/vcard_information_window.glade.h:43
 #: ../data/glade/zeroconf_information_window.glade.h:9
 msgid "Status:"
 msgstr "Status:"
 
 #. Family Name
-#: ../data/glade/vcard_information_window.glade.h:43
+#: ../data/glade/vcard_information_window.glade.h:46
 msgid "Subscription:"
 msgstr "Abonnement:"
 
-#: ../data/glade/vcard_information_window.glade.h:47
-#: ../data/glade/zeroconf_information_window.glade.h:10
-msgid "_Log conversation history"
-msgstr "Unterhaltungs-Ver_lauf"
+#: ../data/glade/vcard_information_window.glade.h:49
+msgid "User avatar:"
+msgstr "Avatar auswählen"
 
 #: ../data/glade/xml_console_window.glade.h:1
 msgid "<b>Jabber Traffic</b>"
@@ -2213,11 +2543,6 @@ msgstr "<b>Jabber Verkehrsdaten</b>"
 msgid "<b>XML Input</b>"
 msgstr "<b>XML Direkteingabe</b>"
 
-#. XML Console enable checkbutton
-#: ../data/glade/xml_console_window.glade.h:4
-msgid "Enable"
-msgstr "Einschalten"
-
 #. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem)
 #: ../data/glade/xml_console_window.glade.h:6
 msgid "Info/Query"
@@ -2236,15 +2561,29 @@ msgstr "_Nachricht"
 msgid "_Presence"
 msgstr "_Anwesenheit"
 
-#: ../data/glade/zeroconf_information_window.glade.h:3
-#: ../data/glade/zeroconf_properties_window.glade.h:6
-msgid "First Name:"
-msgstr "Vorname:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
+msgid "Add Special _Notification"
+msgstr "Spezielle Be_nachrichtigung hinzufügen"
 
-#: ../data/glade/zeroconf_information_window.glade.h:5
-#: ../data/glade/zeroconf_properties_window.glade.h:14
-msgid "Last Name:"
-msgstr "Nachname:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
+msgid "Assign Open_PGP Key"
+msgstr "Open_PGP-Schlüssel zuweisen"
+
+#. Edit Groups
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
+#: ../src/roster_window.py:2526
+msgid "Edit _Groups"
+msgstr "_Gruppen bearbeiten"
+
+#. Rename
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:8
+#: ../src/roster_window.py:2883
+msgid "_Rename"
+msgstr "_Umbenennen"
+
+#: ../data/glade/zeroconf_context_menu.glade.h:1
+msgid "_Modify Account..."
+msgstr "_Konto bearbeiten..."
 
 #: ../data/glade/zeroconf_information_window.glade.h:6
 msgid "Local jid:"
@@ -2254,535 +2593,564 @@ msgstr "Lokale JID:"
 msgid "Personal"
 msgstr "Persönlich"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:11
-msgid ""
-"If the default port that is used for incoming messages is unfitting for your setup you can select another one here.\n"
-"You might consider to change possible firewall settings."
-msgstr ""
-"Wenn der Standardport, der für eingehende Nachrichten benutzt wird, nicht für Ihre Konfiguration geeignet ist, können sie hier einen anderen Port festlegen.\n"
-"Möglicherweise ist es von Nöten, Ihre Firewall-Einstellungen zu ändern."
-
 #: ../data/glade/zeroconf_properties_window.glade.h:15
 msgid "Modify Account"
 msgstr "Konto bearbeiten"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:21
-msgid "Use custom port:"
-msgstr "Verwende benutzerdefinierten Port:"
-
 #. For i18n
-#: ../src/advanced.py:51
+#: ../src/advanced.py:56
 msgid "Activated"
 msgstr "Aktiviert"
 
-#: ../src/advanced.py:51
+#: ../src/advanced.py:56
 msgid "Deactivated"
 msgstr "Deaktiviert"
 
-#: ../src/advanced.py:53
+#: ../src/advanced.py:58
 msgid "Boolean"
 msgstr "Boolean"
 
-#: ../src/advanced.py:54
+#: ../src/advanced.py:59
 msgid "Integer"
 msgstr "Ganzzahl"
 
-#: ../src/advanced.py:55
+#: ../src/advanced.py:60
 msgid "Text"
 msgstr "Text"
 
-#: ../src/advanced.py:56
+#: ../src/advanced.py:61
 msgid "Color"
 msgstr "Farbe"
 
-#: ../src/advanced.py:65
+#: ../src/advanced.py:70
 msgid "Preference Name"
 msgstr "Einstellungsname"
 
-#: ../src/advanced.py:71
+#: ../src/advanced.py:76
 msgid "Value"
 msgstr "Wert"
 
-#: ../src/advanced.py:79
+#: ../src/advanced.py:84
 msgid "Type"
 msgstr "Typ"
 
 #. we talk about option description in advanced configuration editor
-#: ../src/advanced.py:136
+#: ../src/advanced.py:140
 msgid "(None)"
 msgstr "(Kein)"
 
 #. we talk about password
-#: ../src/advanced.py:239
+#: ../src/advanced.py:243
 msgid "Hidden"
 msgstr "Versteckt"
 
 #. the next script, executed in the "po" directory,
 #. generates the following list.
 #. #!/bin/sh
-#. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
+#. LANG=$(for i in *.po; do j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
 #. echo "{_('en'):'en'",$LANG"}"
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "English"
 msgstr "Englisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Belarusian"
 msgstr "Weißrussisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Bulgarian"
 msgstr "Bulgarisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Breton"
 msgstr "Bretonisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Czech"
 msgstr "Tschechisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "German"
 msgstr "Deutsch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Greek"
 msgstr "Griechisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "British"
 msgstr "Britisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Esperanto"
 msgstr "Esperanto"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Spanish"
 msgstr "Spanisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Basque"
 msgstr "Baskisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "French"
 msgstr "Französisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Croatian"
 msgstr "Kroatisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Italian"
 msgstr "Italienisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Norwegian (b)"
 msgstr "Norwegisch (Bokmål)"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Dutch"
 msgstr "Niederländisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Norwegian"
 msgstr "Norwegisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Polish"
 msgstr "Polnisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Portuguese"
 msgstr "Portugiesisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Brazilian Portuguese"
 msgstr "Brasilianisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Russian"
 msgstr "Russsich"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Serbian"
 msgstr "Serbisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Slovak"
 msgstr "Slovakisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Swedish"
 msgstr "Schwedisch"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Chinese (Ch)"
 msgstr "Chinesisch"
 
-#: ../src/chat_control.py:207
-#: ../src/dialogs.py:1706
-msgid ""
-"If that is not your language for which you want to highlight misspelled words, then please set your $LANG as appropriate. Eg. for French do export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to make it global in /etc/profile.\n"
-"\n"
-"Highlighting misspelled words feature will not be used"
-msgstr ""
-"Wenn das nicht die Sprache ist, für die Sie falschgeschriebene Wörter hervorheben möchten, setzen Sie bitte Ihre $LANG entsprechend. Z.B. für Französisch: export LANG=fr_FR oder export LANG=fr_FR.UTF-8 in ~/.bash_profile or global in /etc/profile.\n"
-"\n"
-"Falschgeschriebene Wörter werden nicht hervorgehoben"
-
-#: ../src/chat_control.py:246
+#: ../src/chat_control.py:313
 msgid "Spelling language"
 msgstr "Sprache für die Rechtschreibprüfung"
 
 #. we are not connected
-#: ../src/chat_control.py:269
-#: ../src/chat_control.py:475
+#: ../src/chat_control.py:336 ../src/chat_control.py:559
 msgid "A connection is not available"
 msgstr "Keine Verbindung verfügbar"
 
-#: ../src/chat_control.py:270
-#: ../src/chat_control.py:476
+#: ../src/chat_control.py:337 ../src/chat_control.py:560
 msgid "Your message can not be sent until you are connected."
 msgstr "Ihre Nachricht kann erst gesendet werden, wenn Sie verbunden sind."
 
-#: ../src/chat_control.py:1034
+#: ../src/chat_control.py:1186
 #, python-format
 msgid "%(nickname)s from group chat %(room_name)s"
 msgstr "%(nickname)s aus Gruppenchat %(room_name)s"
 
 #. we talk about a contact here
-#: ../src/chat_control.py:1123
+#: ../src/chat_control.py:1282
 #, python-format
 msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
-msgstr "%s hat keinen OpenPGP-Schlüssel verbreitet und es wurde keiner zugewiesen"
+msgstr ""
+"%s hat keinen OpenPGP-Schlüssel verbreitet und es wurde keiner zugewiesen"
+
+#: ../src/chat_control.py:1325 ../src/groupchat_control.py:1433
+#, python-format
+msgid "No such command: /%s (if you want to send this, prefix it with /say)"
+msgstr ""
+"Kein Kommando: /%s (wenn Sie dies senden wollen, setzen Sie /say voran)"
+
+#: ../src/chat_control.py:1332 ../src/groupchat_control.py:1456
+#, python-format
+msgid "Commands: %s"
+msgstr "Kommandos: %s"
+
+#: ../src/chat_control.py:1335 ../src/groupchat_control.py:1470
+#, python-format
+msgid "Usage: /%s, clears the text window."
+msgstr "Bedienung: /%s, leert das Textfenster."
+
+#: ../src/chat_control.py:1338 ../src/groupchat_control.py:1475
+#, python-format
+msgid "Usage: /%s, hide the chat buttons."
+msgstr "Verwendung: /%s, versteckt die Chatbuttons."
+
+#: ../src/chat_control.py:1341 ../src/groupchat_control.py:1491
+#, python-format
+msgid ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+msgstr ""
+"Bedienung: /%s <Aktion>, sendet die Aktion im aktuellen Gruppenchat. "
+"Verwende dritte Person, z.B. /%s explodiert)."
+
+#: ../src/chat_control.py:1345
+#, python-format
+msgid "Usage: /%s, sends a ping to the contact"
+msgstr "Bedienung: /%s, sendet einen Ping zum Kontakt"
+
+#: ../src/chat_control.py:1348
+#, python-format
+msgid "Usage: /%s, send the message to the contact"
+msgstr "Verwendung: /%s, sendet eine Nachricht zum Kontakt"
+
+#: ../src/chat_control.py:1351 ../src/groupchat_control.py:1514
+#, python-format
+msgid "No help info for /%s"
+msgstr "Keine Hilfe vorhanden für /%s"
 
-#: ../src/chat_control.py:1259
+#: ../src/chat_control.py:1489 ../src/chat_control.py:1515
 msgid "Encryption enabled"
 msgstr "Verschlüsselung aktiviert"
 
-#: ../src/chat_control.py:1264
+#: ../src/chat_control.py:1494
+msgid "Session WILL be logged"
+msgstr "Sitzung wird aufgezeichnet"
+
+#: ../src/chat_control.py:1496
+msgid "Session WILL NOT be logged"
+msgstr "Sitzung wird nicht aufgezeichnet"
+
+#: ../src/chat_control.py:1503
+msgid "The following message was NOT encrypted"
+msgstr "[Die folgende Nachricht wurde nicht verschlüsselt]"
+
+#: ../src/chat_control.py:1507 ../src/chat_control.py:1520
+#: ../src/chat_control.py:2166
 msgid "Encryption disabled"
 msgstr "Verschlüsselung deaktiviert"
 
 #. add_to_roster_menuitem
-#: ../src/chat_control.py:1408
-#: ../src/conversation_textview.py:497
-#: ../src/dialogs.py:629
-#: ../src/gajim.py:850
-#: ../src/gajim.py:851
-#: ../src/gajim.py:1196
-#: ../src/roster_window.py:333
-#: ../src/roster_window.py:411
-#: ../src/roster_window.py:1497
-#: ../src/roster_window.py:1507
-#: ../src/roster_window.py:1686
-#: ../src/roster_window.py:1892
-#: ../src/roster_window.py:2477
-#: ../src/roster_window.py:2678
-#: ../src/roster_window.py:3916
-#: ../src/roster_window.py:3918
-#: ../src/common/contacts.py:73
-#: ../src/common/helpers.py:43
-#: ../src/common/helpers.py:255
+#: ../src/chat_control.py:1683 ../src/conversation_textview.py:705
+#: ../src/dialogs.py:732 ../src/gajim.py:911 ../src/gajim.py:912
+#: ../src/gajim.py:1436 ../src/gajim.py:1687 ../src/roster_window.py:358
+#: ../src/roster_window.py:442 ../src/roster_window.py:1822
+#: ../src/roster_window.py:1832 ../src/roster_window.py:2072
+#: ../src/roster_window.py:2306 ../src/roster_window.py:3154
+#: ../src/roster_window.py:3393 ../src/roster_window.py:4755
+#: ../src/roster_window.py:4757 ../src/common/contacts.py:89
+#: ../src/common/helpers.py:53 ../src/common/helpers.py:267
 msgid "Not in Roster"
 msgstr "Nicht in der Liste"
 
 #. %s is being replaced in the code with JID
-#: ../src/chat_control.py:1552
+#: ../src/chat_control.py:1836
 #, python-format
 msgid "You just received a new message from \"%s\""
 msgstr "Sie haben eine neue Nachricht von \"%s\""
 
-#: ../src/chat_control.py:1553
-msgid "If you close this tab and you have history disabled, this message will be lost."
-msgstr "Wenn sie das Fenster schließen und der Verlauf abgeschaltet ist, geht die Nachricht verloren."
+#: ../src/chat_control.py:1837
+msgid ""
+"If you close this tab and you have history disabled, this message will be "
+"lost."
+msgstr ""
+"Wenn sie das Fenster schließen und der Verlauf abgeschaltet ist, geht die "
+"Nachricht verloren."
 
-#: ../src/config.py:139
-#: ../src/config.py:588
+#: ../src/config.py:127 ../src/config.py:565
 msgid "Disabled"
 msgstr "Deaktiviert"
 
-#: ../src/config.py:233
-#, python-format
-msgid "Every %s _minutes"
-msgstr "Alle %s _Minuten"
-
-#: ../src/config.py:353
+#: ../src/config.py:293
 msgid "Active"
 msgstr "Aktiv"
 
-#: ../src/config.py:361
+#: ../src/config.py:301
 msgid "Event"
 msgstr "Ereignis"
 
-#: ../src/config.py:684
-#: ../src/gajim.py:2237
+#: ../src/config.py:407
+msgid "Always use OS/X default applications"
+msgstr ""
+
+#: ../src/config.py:408
+#, fuzzy
+msgid "Custom"
+msgstr "<b>Benutzerdefiniert</b>"
+
+#: ../src/config.py:638 ../src/dialogs.py:1018
 #, python-format
 msgid "Dictionary for lang %s not available"
 msgstr "Wörterburch für Sprache %s nicht verfügbar"
 
-#: ../src/config.py:685
-#: ../src/gajim.py:2238
+#: ../src/config.py:639
 #, python-format
-msgid "You have to install %s dictionary to use spellchecking, or choose another language by setting the speller_language option."
-msgstr "Sie müssen das Wörterbuch %s installieren oder eine andere Sprache wählen, um die Rechtschreibprüfung zu nutzen."
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option."
+msgstr ""
+"Sie müssen das Wörterbuch %s installieren oder eine andere Sprache wählen, "
+"um die Rechtschreibprüfung zu nutzen."
 
-#: ../src/config.py:1008
+#: ../src/config.py:1001
 msgid "status message title"
 msgstr "Statusbetreff"
 
-#: ../src/config.py:1008
+#: ../src/config.py:1001
 msgid "status message text"
 msgstr "Statusnachricht"
 
-#: ../src/config.py:1044
+#: ../src/config.py:1037
 msgid "First Message Received"
 msgstr "Erste empfangene Nachricht"
 
-#: ../src/config.py:1045
+#: ../src/config.py:1038
 msgid "Next Message Received"
 msgstr "Nächste empfangene Nachricht"
 
-#: ../src/config.py:1046
+#: ../src/config.py:1039
 msgid "Contact Connected"
 msgstr "Kontakt verbunden"
 
-#: ../src/config.py:1047
+#: ../src/config.py:1040
 msgid "Contact Disconnected"
 msgstr "Kontakt nicht verbunden"
 
-#: ../src/config.py:1048
+#: ../src/config.py:1041
 msgid "Message Sent"
 msgstr "Nachricht gesendet"
 
-#: ../src/config.py:1049
+#: ../src/config.py:1042
 msgid "Group Chat Message Highlight"
 msgstr "Gruppenchat Nachrichten-Hervorhebung"
 
-#: ../src/config.py:1050
+#: ../src/config.py:1043
 msgid "Group Chat Message Received"
 msgstr "Gruppenchat-Nachricht empfangen"
 
-#: ../src/config.py:1057
+#: ../src/config.py:1050
 msgid "GMail Email Received"
 msgstr "E-Mail über Googlemail empfangen"
 
-#: ../src/config.py:1260
+#. Name column
+#: ../src/config.py:1319 ../src/dialogs.py:1517 ../src/dialogs.py:1581
+#: ../src/disco.py:743 ../src/disco.py:1569 ../src/disco.py:1815
+#: ../src/history_window.py:113
+msgid "Name"
+msgstr "Name"
+
+#: ../src/config.py:1427 ../src/common/config.py:393
+msgid "Be right back."
+msgstr "Bin gleich zurück."
+
+#: ../src/config.py:1431
+msgid "Relogin now?"
+msgstr "Jetzt neu einloggen?"
+
+#: ../src/config.py:1432
+msgid "If you want all the changes to apply instantly, you must relogin."
+msgstr ""
+"Wenn die Änderungen sofort übernommen werden sollen, müssen Sie sich neu "
+"einloggen."
+
+#: ../src/config.py:1527 ../src/config.py:1618
 msgid "OpenPGP is not usable in this computer"
 msgstr "OpenPGP kann auf diesem Computer nicht genutzt werden"
 
-#: ../src/config.py:1306
+#: ../src/config.py:1654 ../src/config.py:1695
+msgid "Unread events"
+msgstr "Ungelesene Ereignisse"
+
+#: ../src/config.py:1655
+msgid "Read all pending events before removing this account."
+msgstr "Alle ungelesenen Ereignisse lesen, bevor der Account entfernt wird."
+
+#: ../src/config.py:1681
+#, python-format
+msgid "You have opened chat in account %s"
+msgstr "Sie haben mit Account %s einen Chat geöffnet"
+
+#: ../src/config.py:1682
+msgid "All chat and groupchat windows will be closed. Do you want to continue?"
+msgstr "Alle Chatfenster werden geschlossen. Fortfahren?"
+
+#: ../src/config.py:1691
 msgid "You are currently connected to the server"
 msgstr "Sie sind mit dem Server verbunden"
 
-#: ../src/config.py:1307
+#: ../src/config.py:1692
 msgid "To change the account name, you must be disconnected."
 msgstr "Verbindung muss beendet werden, um Kontonamen zu ändern."
 
-#: ../src/config.py:1310
-#: ../src/config.py:1916
-msgid "Unread events"
-msgstr "Ungelesene Ereignisse"
-
-#: ../src/config.py:1311
+#: ../src/config.py:1696
 msgid "To change the account name, you must read all pending events."
 msgstr "Um Kontonamen zu ändern, müssen Sie alle neunen Ereignisse lesen."
 
-#: ../src/config.py:1315
+#: ../src/config.py:1702
 msgid "Account Name Already Used"
 msgstr "Kontoname wird bereits verwendet"
 
-#: ../src/config.py:1316
-msgid "This name is already used by another of your accounts. Please choose another name."
-msgstr "Dieser Name wird bereits für einen anderen Ihrer Accounts verwendet. Bitte wählenSie einen anderen Namen."
+#: ../src/config.py:1703
+msgid ""
+"This name is already used by another of your accounts. Please choose another "
+"name."
+msgstr ""
+"Dieser Name wird bereits für einen anderen Ihrer Accounts verwendet. Bitte "
+"wählenSie einen anderen Namen."
 
-#: ../src/config.py:1320
-#: ../src/config.py:1324
+#: ../src/config.py:1707 ../src/config.py:1711
 msgid "Invalid account name"
 msgstr "Ungültiger Kontoname"
 
-#: ../src/config.py:1321
+#: ../src/config.py:1708
 msgid "Account name cannot be empty."
 msgstr "Kontoname darf nicht leer sein."
 
-#: ../src/config.py:1325
+#: ../src/config.py:1712
 msgid "Account name cannot contain spaces."
 msgstr "Kontoname darf keine Leerzeichen enthalten."
 
-#: ../src/config.py:1333
-#: ../src/config.py:1339
-#: ../src/config.py:1349
-#: ../src/config.py:2900
+#: ../src/config.py:1776
+msgid "Rename Account"
+msgstr "Konto umbenennen"
+
+#: ../src/config.py:1777
+#, python-format
+msgid "Enter a new name for account %s"
+msgstr "Geben Sie einen neuen Namen für das Konto %s ein"
+
+#: ../src/config.py:1795 ../src/config.py:1803 ../src/config.py:1843
+#: ../src/config.py:3050 ../src/dataforms_widget.py:533
 msgid "Invalid Jabber ID"
 msgstr "Ungültige Jabber ID"
 
-#: ../src/config.py:1340
+#: ../src/config.py:1804
 msgid "A Jabber ID must be in the form \"user@servername\"."
 msgstr "Jabber ID muss in der Form \"user@servername\" sein."
 
-#: ../src/config.py:1399
+#: ../src/config.py:1990 ../src/config.py:3121
 msgid "Invalid entry"
 msgstr "Ungültiger Eintrag"
 
-#: ../src/config.py:1400
+#: ../src/config.py:1991 ../src/config.py:3122
 msgid "Custom port must be a port number."
 msgstr "Proxy Port muss eine Portnummer sein."
 
-#: ../src/config.py:1528
-#: ../src/common/config.py:367
-msgid "Be right back."
-msgstr "Bin gleich zurück."
+#: ../src/config.py:2012
+msgid "Failed to get secret keys"
+msgstr "Holen der geheimen Schlüssel fehlgeschlagen"
 
-#: ../src/config.py:1538
-msgid "Relogin now?"
-msgstr "Jetzt neu einloggen?"
+#: ../src/config.py:2013
+msgid "There was a problem retrieving your OpenPGP secret keys."
+msgstr "Es gab ein Problem beim Holen ihres geheimen OpenPGP-Schlüssels."
 
-#: ../src/config.py:1539
-msgid "If you want all the changes to apply instantly, you must relogin."
-msgstr "Wenn die Änderungen sofort übernommen werden sollen, müssen Sie sich neu einloggen."
+#: ../src/config.py:2016
+msgid "OpenPGP Key Selection"
+msgstr "OpenPGP Schlüssel-Auswahl"
+
+#: ../src/config.py:2017
+msgid "Choose your OpenPGP key"
+msgstr "Wählen Sie Ihren OpenPGP Schlüssel"
 
-#: ../src/config.py:1565
+#: ../src/config.py:2057
 msgid "No such account available"
 msgstr "Account nicht verfügbar"
 
-#: ../src/config.py:1566
+#: ../src/config.py:2058
 msgid "You must create your account before editing your personal information."
-msgstr "Sie müssen ein Konto erstellen, bevor Sie die persönlichen Informationen ändern können"
+msgstr ""
+"Sie müssen ein Konto erstellen, bevor Sie die persönlichen Informationen "
+"ändern können"
 
-#: ../src/config.py:1573
-#: ../src/dialogs.py:1190
-#: ../src/dialogs.py:1326
-#: ../src/dialogs.py:1506
-#: ../src/disco.py:419
-#: ../src/profile_window.py:323
+#: ../src/config.py:2065 ../src/dialogs.py:1364 ../src/dialogs.py:1505
+#: ../src/dialogs.py:1685 ../src/disco.py:427 ../src/profile_window.py:318
 msgid "You are not connected to the server"
 msgstr "Sie sind nicht mit dem Server verbunden"
 
-#: ../src/config.py:1574
+#: ../src/config.py:2066
 msgid "Without a connection, you can not edit your personal information."
-msgstr "Sie müssen angemeldet sein, um Ihre persönlichen Informationen zu bearbeiten"
+msgstr ""
+"Sie müssen angemeldet sein, um Ihre persönlichen Informationen zu bearbeiten"
 
-#: ../src/config.py:1578
+#: ../src/config.py:2070
 msgid "Your server doesn't support Vcard"
 msgstr "Ihr Server unterstützt vCard nicht"
 
-#: ../src/config.py:1579
+#: ../src/config.py:2071
 msgid "Your server can't save your personal information."
 msgstr "Ihr Server kann keine persönlichen Informationen speichern."
 
-#: ../src/config.py:1610
-#: ../src/config.py:3288
-msgid "Failed to get secret keys"
-msgstr "Holen der geheimen Schlüssel fehlgeschlagen"
-
-#: ../src/config.py:1611
-#: ../src/config.py:3289
-msgid "There was a problem retrieving your OpenPGP secret keys."
-msgstr "Es gab ein Problem beim Holen ihres geheimen OpenPGP-Schlüssels."
-
-#: ../src/config.py:1614
-#: ../src/config.py:3292
-msgid "OpenPGP Key Selection"
-msgstr "OpenPGP Schlüssel-Auswahl"
-
-#: ../src/config.py:1615
-#: ../src/config.py:3293
-msgid "Choose your OpenPGP key"
-msgstr "Wählen Sie Ihren OpenPGP Schlüssel"
-
-#. Name column
-#: ../src/config.py:1850
-#: ../src/dialogs.py:1338
-#: ../src/dialogs.py:1402
-#: ../src/disco.py:740
-#: ../src/disco.py:1495
-#: ../src/disco.py:1733
-#: ../src/history_window.py:78
-msgid "Name"
-msgstr "Name"
-
-#: ../src/config.py:1853
-#: ../src/dialogs.py:1341
-msgid "Server"
-msgstr "Server"
-
-#: ../src/config.py:1917
-msgid "Read all pending events before removing this account."
-msgstr "Alle ungelesenen Ereignisse lesen, bevor der Account entfernt wird."
-
-#: ../src/config.py:1954
-#, python-format
-msgid "You have opened chat in account %s"
-msgstr "Sie haben mit Account %s einen Chat geöffnet"
-
-#: ../src/config.py:1955
-msgid "All chat and groupchat windows will be closed. Do you want to continue?"
-msgstr "Alle Chatfenster werden geschlossen. Fortfahren?"
-
-#: ../src/config.py:2014
+#: ../src/config.py:2102
 msgid "Account Local already exists."
 msgstr "Ein Konto mit dem Namen 'Local' ist bereits vorhanden"
 
-#: ../src/config.py:2015
+#: ../src/config.py:2103
 msgid "Please rename or remove it before enabling link-local messaging."
-msgstr "Bitte benennen Sie es um oder entfernen es, bevor Sie LAN-Kontakte aktivieren."
+msgstr ""
+"Bitte benennen Sie es um oder entfernen es, bevor Sie LAN-Kontakte "
+"aktivieren."
 
-#: ../src/config.py:2111
+#: ../src/config.py:2279
 #, python-format
 msgid "Edit %s"
 msgstr "%s ändern"
 
-#: ../src/config.py:2113
+#: ../src/config.py:2281
 #, python-format
 msgid "Register to %s"
 msgstr "Auf %s registrieren"
 
 #. list at the beginning
-#: ../src/config.py:2179
+#: ../src/config.py:2317
 msgid "Ban List"
 msgstr "Sperrliste"
 
-#: ../src/config.py:2180
+#: ../src/config.py:2318
 msgid "Member List"
 msgstr "Mitgliederliste"
 
-#: ../src/config.py:2181
+#: ../src/config.py:2319
 msgid "Owner List"
 msgstr "Besitzerliste"
 
-#: ../src/config.py:2182
+#: ../src/config.py:2320
 msgid "Administrator List"
 msgstr "Administratorliste"
 
 #. Address column
 #. holds JID (who said this)
-#: ../src/config.py:2231
-#: ../src/disco.py:747
-#: ../src/history_manager.py:155
+#: ../src/config.py:2369 ../src/disco.py:750 ../src/history_manager.py:160
 msgid "JID"
 msgstr "JID"
 
-#: ../src/config.py:2239
+#: ../src/config.py:2377
 msgid "Reason"
 msgstr "Grund"
 
-#: ../src/config.py:2244
+#: ../src/config.py:2382
 msgid "Nick"
 msgstr "Spitzname"
 
-#: ../src/config.py:2248
+#: ../src/config.py:2386
 msgid "Role"
 msgstr "Rolle"
 
-#: ../src/config.py:2273
+#: ../src/config.py:2411
 msgid "Banning..."
 msgstr "Verbanne ..."
 
 #. You can move '\n' before user@domain if that line is TOO BIG
-#: ../src/config.py:2275
+#: ../src/config.py:2413
 msgid ""
 "<b>Whom do you want to ban?</b>\n"
 "\n"
@@ -2790,11 +3158,11 @@ msgstr ""
 "<b>Wen möchten Sie verbannen?</b>\n"
 "\n"
 
-#: ../src/config.py:2277
+#: ../src/config.py:2415
 msgid "Adding Member..."
 msgstr "Füge Mitglied hinzu ..."
 
-#: ../src/config.py:2278
+#: ../src/config.py:2416
 msgid ""
 "<b>Whom do you want to make a member?</b>\n"
 "\n"
@@ -2802,11 +3170,11 @@ msgstr ""
 "<b>Wen möchten Sie zum Mitglied machen?</b>\n"
 "\n"
 
-#: ../src/config.py:2280
+#: ../src/config.py:2418
 msgid "Adding Owner..."
 msgstr "Füge Besitzer hinzu ..."
 
-#: ../src/config.py:2281
+#: ../src/config.py:2419
 msgid ""
 "<b>Whom do you want to make an owner?</b>\n"
 "\n"
@@ -2814,11 +3182,11 @@ msgstr ""
 "<b>Wen möchten Sie zum Besitzer machen?</b>\n"
 "\n"
 
-#: ../src/config.py:2283
+#: ../src/config.py:2421
 msgid "Adding Administrator..."
 msgstr "Füge Administrator hinzu ..."
 
-#: ../src/config.py:2284
+#: ../src/config.py:2422
 msgid ""
 "<b>Whom do you want to make an administrator?</b>\n"
 "\n"
@@ -2826,7 +3194,7 @@ msgstr ""
 "<b>Wen möchten Sie zum Administrator machen?</b>\n"
 "\n"
 
-#: ../src/config.py:2285
+#: ../src/config.py:2423
 msgid ""
 "Can be one of the following:\n"
 "1. user@domain/resource (only that resource matches).\n"
@@ -2835,394 +3203,443 @@ msgid ""
 "4. domain (the domain itself matches, as does any user@domain,\n"
 "domain/resource, or address containing a subdomain."
 msgstr ""
-"Kann eines der folgenden sein:\"1. benutzer@domain/resource (nur die Resource trifft zu).\n"
+"Kann eines der folgenden sein:\"1. benutzer@domain/resource (nur die "
+"Resource trifft zu).\n"
 "2. benutzer@domain (jede Resource trifft zu).\n"
 "3 domain (die Domain selbst trifft zu, als auch jeder benutzer@domain,\n"
 "jede domain/resource oder Adresse, die eine Subdomain enthält."
 
-#: ../src/config.py:2389
+#: ../src/config.py:2527
 #, python-format
 msgid "Removing %s account"
 msgstr "Entferne Konto %s"
 
-#: ../src/config.py:2406
-#: ../src/roster_window.py:2737
+#: ../src/config.py:2542 ../src/gajim.py:1343 ../src/roster_window.py:3451
 msgid "Password Required"
 msgstr "Passwort benötigt"
 
-#: ../src/config.py:2407
-#: ../src/roster_window.py:2733
+#: ../src/config.py:2543 ../src/roster_window.py:3447
 #, python-format
 msgid "Enter your password for account %s"
 msgstr "Geben Sie ihr Passwort für %s ein"
 
-#: ../src/config.py:2408
-#: ../src/roster_window.py:2738
+#: ../src/config.py:2544 ../src/roster_window.py:3452
 msgid "Save password"
 msgstr "Passwort speichern"
 
-#: ../src/config.py:2422
+#: ../src/config.py:2557
 #, python-format
 msgid "Account \"%s\" is connected to the server"
 msgstr "Konto \"%s\" ist mit Server verbunden"
 
-#: ../src/config.py:2423
+#: ../src/config.py:2558
 msgid "If you remove it, the connection will be lost."
 msgstr "Wenn Sie es entfernen, wird die Verbindung beendet."
 
-#: ../src/config.py:2508
+#: ../src/config.py:2651
 msgid "Default"
 msgstr "Standard"
 
-#: ../src/config.py:2508
+#: ../src/config.py:2651
 msgid "?print_status:All"
 msgstr "?print_status:Alle"
 
-#: ../src/config.py:2509
+#: ../src/config.py:2652
 msgid "Enter and leave only"
 msgstr "Nur betreten und verlassen"
 
-#: ../src/config.py:2510
+#: ../src/config.py:2653
 msgid "?print_status:None"
 msgstr "?print_status:Nichts"
 
-#: ../src/config.py:2578
+#: ../src/config.py:2722
 msgid "New Group Chat"
 msgstr "Neuer Gruppenchat"
 
-#: ../src/config.py:2611
+#: ../src/config.py:2755
 msgid "This bookmark has invalid data"
 msgstr "Dieses Lesezeichen hat ungültige Daten"
 
-#: ../src/config.py:2612
-msgid "Please be sure to fill out server and room fields or remove this bookmark."
+#: ../src/config.py:2756
+msgid ""
+"Please be sure to fill out server and room fields or remove this bookmark."
 msgstr "Bitte Serverfeld und Raumfeld ausfüllen oder Lesezeichen löschen."
 
-#: ../src/config.py:2875
+#: ../src/config.py:3033
 msgid "Invalid username"
 msgstr "Ungültiger Benutzername"
 
-#: ../src/config.py:2876
+#: ../src/config.py:3035
 msgid "You must provide a username to configure this account."
-msgstr "Sie müssen einen Benutzernamen angeben, um diesen Account zu konfigurieren."
-
-#: ../src/config.py:2886
-#: ../src/dialogs.py:1525
-msgid "Invalid password"
-msgstr "Ungültiges Passwort"
-
-#: ../src/config.py:2887
-msgid "You must enter a password for the new account."
-msgstr "Sie müssen ein Passwort für das neue Konto eingeben."
-
-#: ../src/config.py:2891
-#: ../src/dialogs.py:1530
-msgid "Passwords do not match"
-msgstr "Passwörter stimmen nicht überein"
-
-#: ../src/config.py:2892
-#: ../src/dialogs.py:1531
-msgid "The passwords typed in both fields must be identical."
-msgstr "Die Passwörter in beiden Feldern müssen identisch sein."
+msgstr ""
+"Sie müssen einen Benutzernamen angeben, um diesen Account zu konfigurieren."
 
-#: ../src/config.py:2911
+#: ../src/config.py:3061
 msgid "Duplicate Jabber ID"
 msgstr "Doppelte Jabber ID"
 
-#: ../src/config.py:2912
+#: ../src/config.py:3062
 msgid "This account is already configured in Gajim."
-msgstr "Dieser Kontakt bwurde in Gajim bereits konfiguriert."
+msgstr "Dieser Kontakt wurde in Gajim bereits konfiguriert."
 
-#: ../src/config.py:2929
+#: ../src/config.py:3079
 msgid "Account has been added successfully"
 msgstr "Account wurde erfolgreich hinzugefügt"
 
-#: ../src/config.py:2930
-#: ../src/config.py:2965
-msgid "You can set advanced account options by pressing the Advanced button, or later by choosing the Accounts menuitem under the Edit menu from the main window."
-msgstr "Sie können die erweiterten Kontooptionen durch Klicken des Erweitert-Buttons oder durch Klicken des Konto-Menüpunktes im Bearbeiten-Menü des Hauptfensters erreichen."
+#: ../src/config.py:3080 ../src/config.py:3225
+msgid ""
+"You can set advanced account options by pressing the Advanced button, or "
+"later by choosing the Accounts menuitem under the Edit menu from the main "
+"window."
+msgstr ""
+"Sie können die erweiterten Kontooptionen durch Klicken des Erweitert-Buttons "
+"oder durch Klicken des Konto-Menüpunktes im Bearbeiten-Menü des "
+"Hauptfensters erreichen."
+
+#: ../src/config.py:3097
+msgid "Invalid server"
+msgstr "Ungültiger Server"
 
-#: ../src/config.py:2964
-msgid "Your new account has been created successfully"
-msgstr "Ihr neues Konto wurde erfolgreich erstellt"
+#: ../src/config.py:3098
+msgid "Please provide a server on which you want to register."
+msgstr "Bitte geben Sie an, bei dem Sie sich registrieren möchten."
 
-#: ../src/config.py:2982
+#: ../src/config.py:3204 ../src/config.py:3243
 msgid "An error occurred during account creation"
 msgstr "Während der Konto-Erstellung ist ein Fehler aufgetreten"
 
-#: ../src/config.py:3040
+#: ../src/config.py:3224
+msgid "Your new account has been created successfully"
+msgstr "Ihr neues Konto wurde erfolgreich erstellt"
+
+#: ../src/config.py:3327
 msgid "Account name is in use"
 msgstr "Kontoname ist schon vergeben"
 
-#: ../src/config.py:3041
+#: ../src/config.py:3328
 msgid "You already have an account using this name."
 msgstr "Sie haben bereits ein Konto mit diesem Namen."
 
-#: ../src/conversation_textview.py:275
-msgid "Text below this line is what has been said since the last time you paid attention to this group chat"
-msgstr "Text unterhalb dieser Linie stellt dar, was seit ihrem letzten Besuch in diesem Gruppenchat gesagt wurde"
+#: ../src/conversation_textview.py:454
+msgid ""
+"Text below this line is what has been said since the last time you paid "
+"attention to this group chat"
+msgstr ""
+"Text unterhalb dieser Linie stellt dar, was seit ihrem letzten Besuch in "
+"diesem Gruppenchat gesagt wurde"
 
-#: ../src/conversation_textview.py:344
+#: ../src/conversation_textview.py:552
 #, python-format
 msgid "_Actions for \"%s\""
 msgstr "_Aktionen für \"%s\""
 
-#: ../src/conversation_textview.py:356
+#: ../src/conversation_textview.py:564
 msgid "Read _Wikipedia Article"
 msgstr "_Wikipedia-Artikel lesen"
 
-#: ../src/conversation_textview.py:361
+#: ../src/conversation_textview.py:569
 msgid "Look it up in _Dictionary"
 msgstr "Im Wörterbuch _suchen"
 
 #. we must have %s in the url if not WIKTIONARY
-#: ../src/conversation_textview.py:377
+#: ../src/conversation_textview.py:585
 #, python-format
 msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
 msgstr "In Wörterbuch URL fehlt ein \"%s\" und ist nicht Wiktionary"
 
 #. we must have %s in the url
-#: ../src/conversation_textview.py:390
+#: ../src/conversation_textview.py:598
 #, python-format
 msgid "Web Search URL is missing an \"%s\""
 msgstr "In Websuche URL fehlt ein \"%s\""
 
-#: ../src/conversation_textview.py:393
+#: ../src/conversation_textview.py:601
 msgid "Web _Search for it"
 msgstr "Im _Internet suchen"
 
-#: ../src/conversation_textview.py:399
+#: ../src/conversation_textview.py:607
 msgid "Open as _Link"
 msgstr "Als _Link öffnen"
 
-#: ../src/conversation_textview.py:760
+#: ../src/conversation_textview.py:1073
 msgid "Yesterday"
 msgstr "Gestern"
 
 #. the number is >= 2
 #. %i is day in year (1-365), %d (1-31) we want %i
-#: ../src/conversation_textview.py:764
+#: ../src/conversation_textview.py:1077
 #, python-format
 msgid "%i days ago"
 msgstr "Vor %i Tagen"
 
 #. if we have subject, show it too!
-#: ../src/conversation_textview.py:798
+#: ../src/conversation_textview.py:1111
 #, python-format
 msgid "Subject: %s\n"
 msgstr "Thema: %s\n"
 
-#: ../src/dialogs.py:59
+#: ../src/dataforms_widget.py:537
+#, fuzzy
+msgid "Jabber ID already in list"
+msgstr "Jabber IM-Client"
+
+#: ../src/dataforms_widget.py:538
+msgid "The Jabber ID you entered is already in the list. Choose another one."
+msgstr ""
+
+#. Default jid
+#: ../src/dataforms_widget.py:549
+msgid "new@jabber.id"
+msgstr ""
+
+#: ../src/dataforms_widget.py:552 ../src/dataforms_widget.py:554
+#, python-format
+msgid "new%d@jabber.id"
+msgstr ""
+
+#: ../src/dialogs.py:71
 #, python-format
 msgid "Contact name: <i>%s</i>"
 msgstr "Kontaktname: <i>%s</i>"
 
-#: ../src/dialogs.py:61
+#: ../src/dialogs.py:73
 #, python-format
 msgid "Jabber ID: <i>%s</i>"
 msgstr "Jabber ID: <i>%s</i> "
 
-#: ../src/dialogs.py:211
+#: ../src/dialogs.py:223
 msgid "Group"
 msgstr "Gruppe"
 
-#: ../src/dialogs.py:218
+#: ../src/dialogs.py:230
 msgid "In the group"
 msgstr "In der Gruppe"
 
-#: ../src/dialogs.py:269
+#: ../src/dialogs.py:330
 msgid "KeyID"
 msgstr "Schlüssel-ID"
 
-#: ../src/dialogs.py:272
+#: ../src/dialogs.py:335
 msgid "Contact name"
 msgstr "Name des Kontakts"
 
-#: ../src/dialogs.py:318
+#: ../src/dialogs.py:381
 #, python-format
 msgid "%s Status Message"
 msgstr "%s Status-Nachricht"
 
-#: ../src/dialogs.py:320
+#: ../src/dialogs.py:383
 msgid "Status Message"
 msgstr "Status-Nachricht"
 
-#: ../src/dialogs.py:395
+#: ../src/dialogs.py:483
 msgid "Save as Preset Status Message"
 msgstr "Als derzeitige Statusnachricht speichern"
 
-#: ../src/dialogs.py:396
+#: ../src/dialogs.py:484
 msgid "Please type a name for this status message"
 msgstr "Bitte geben Sie einen Namen für diese Statusnachricht ein:"
 
-#: ../src/dialogs.py:417
+#: ../src/dialogs.py:495
+msgid "Overwrite Status Message?"
+msgstr "Status-Nachricht überschreiben"
+
+#: ../src/dialogs.py:496
+msgid ""
+"This name is already used. Do you want to overwrite this status message?"
+msgstr ""
+"Dieser Name wird bereits verwendet. Möchten Sie die Status-Nachricht "
+"überschreiben?"
+
+#: ../src/dialogs.py:512
 msgid "AIM Address:"
 msgstr "AIM-Adresse"
 
-#: ../src/dialogs.py:418
+#: ../src/dialogs.py:513
 msgid "GG Number:"
 msgstr "GG Nummer"
 
-#: ../src/dialogs.py:419
+#: ../src/dialogs.py:514
 msgid "ICQ Number:"
 msgstr "ICQ-Nummer"
 
-#: ../src/dialogs.py:420
+#: ../src/dialogs.py:515
 msgid "MSN Address:"
 msgstr "MSN-Adresse"
 
-#: ../src/dialogs.py:421
+#: ../src/dialogs.py:516
 msgid "Yahoo! Address:"
 msgstr "Yahoo!-Adresse"
 
-#: ../src/dialogs.py:457
+#: ../src/dialogs.py:553
 #, python-format
 msgid "Please fill in the data of the contact you want to add in account %s"
-msgstr "Bitte füllen Sie die Daten für den Kontakt aus, den Sie dem Konto %s hinzufügen wollen"
+msgstr ""
+"Bitte füllen Sie die Daten für den Kontakt aus, den Sie dem Konto %s "
+"hinzufügen wollen"
 
-#: ../src/dialogs.py:459
+#: ../src/dialogs.py:555
 msgid "Please fill in the data of the contact you want to add"
 msgstr "Bitte geben sie die Daten des neuen Kontakts ein"
 
-#: ../src/dialogs.py:609
-#: ../src/dialogs.py:615
+#: ../src/dialogs.py:712 ../src/dialogs.py:718
 msgid "Invalid User ID"
 msgstr "Ungültige Benutzer ID"
 
-#: ../src/dialogs.py:616
+#: ../src/dialogs.py:719
 msgid "The user ID must not contain a resource."
 msgstr "Die Benutzer-ID darf keine resource enthalten."
 
-#: ../src/dialogs.py:630
+#: ../src/dialogs.py:733
 msgid "Contact already in roster"
 msgstr "Kontakt bereits im Roster"
 
-#: ../src/dialogs.py:631
+#: ../src/dialogs.py:734
 msgid "This contact is already listed in your roster."
 msgstr "Der Kontakt befindet sich bereit in Ihrem Roster."
 
-#: ../src/dialogs.py:668
+#: ../src/dialogs.py:770
 msgid "User ID:"
 msgstr "_Benutzer-ID:"
 
-#: ../src/dialogs.py:731
+#: ../src/dialogs.py:832
 msgid "A GTK+ jabber client"
 msgstr "Ein GTK+ Jabber-Client"
 
-#: ../src/dialogs.py:732
+#: ../src/dialogs.py:833
 msgid "GTK+ Version:"
 msgstr "GTK+-Version:"
 
-#: ../src/dialogs.py:733
+#: ../src/dialogs.py:834
 msgid "PyGTK Version:"
 msgstr "PyGTK-Version"
 
-#: ../src/dialogs.py:747
+#: ../src/dialogs.py:848
 msgid "Current Developers:"
 msgstr "Derzeitige Entwickler:"
 
-#: ../src/dialogs.py:749
+#: ../src/dialogs.py:850
 msgid "Past Developers:"
 msgstr "Frühere Entwickler:"
 
-#: ../src/dialogs.py:759
+#: ../src/dialogs.py:860
 msgid "THANKS:"
 msgstr "DANKE:"
 
 #. remove one english sentence
 #. and add it manually as translatable
-#: ../src/dialogs.py:765
+#: ../src/dialogs.py:866
 msgid "Last but not least, we would like to thank all the package maintainers."
 msgstr "Zuletzt möchten wird gerne allen Paket-Verwaltern danken."
 
 #. here you write your name in the form Name FamilyName <someone@somewhere>
-#: ../src/dialogs.py:778
+#: ../src/dialogs.py:879
 msgid "translator-credits"
 msgstr ""
 "Fridtjof Busse\n"
-"Benjamin Drung <benjamin.drung@gmail.com>"
+"Benjamin Drung <benjamin.drung@gmail.com>\n"
+"Fabian Fingerle <fabian@datensalat.eu>\n"
+"Sebastian Schäfer <sarek@uliweb.de>"
 
-#: ../src/dialogs.py:908
+#: ../src/dialogs.py:1011
 #, python-format
 msgid "Unable to bind to port %s."
-msgstr "Konnte nicht mit Port %s verbinden."
+msgstr "Konnte nicht an Port %s binden."
 
-#: ../src/dialogs.py:909
-msgid "Maybe you have another running instance of Gajim. File Transfer will be cancelled."
+#: ../src/dialogs.py:1012
+msgid ""
+"Maybe you have another running instance of Gajim. File Transfer will be "
+"cancelled."
 msgstr "Möglicherweise läuft Gajim bereits. Dateitransfer wird abgebrochen."
 
-#: ../src/dialogs.py:1120
+#: ../src/dialogs.py:1019
+#, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option.\n"
+"\n"
+"Highlighting misspelled words feature will not be used"
+msgstr ""
+"Sie müssen das Wörterbuch %s installieren oder eine andere Sprache wählen, "
+"um die Rechtschreibprüfung zu nutzen.\n"
+"\n"
+"Das Hervorheben falsch geschriebener Worte wird nicht genutzt"
+
+#: ../src/dialogs.py:1293
 #, python-format
 msgid "Subscription request for account %s from %s"
 msgstr "Abonnement-Anforderung für Konto %s von %s"
 
-#: ../src/dialogs.py:1123
+#: ../src/dialogs.py:1296
 #, python-format
 msgid "Subscription request from %s"
 msgstr "Abonnement-Anforderung von %s"
 
-#: ../src/dialogs.py:1183
-#: ../src/roster_window.py:687
+#: ../src/dialogs.py:1357 ../src/roster_window.py:776
 #, python-format
 msgid "You are already in group chat %s"
 msgstr "Sie sind bereits im Gruppenchat %s"
 
-#: ../src/dialogs.py:1191
+#: ../src/dialogs.py:1365
 msgid "You can not join a group chat unless you are connected."
 msgstr "Sie können einem Gruppenchat erst beitreten, wenn Sie verbunden sind."
 
-#: ../src/dialogs.py:1206
+#: ../src/dialogs.py:1383
 #, python-format
 msgid "Join Group Chat with account %s"
 msgstr "Betrete Gruppenchat mit Account %s"
 
-#: ../src/dialogs.py:1274
-#: ../src/dialogs.py:1280
-#: ../src/groupchat_control.py:1469
+#: ../src/dialogs.py:1453 ../src/dialogs.py:1459
+#: ../src/groupchat_control.py:1683
 msgid "Invalid group chat Jabber ID"
 msgstr "Ungültige Jabber-ID für den Gruppenchat"
 
-#: ../src/dialogs.py:1275
-#: ../src/dialogs.py:1281
-#: ../src/groupchat_control.py:1470
+#: ../src/dialogs.py:1454 ../src/dialogs.py:1460
+#: ../src/groupchat_control.py:1684
 msgid "The group chat Jabber ID has not allowed characters."
 msgstr "Die Jabber-ID für den Gruppenchat enthält nicht erlaubte Zeichen."
 
-#: ../src/dialogs.py:1287
+#: ../src/dialogs.py:1466
 msgid "This is not a group chat"
 msgstr "Das ist kein Gruppenchat"
 
-#: ../src/dialogs.py:1288
+#: ../src/dialogs.py:1467
 #, python-format
 msgid "%s is not the name of a group chat."
 msgstr "%s ist kein Name eines Gruppenchats."
 
-#: ../src/dialogs.py:1327
+#: ../src/dialogs.py:1506
 msgid "Without a connection, you can not synchronise your contacts."
 msgstr "Sie müssen verbunden sein, um Ihre Kontakte zu Synchronisieren."
 
-#: ../src/dialogs.py:1374
+#: ../src/dialogs.py:1520
+msgid "Server"
+msgstr "Server"
+
+#: ../src/dialogs.py:1553
 msgid "This account is not connected to the server"
 msgstr "Konto \"%s\" ist nicht mit dem Server verbunden"
 
-#: ../src/dialogs.py:1375
+#: ../src/dialogs.py:1554
 msgid "You cannot synchronize with an account unless it is connected."
-msgstr "Sie können nicht mit einem Konto Synchronisieren, solange es nicht verbunden ist."
+msgstr ""
+"Sie können nicht mit einem Konto Synchronisieren, solange es nicht verbunden "
+"ist."
 
-#: ../src/dialogs.py:1399
+#: ../src/dialogs.py:1578
 msgid "Synchronise"
 msgstr "Synchronisieren"
 
-#: ../src/dialogs.py:1457
+#: ../src/dialogs.py:1636
 #, python-format
 msgid "Start Chat with account %s"
 msgstr "Starte Chat mit Account %s"
 
-#: ../src/dialogs.py:1459
+#: ../src/dialogs.py:1638
 msgid "Start Chat"
 msgstr "Chat starten"
 
-#: ../src/dialogs.py:1460
+#: ../src/dialogs.py:1639
 msgid ""
 "Fill in the nickname or the Jabber ID of the contact you would like\n"
 "to send a chat message to:"
@@ -3231,523 +3648,761 @@ msgstr ""
 "an den Sie eine Chat-Nachricht schicken wollen:"
 
 #. if offline or connecting
-#: ../src/dialogs.py:1485
-#: ../src/dialogs.py:1844
-#: ../src/dialogs.py:1975
+#: ../src/dialogs.py:1664 ../src/dialogs.py:2040 ../src/dialogs.py:2181
 msgid "Connection not available"
 msgstr "Verbindung nicht verfügbar"
 
-#: ../src/dialogs.py:1486
-#: ../src/dialogs.py:1845
-#: ../src/dialogs.py:1976
+#: ../src/dialogs.py:1665 ../src/dialogs.py:2041 ../src/dialogs.py:2182
 #, python-format
 msgid "Please make sure you are connected with \"%s\"."
 msgstr "Vergewissern Sie sich, dass Sie mit \"%s\" verbunden sind."
 
-#: ../src/dialogs.py:1495
-#: ../src/dialogs.py:1498
+#: ../src/dialogs.py:1674 ../src/dialogs.py:1677
 msgid "Invalid JID"
 msgstr "Ungültige JID"
 
-#: ../src/dialogs.py:1498
+#: ../src/dialogs.py:1677
 #, python-format
 msgid "Unable to parse \"%s\"."
 msgstr "Kann \"%s\" nicht parsen."
 
-#: ../src/dialogs.py:1507
+#: ../src/dialogs.py:1686
 msgid "Without a connection, you can not change your password."
 msgstr "Sie müssen verbunden sein, um Ihr Passwort zu ändern"
 
-#: ../src/dialogs.py:1526
+#: ../src/dialogs.py:1704
+msgid "Invalid password"
+msgstr "Ungültiges Passwort"
+
+#: ../src/dialogs.py:1705
 msgid "You must enter a password."
 msgstr "Sie müssen ein Passwort eingeben."
 
+#: ../src/dialogs.py:1709
+msgid "Passwords do not match"
+msgstr "Passwörter stimmen nicht überein"
+
+#: ../src/dialogs.py:1710
+msgid "The passwords typed in both fields must be identical."
+msgstr "Die Passwörter in beiden Feldern müssen identisch sein."
+
 #. img to display
 #. default value
-#: ../src/dialogs.py:1573
-#: ../src/notify.py:212
-#: ../src/notify.py:416
+#: ../src/dialogs.py:1752 ../src/notify.py:232 ../src/notify.py:447
 msgid "Contact Signed In"
 msgstr "Kontakt hat sich angemeldet"
 
-#: ../src/dialogs.py:1575
-#: ../src/notify.py:220
-#: ../src/notify.py:418
+#: ../src/dialogs.py:1754 ../src/notify.py:240 ../src/notify.py:449
 msgid "Contact Signed Out"
 msgstr "Kontakt hat sich abgemeldet"
 
 #. chat message
-#: ../src/dialogs.py:1577
-#: ../src/notify.py:239
-#: ../src/notify.py:420
+#: ../src/dialogs.py:1756 ../src/notify.py:263 ../src/notify.py:451
 msgid "New Message"
 msgstr "Neue Nachricht"
 
 #. single message
-#: ../src/dialogs.py:1577
-#: ../src/notify.py:224
-#: ../src/notify.py:420
+#: ../src/dialogs.py:1756 ../src/notify.py:244 ../src/notify.py:451
 msgid "New Single Message"
 msgstr "Neue einzelne Nachricht"
 
 #. private message
-#: ../src/dialogs.py:1578
-#: ../src/notify.py:231
-#: ../src/notify.py:421
+#: ../src/dialogs.py:1757 ../src/notify.py:251 ../src/notify.py:452
 msgid "New Private Message"
 msgstr "Neue private Nachricht"
 
-#: ../src/dialogs.py:1578
-#: ../src/gajim.py:1291
-#: ../src/notify.py:429
+#: ../src/dialogs.py:1757 ../src/gajim.py:1532 ../src/notify.py:460
 msgid "New E-mail"
 msgstr "Neue E-Mail"
 
-#: ../src/dialogs.py:1580
-#: ../src/gajim.py:1444
-#: ../src/notify.py:423
+#: ../src/dialogs.py:1759 ../src/gajim.py:1707 ../src/notify.py:454
 msgid "File Transfer Request"
 msgstr "Dateitransfer Anfrage"
 
-#: ../src/dialogs.py:1582
-#: ../src/gajim.py:1263
-#: ../src/gajim.py:1420
-#: ../src/notify.py:425
+#: ../src/dialogs.py:1761 ../src/gajim.py:1504 ../src/gajim.py:1674
+#: ../src/notify.py:456
 msgid "File Transfer Error"
 msgstr "Dateitransfer-Fehler"
 
-#: ../src/dialogs.py:1584
-#: ../src/gajim.py:1483
-#: ../src/gajim.py:1505
-#: ../src/gajim.py:1522
-#: ../src/notify.py:427
+#: ../src/dialogs.py:1763 ../src/gajim.py:1746 ../src/gajim.py:1768
+#: ../src/gajim.py:1785 ../src/notify.py:458
 msgid "File Transfer Completed"
 msgstr "Dateitransfer beendet"
 
-#: ../src/dialogs.py:1585
-#: ../src/gajim.py:1486
-#: ../src/notify.py:427
+#: ../src/dialogs.py:1764 ../src/gajim.py:1749 ../src/notify.py:458
 msgid "File Transfer Stopped"
 msgstr "Dateitransfer gestoppt"
 
-#: ../src/dialogs.py:1587
-#: ../src/gajim.py:1160
-#: ../src/notify.py:431
+#: ../src/dialogs.py:1766 ../src/gajim.py:1364 ../src/notify.py:462
 msgid "Groupchat Invitation"
 msgstr "Gruppenchat-Einladung"
 
-#: ../src/dialogs.py:1589
-#: ../src/notify.py:204
-#: ../src/notify.py:433
+#: ../src/dialogs.py:1768 ../src/notify.py:224 ../src/notify.py:464
 msgid "Contact Changed Status"
 msgstr "Kontakt hat Status verändert"
 
-#: ../src/dialogs.py:1774
+#: ../src/dialogs.py:1959
 #, python-format
 msgid "Single Message using account %s"
 msgstr "Einzelne Nachricht mit Account %s"
 
-#: ../src/dialogs.py:1776
+#: ../src/dialogs.py:1961
 #, python-format
 msgid "Single Message in account %s"
 msgstr "Einzelne Nachricht in Account %s"
 
-#: ../src/dialogs.py:1778
+#: ../src/dialogs.py:1963
 msgid "Single Message"
 msgstr "Einzelne Nachricht"
 
 #. prepare UI for Sending
-#: ../src/dialogs.py:1781
+#: ../src/dialogs.py:1966
 #, python-format
 msgid "Send %s"
 msgstr "Sende %s"
 
 #. prepare UI for Receiving
-#: ../src/dialogs.py:1804
+#: ../src/dialogs.py:1989
 #, python-format
 msgid "Received %s"
 msgstr "%s empfangen"
 
+#. prepare UI for Receiving
+#: ../src/dialogs.py:2012
+#, fuzzy, python-format
+msgid "Form %s"
+msgstr "Von %s"
+
 #. we create a new blank window to send and we preset RE: and to jid
-#: ../src/dialogs.py:1876
+#: ../src/dialogs.py:2082
 #, python-format
 msgid "RE: %s"
 msgstr "RE: %s"
 
-#: ../src/dialogs.py:1877
+#: ../src/dialogs.py:2083
 #, python-format
 msgid "%s wrote:\n"
 msgstr "%s schrieb:\n"
 
-#: ../src/dialogs.py:1921
+#: ../src/dialogs.py:2127
 #, python-format
 msgid "XML Console for %s"
 msgstr "XML Konsole für %s"
 
-#: ../src/dialogs.py:1923
+#: ../src/dialogs.py:2129
 msgid "XML Console"
 msgstr "XML Konsole"
 
-#: ../src/dialogs.py:2046
+#: ../src/dialogs.py:2252
 #, python-format
 msgid "Privacy List <b><i>%s</i></b>"
 msgstr "Privatliste <b><i>%s</i></b>"
 
-#: ../src/dialogs.py:2050
+#: ../src/dialogs.py:2256
 #, python-format
 msgid "Privacy List for %s"
 msgstr "Privatsphären-Liste für %s"
 
-#: ../src/dialogs.py:2098
+#: ../src/dialogs.py:2312
 #, python-format
 msgid "Order: %s, action: %s, type: %s, value: %s"
 msgstr "Sortierung: %s, Aktion: %s, Typ: %s, Wert: %s"
 
-#: ../src/dialogs.py:2101
+#: ../src/dialogs.py:2315
 #, python-format
 msgid "Order: %s, action: %s"
 msgstr "Sortierung: %s, Aktion: %s"
 
-#: ../src/dialogs.py:2143
+#: ../src/dialogs.py:2357
 msgid "<b>Edit a rule</b>"
 msgstr "<b>Eine Regel bearbeiten</b>"
 
-#: ../src/dialogs.py:2230
+#: ../src/dialogs.py:2444
 msgid "<b>Add a rule</b>"
 msgstr "<b>Eine Regel hinzufügen</b>"
 
-#: ../src/dialogs.py:2326
+#: ../src/dialogs.py:2540
 #, python-format
 msgid "Privacy Lists for %s"
 msgstr "Privatliste für %s"
 
-#: ../src/dialogs.py:2328
+#: ../src/dialogs.py:2542
 msgid "Privacy Lists"
 msgstr "Privatlisten"
 
-#: ../src/dialogs.py:2398
+#: ../src/dialogs.py:2612
 msgid "Invalid List Name"
 msgstr "Ungültiger Listenname"
 
-#: ../src/dialogs.py:2399
+#: ../src/dialogs.py:2613
 msgid "You must enter a name to create a privacy list."
-msgstr "Sie müssen einen Namen eingeben um eine Privatsphären-Liste zu erstellen."
+msgstr ""
+"Sie müssen einen Namen eingeben um eine Privatsphären-Liste zu erstellen."
+
+#: ../src/dialogs.py:2650
+msgid "$Contact has invited you to join a discussion"
+msgstr "$Contact hat Sie in den Gruppenchat %(room_jid)s eingeladen"
 
-#. Don't translate $Contact
-#: ../src/dialogs.py:2433
+#: ../src/dialogs.py:2652
 #, python-format
 msgid "$Contact has invited you to group chat %(room_jid)s"
 msgstr "$Contact hat Sie in den Gruppenchat %(room_jid)s eingeladen"
 
-#. only if not None and not ''
-#: ../src/dialogs.py:2445
+#: ../src/dialogs.py:2665
 #, python-format
 msgid "Comment: %s"
 msgstr "Kommentar: %s"
 
-#: ../src/dialogs.py:2507
+#: ../src/dialogs.py:2731
 msgid "Choose Sound"
 msgstr "Sound wählen"
 
-#: ../src/dialogs.py:2517
-#: ../src/dialogs.py:2562
+#: ../src/dialogs.py:2741 ../src/dialogs.py:2792
 msgid "All files"
 msgstr "Alle Dateien"
 
-#: ../src/dialogs.py:2522
+#: ../src/dialogs.py:2746
 msgid "Wav Sounds"
 msgstr "Wav Dateien"
 
-#: ../src/dialogs.py:2552
+#: ../src/dialogs.py:2779
 msgid "Choose Image"
 msgstr "Bild auswählen"
 
-#: ../src/dialogs.py:2567
+#: ../src/dialogs.py:2797
 msgid "Images"
 msgstr "Bilder"
 
-#: ../src/dialogs.py:2624
+#: ../src/dialogs.py:2862
 #, python-format
 msgid "When %s becomes:"
 msgstr "Wenn %s wird:"
 
-#: ../src/dialogs.py:2626
+#: ../src/dialogs.py:2864
 #, python-format
 msgid "Adding Special Notification for %s"
 msgstr "Füge speziellen Hinweis für %s hinzu"
 
 #. # means number
-#: ../src/dialogs.py:2697
+#: ../src/dialogs.py:2935
 msgid "#"
 msgstr "Nr."
 
-#: ../src/dialogs.py:2703
+#: ../src/dialogs.py:2941
 msgid "Condition"
 msgstr "Bedingung"
 
-#: ../src/dialogs.py:2824
+#: ../src/dialogs.py:3059
 msgid "when I am "
 msgstr "wenn Ich bin "
 
-#: ../src/disco.py:103
+#: ../src/disco.py:111
 msgid "Others"
 msgstr "Andere"
 
-#: ../src/disco.py:104
-#: ../src/disco.py:105
-#: ../src/disco.py:1281
-#: ../src/gajim.py:604
-#: ../src/roster_window.py:272
-#: ../src/roster_window.py:330
-#: ../src/roster_window.py:369
-#: ../src/roster_window.py:451
-#: ../src/roster_window.py:483
-#: ../src/roster_window.py:485
-#: ../src/roster_window.py:3912
-#: ../src/roster_window.py:3914
-#: ../src/common/contacts.py:267
-#: ../src/common/contacts.py:282
-#: ../src/common/helpers.py:43
+#: ../src/disco.py:112 ../src/disco.py:113 ../src/disco.py:1355
+#: ../src/gajim.py:660 ../src/roster_window.py:295 ../src/roster_window.py:355
+#: ../src/roster_window.py:395 ../src/roster_window.py:503
+#: ../src/roster_window.py:535 ../src/roster_window.py:537
+#: ../src/roster_window.py:4751 ../src/roster_window.py:4753
+#: ../src/common/contacts.py:295 ../src/common/contacts.py:310
+#: ../src/common/helpers.py:53
 msgid "Transports"
 msgstr "Transports"
 
 #. conference is a category for listing mostly groupchats in service discovery
-#: ../src/disco.py:107
+#: ../src/disco.py:115
 msgid "Conference"
 msgstr "Konferenz"
 
-#: ../src/disco.py:420
+#: ../src/disco.py:428
 msgid "Without a connection, you can not browse available services"
 msgstr "Sie müssen angemeldet sein um Dienste zu durchsuchen"
 
-#: ../src/disco.py:499
+#: ../src/disco.py:502
 #, python-format
 msgid "Service Discovery using account %s"
 msgstr "Dienste durchsuchen für Konto %s"
 
-#: ../src/disco.py:501
+#: ../src/disco.py:504
 msgid "Service Discovery"
 msgstr "Dienste durchsuchen"
 
-#: ../src/disco.py:641
+#: ../src/disco.py:644
 msgid "The service could not be found"
 msgstr "Der Dienst konnte nicht gefunden werden"
 
-#: ../src/disco.py:642
-msgid "There is no service at the address you entered, or it is not responding. Check the address and try again."
-msgstr "Es existiert kein Dienst an der Adresse, die sie angegeben haben oder er antwortet nicht. Überprüfen Sie die Adresse und versuchen Sie es erneut."
+#: ../src/disco.py:645
+msgid ""
+"There is no service at the address you entered, or it is not responding. "
+"Check the address and try again."
+msgstr ""
+"Es existiert kein Dienst an der Adresse, die sie angegeben haben oder er "
+"antwortet nicht. Überprüfen Sie die Adresse und versuchen Sie es erneut."
 
-#: ../src/disco.py:646
-#: ../src/disco.py:927
+#: ../src/disco.py:649 ../src/disco.py:930
 msgid "The service is not browsable"
 msgstr "Der Dienst ist nicht durchsuchbar"
 
-#: ../src/disco.py:647
+#: ../src/disco.py:650
 msgid "This type of service does not contain any items to browse."
-msgstr "Dieser Art von Dienst enthält keine Objekte, di edurchsucht werden können."
+msgstr ""
+"Dieser Art von Dienst enthält keine Objekte, di edurchsucht werden können."
 
-#: ../src/disco.py:727
+#: ../src/disco.py:730
 #, python-format
 msgid "Browsing %s using account %s"
 msgstr "Durchsuche %s mit Konto %s"
 
-#: ../src/disco.py:766
+#: ../src/disco.py:769
 msgid "_Browse"
 msgstr "_Durchsuche"
 
-#: ../src/disco.py:928
+#: ../src/disco.py:931
 msgid "This service does not contain any items to browse."
 msgstr "Dieser Dienst enthält keine keine durchsuchbaren Objekte."
 
-#: ../src/disco.py:1155
-#: ../src/disco.py:1286
+#: ../src/disco.py:1152
+msgid "_Execute Command"
+msgstr "_Befehl ausführen..."
+
+#: ../src/disco.py:1162 ../src/disco.py:1360
 msgid "Re_gister"
 msgstr "Re_gistrieren"
 
-#: ../src/disco.py:1323
+#: ../src/disco.py:1397
 #, python-format
 msgid "Scanning %d / %d.."
 msgstr "Durchsuche %d / %d.."
 
 #. Users column
-#: ../src/disco.py:1504
+#: ../src/disco.py:1579
 msgid "Users"
 msgstr "Benutzer"
 
 #. Description column
-#: ../src/disco.py:1511
+#: ../src/disco.py:1587
 msgid "Description"
 msgstr "Beschreibung"
 
 #. Id column
-#: ../src/disco.py:1518
+#: ../src/disco.py:1595
 msgid "Id"
 msgstr "Id"
 
-#: ../src/disco.py:1741
+#: ../src/disco.py:1824
 msgid "Subscribed"
 msgstr "Abonniert"
 
-#: ../src/disco.py:1767
+#: ../src/disco.py:1832
+msgid "Node"
+msgstr "Node"
+
+#: ../src/disco.py:1889
 msgid "New post"
 msgstr "Neue Nachricht"
 
-#: ../src/disco.py:1773
+#: ../src/disco.py:1895
 msgid "_Subscribe"
 msgstr "_Abonnieren"
 
-#: ../src/disco.py:1779
+#: ../src/disco.py:1901
 msgid "_Unsubscribe"
 msgstr "_Abbestellen"
 
-#: ../src/filetransfers_window.py:72
+#: ../src/features_window.py:47
+msgid "PyOpenSSL"
+msgstr "PyOpenSSL"
+
+#: ../src/features_window.py:48
+msgid ""
+"A library used to validate server certificates to ensure a secure connection."
+msgstr ""
+"Eine Bibliothek um Server-Zertifikate zu validieren um eine sichere "
+"Verbindung zu gewährleisten."
+
+#: ../src/features_window.py:49 ../src/features_window.py:50
+msgid "Requires python-pyopenssl."
+msgstr "Erfordert python-pyopenssl."
+
+#: ../src/features_window.py:51
+msgid "Bonjour / Zeroconf"
+msgstr "Bonjour / Zeroconf"
+
+#: ../src/features_window.py:52
+msgid "Serverless chatting with autodetected clients in a local network."
+msgstr ""
+"Serverloses Chatten mit automatisch erkannten Clients in einem lokalen Netz"
+
+#: ../src/features_window.py:53
+msgid "Requires python-avahi."
+msgstr "Erfordert python-avahi."
+
+#: ../src/features_window.py:54
+msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+msgstr "Erfordert pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+
+#: ../src/features_window.py:55
+msgid "gajim-remote"
+msgstr "gajim-remote"
+
+#: ../src/features_window.py:56
+msgid "A script to controle gajim via commandline."
+msgstr "Ein Skript um Gajim über die Kommandozeile zu steuern."
+
+#: ../src/features_window.py:57
+msgid "Requires python-dbus."
+msgstr "Erfordert python-dbus."
+
+#: ../src/features_window.py:58 ../src/features_window.py:62
+#: ../src/features_window.py:66 ../src/features_window.py:70
+#: ../src/features_window.py:74 ../src/features_window.py:82
+#: ../src/features_window.py:86 ../src/features_window.py:98
+msgid "Feature not available under Windows."
+msgstr "Funktion unter Windows nicht verfügbar."
+
+#: ../src/features_window.py:59
+msgid "OpenGPG"
+msgstr "OpenPGP: "
+
+#: ../src/features_window.py:60
+msgid "Encrypting chatmessages with gpg keys."
+msgstr "Chat Nachrichten werden mit gpg Schlüssel verschlüsselt"
+
+#: ../src/features_window.py:61
+msgid "Requires gpg and python-GnuPGInterface."
+msgstr "Erfordert gpg und python-GnuPGInterface."
+
+#: ../src/features_window.py:63
+msgid "network-manager"
+msgstr "network-manager"
+
+#: ../src/features_window.py:64
+msgid "Autodetection of network status."
+msgstr "Auto-Erkennung des Netzwerk-Status."
+
+#: ../src/features_window.py:65
+msgid "Requires gnome-network-manager and python-dbus."
+msgstr "Erfordert gnome-network-manager und python-dbus."
+
+#: ../src/features_window.py:67
+msgid "Session Management"
+msgstr "Sitzungsverwaltung"
+
+#: ../src/features_window.py:68
+msgid "Gajim session is stored on logout and restored on login."
+msgstr ""
+"Gajim-Sitzung wird beim Logout gespeichert und beim Login wiederhergestellt"
+
+#: ../src/features_window.py:69
+msgid "Requires python-gnome2."
+msgstr "Erfordert python-gnome2."
+
+#: ../src/features_window.py:71
+msgid "gnome-keyring"
+msgstr "gnome-keyring"
+
+#: ../src/features_window.py:72
+msgid "Passwords can be stored securely and not just in plaintext."
+msgstr "Passwörter können sicher und nicht nur im Klartext gespeichert werden"
+
+#: ../src/features_window.py:73
+msgid "Requires gnome-keyring and python-gnome2-desktop."
+msgstr "Erfordert gnome-keyring und python-gnome2-desktop."
+
+#: ../src/features_window.py:75
+msgid "SRV"
+msgstr "SRV"
+
+#: ../src/features_window.py:76
+msgid "Ability to connect to servers which are using SRV records."
+msgstr "Fähigkeit zu Servern die SRV-Einträge verwenden zu verbinden."
+
+#: ../src/features_window.py:77
+msgid "Requires dnsutils."
+msgstr "Erfordert dnsutils."
+
+#: ../src/features_window.py:78
+msgid "Requires nslookup to use SRV records."
+msgstr "Erfordert nslookup zur Nutzung von SRV-Einträgen."
+
+#: ../src/features_window.py:79
+msgid "Spell Checker"
+msgstr "Rechtschreibprüfung"
+
+#: ../src/features_window.py:80
+msgid "Spellchecking of composed messages."
+msgstr "Rechtschreibprüfung erstellter Nachrichten."
+
+#: ../src/features_window.py:81
+msgid ""
+"Requires python-gnome2-extras or compilation of gtkspell module from Gajim "
+"sources."
+msgstr ""
+"Erfordert python-gnome2-extras oder die Kompilation des gtkspell-Moduls aus "
+"den Gajim-Quellen."
+
+#: ../src/features_window.py:83
+msgid "Notification-daemon"
+msgstr "Notification-daemon"
+
+#: ../src/features_window.py:84
+msgid "Passive popups notifying for new events."
+msgstr "Popups informieren über neue Ereignisse."
+
+#: ../src/features_window.py:85
+msgid ""
+"Requires python-notify or instead python-dbus in conjunction with "
+"notification-daemon."
+msgstr ""
+"Erforder python-notify oder stattdessen python-dbus in Verbindung mit "
+"notification-daemon."
+
+#: ../src/features_window.py:87
+msgid "Trayicon"
+msgstr "Tray-Symbol"
+
+#: ../src/features_window.py:88
+msgid "A icon in systemtray reflecting the current presence."
+msgstr "Ein Icon im Systemtray, das den Status widerspiegelt."
+
+#: ../src/features_window.py:89
+msgid ""
+"Requires python-gnome2-extras or compiled  trayicon module from Gajim "
+"sources."
+msgstr ""
+"Erfordert python-gnome2-extras oder das kompilierte Trayicon-Modul aus den "
+"Gajim-Quellen"
+
+#: ../src/features_window.py:90
+msgid "Requires PyGTK >= 2.10."
+msgstr "Erforder PyGTK >= 2.10."
+
+#: ../src/features_window.py:91
+msgid "Idle"
+msgstr "Idle"
+
+#: ../src/features_window.py:92
+msgid "Ability to measure idle time, in order to set auto status."
+msgstr "Fähigkeit die Idle-Zeit zu messen um den Status automatisch zu setzen"
+
+#: ../src/features_window.py:93 ../src/features_window.py:94
+msgid "Requires compilation of the idle module from Gajim sources."
+msgstr "Erfordert die Kompilation des Idle-Moduls aus den Gajim-Quellen."
+
+#: ../src/features_window.py:95
+msgid "LaTeX"
+msgstr "LaTeX"
+
+#: ../src/features_window.py:96
+msgid "Transform LaTeX espressions between $$ $$."
+msgstr "LaTeX-Ausdrücke zwischen $$ $$ umwandeln."
+
+#: ../src/features_window.py:97
+msgid ""
+"Requires texlive-latex-base, dvips and imagemagick. You have to set "
+"'use_latex' to True in the Advanced Configuration Editor."
+msgstr ""
+"Erfordert texlive-latex-base, dvips und imagemagick. Sie müssen 'use_latex' "
+"im Advanced Configuration Editor auf 'true' setzen."
+
+#: ../src/features_window.py:99
+msgid "End to end encryption"
+msgstr "OpenPGP-Verschlüsselung"
+
+#: ../src/features_window.py:100
+msgid "Encrypting chatmessages."
+msgstr "Chatnachrichten werden verschlüsselt."
+
+#: ../src/features_window.py:101 ../src/features_window.py:102
+msgid "Requires python-crypto."
+msgstr "Erfordert python-crypto"
+
+#: ../src/features_window.py:103
+msgid "RST Generator"
+msgstr "RST Generator"
+
+#: ../src/features_window.py:104
+msgid ""
+"Generate XHTML output from RST code (see http://docutils.sourceforge.net/"
+"docs/ref/rst/restructuredtext.html)."
+msgstr ""
+"Erzeug aus RST-Code XHTML-Ausgaben (siehe http://docutils.sourceforge.net/"
+"docs/ref/rst/restructuredtext.html)."
+
+#: ../src/features_window.py:105 ../src/features_window.py:106
+msgid "Requires python-docutils."
+msgstr "Erfordert python-docutils."
+
+#: ../src/features_window.py:107
+msgid "libsexy"
+msgstr ""
+
+#: ../src/features_window.py:108
+#, fuzzy
+msgid "Ability to have clickable URLs in chat window."
+msgstr "Versteckt die Knöpfe im Gruppenchat-Fenster."
+
+#: ../src/features_window.py:109 ../src/features_window.py:110
+msgid "Requires python-sexy."
+msgstr "Erfordert python-sexy."
+
+#: ../src/features_window.py:117 ../src/common/helpers.py:248
+msgid "Available"
+msgstr "Angemeldet"
+
+#: ../src/features_window.py:124
+#, fuzzy
+msgid "Feature"
+msgstr "Fähigkeiten des Servers"
+
+#: ../src/filetransfers_window.py:77
 msgid "File"
 msgstr "Datei"
 
-#: ../src/filetransfers_window.py:87
+#: ../src/filetransfers_window.py:92
 msgid "Time"
 msgstr "Zeit"
 
-#: ../src/filetransfers_window.py:99
+#: ../src/filetransfers_window.py:104
 msgid "Progress"
 msgstr "Fortschritt"
 
-#: ../src/filetransfers_window.py:161
-#: ../src/filetransfers_window.py:215
+#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:218
 #, python-format
 msgid "Filename: %s"
 msgstr "Dateiname: %s"
 
-#: ../src/filetransfers_window.py:162
-#: ../src/filetransfers_window.py:290
+#: ../src/filetransfers_window.py:165 ../src/filetransfers_window.py:305
 #, python-format
 msgid "Size: %s"
 msgstr "Größe: %s"
 
 #. You is a reply of who sent a file
 #. You is a reply of who received a file
-#: ../src/filetransfers_window.py:171
-#: ../src/filetransfers_window.py:181
-#: ../src/history_manager.py:463
+#: ../src/filetransfers_window.py:174 ../src/filetransfers_window.py:184
+#: ../src/history_manager.py:468
 msgid "You"
 msgstr "Sie"
 
-#: ../src/filetransfers_window.py:172
+#: ../src/filetransfers_window.py:175
 #, python-format
 msgid "Sender: %s"
 msgstr "Gespeichert in: %s"
 
-#: ../src/filetransfers_window.py:173
-#: ../src/filetransfers_window.py:564
-#: ../src/tooltips.py:573
+#: ../src/filetransfers_window.py:176 ../src/filetransfers_window.py:593
+#: ../src/tooltips.py:593
 msgid "Recipient: "
 msgstr "Empfänger: "
 
-#: ../src/filetransfers_window.py:184
+#: ../src/filetransfers_window.py:187
 #, python-format
 msgid "Saved in: %s"
 msgstr "Absender: %s"
 
-#: ../src/filetransfers_window.py:186
+#: ../src/filetransfers_window.py:189
 msgid "File transfer completed"
 msgstr "Dateitransfer abgeschlossen"
 
-#: ../src/filetransfers_window.py:200
-#: ../src/filetransfers_window.py:206
+#: ../src/filetransfers_window.py:203 ../src/filetransfers_window.py:209
 msgid "File transfer cancelled"
 msgstr "Dateitransfer abgebrochen"
 
-#: ../src/filetransfers_window.py:200
-#: ../src/filetransfers_window.py:207
+#: ../src/filetransfers_window.py:203 ../src/filetransfers_window.py:210
 msgid "Connection with peer cannot be established."
 msgstr "Verbindung zum Teilnehmer kann nicht hergestellt werden"
 
-#: ../src/filetransfers_window.py:216
+#: ../src/filetransfers_window.py:219
 #, python-format
 msgid "Recipient: %s"
 msgstr "Empfänger: %s"
 
-#: ../src/filetransfers_window.py:218
+#: ../src/filetransfers_window.py:221
 #, python-format
 msgid "Error message: %s"
 msgstr "Fehlermeldung: %s"
 
-#: ../src/filetransfers_window.py:219
+#: ../src/filetransfers_window.py:222
 msgid "File transfer stopped by the contact at the other end"
 msgstr "Gegenseite hat Dateitransfer gestoppt"
 
-#: ../src/filetransfers_window.py:236
+#: ../src/filetransfers_window.py:243
 msgid "Choose File to Send..."
 msgstr "Datei auswählen ..."
 
-#: ../src/filetransfers_window.py:255
+#: ../src/filetransfers_window.py:259 ../src/tooltips.py:632
+#, fuzzy
+msgid "Description: "
+msgstr "Beschreibung: %s"
+
+#: ../src/filetransfers_window.py:270
 msgid "Gajim cannot access this file"
 msgstr "Gajim kann auf diese Datei nicht zugreifen"
 
-#: ../src/filetransfers_window.py:256
+#: ../src/filetransfers_window.py:271
 msgid "This file is being used by another process."
 msgstr "Diese Datei wird von einem anderen Prozess verwendet."
 
-#: ../src/filetransfers_window.py:288
+#: ../src/filetransfers_window.py:303
 #, python-format
 msgid "File: %s"
 msgstr "Datei: %s"
 
-#: ../src/filetransfers_window.py:293
+#: ../src/filetransfers_window.py:308
 #, python-format
 msgid "Type: %s"
 msgstr "Typ: %s"
 
-#: ../src/filetransfers_window.py:295
+#: ../src/filetransfers_window.py:310
 #, python-format
 msgid "Description: %s"
 msgstr "Beschreibung: %s"
 
-#: ../src/filetransfers_window.py:296
+#: ../src/filetransfers_window.py:311
 #, python-format
 msgid "%s wants to send you a file:"
 msgstr "%s möchte ihnen eine Datei senden:"
 
-#: ../src/filetransfers_window.py:310
-#: ../src/gtkgui_helpers.py:750
+#: ../src/filetransfers_window.py:324 ../src/gtkgui_helpers.py:773
 #, python-format
 msgid "Cannot overwrite existing file \"%s\""
 msgstr "Kann existierende Datei \"%s\" nicht überschreiben"
 
-#: ../src/filetransfers_window.py:311
-#: ../src/gtkgui_helpers.py:752
-msgid "A file with this name already exists and you do not have permission to overwrite it."
-msgstr "Eine Datei mit diesem Namen existiert bereits und Sie haben nicht die Rechte sie zu überschreiben."
+#: ../src/filetransfers_window.py:325 ../src/gtkgui_helpers.py:775
+msgid ""
+"A file with this name already exists and you do not have permission to "
+"overwrite it."
+msgstr ""
+"Eine Datei mit diesem Namen existiert bereits und Sie haben nicht die Rechte "
+"sie zu überschreiben."
 
-#: ../src/filetransfers_window.py:318
-#: ../src/gtkgui_helpers.py:756
+#: ../src/filetransfers_window.py:332 ../src/gtkgui_helpers.py:779
 msgid "This file already exists"
 msgstr "Diese Datei existiert bereits"
 
-#: ../src/filetransfers_window.py:318
-#: ../src/gtkgui_helpers.py:756
+#: ../src/filetransfers_window.py:332 ../src/gtkgui_helpers.py:779
 msgid "What do you want to do?"
 msgstr "Was möchten Sie tun?"
 
-#: ../src/filetransfers_window.py:330
-#: ../src/gtkgui_helpers.py:766
+#: ../src/filetransfers_window.py:344 ../src/gtkgui_helpers.py:789
 #, python-format
 msgid "Directory \"%s\" is not writable"
 msgstr "Verzeichnis \"%s\" ist nicht schreibbar"
 
-#: ../src/filetransfers_window.py:330
-#: ../src/gtkgui_helpers.py:767
+#: ../src/filetransfers_window.py:344 ../src/gtkgui_helpers.py:790
 msgid "You do not have permission to create files in this directory."
-msgstr "Ihre Benutzerrechte erlauben es Ihnen nicht, in diesem Verzeichnis Dateien anzulegen."
+msgstr ""
+"Ihre Benutzerrechte erlauben es Ihnen nicht, in diesem Verzeichnis Dateien "
+"anzulegen."
 
-#: ../src/filetransfers_window.py:340
+#: ../src/filetransfers_window.py:354
 msgid "Save File as..."
 msgstr "Datei speichern unter ..."
 
 #. Print remaining time in format 00:00:00
 #. You can change the places of (hours), (minutes), (seconds) -
 #. they are not translatable.
-#: ../src/filetransfers_window.py:421
+#: ../src/filetransfers_window.py:434
 #, python-format
 msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
@@ -3755,95 +4410,103 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 #. This should make the string Kb/s,
 #. where 'Kb' part is taken from %s.
 #. Only the 's' after / (which means second) should be translated.
-#: ../src/filetransfers_window.py:497
+#: ../src/filetransfers_window.py:523
 #, python-format
 msgid "(%(filesize_unit)s/s)"
 msgstr "(%(filesize_unit)s/s)"
 
-#: ../src/filetransfers_window.py:536
-#: ../src/filetransfers_window.py:539
+#: ../src/filetransfers_window.py:563 ../src/filetransfers_window.py:566
 msgid "Invalid File"
 msgstr "Ungültige Datei"
 
-#: ../src/filetransfers_window.py:536
+#: ../src/filetransfers_window.py:563
 msgid "File: "
 msgstr "Datei: "
 
-#: ../src/filetransfers_window.py:540
+#: ../src/filetransfers_window.py:567
 msgid "It is not possible to send empty files"
 msgstr "Es nicht möglich, leere Dateien zu versenden"
 
-#: ../src/filetransfers_window.py:560
-#: ../src/tooltips.py:563
+#: ../src/filetransfers_window.py:589 ../src/tooltips.py:583
 msgid "Name: "
 msgstr "Name: "
 
-#: ../src/filetransfers_window.py:562
-#: ../src/tooltips.py:567
+#: ../src/filetransfers_window.py:591 ../src/tooltips.py:587
 msgid "Sender: "
 msgstr "Absender: "
 
-#: ../src/filetransfers_window.py:750
+#: ../src/filetransfers_window.py:779
 msgid "Pause"
 msgstr "Pause"
 
-#: ../src/gajim.py:47
+#: ../src/gajim.py:56
 #, python-format
 msgid "%s is not a valid loglevel"
 msgstr "%s ist kein gültiger Loglevel."
 
-#: ../src/gajim.py:122
+#: ../src/gajim.py:129
 msgid "Gajim needs X server to run. Quiting..."
 msgstr "Gajim benötigt einen laufenden X-Server. Breche ab ..."
 
-#: ../src/gajim.py:126
+#: ../src/gajim.py:156
 msgid "Gajim needs PyGTK 2.8 or above"
 msgstr "Gajim benötigt PyGTK 2.6 oder höher"
 
-#: ../src/gajim.py:127
+#: ../src/gajim.py:157
 msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
 msgstr "Gajim benötigt PyGTK 2.6 oder höher. Breche ab ..."
 
-#: ../src/gajim.py:129
+#: ../src/gajim.py:159
 msgid "Gajim needs GTK 2.8 or above"
 msgstr "Gajim benötigt GTK 2.6 oder höher"
 
-#: ../src/gajim.py:130
+#: ../src/gajim.py:160
 msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
 msgstr "Gajim benötigt GTK 2.6+. Breche ab ..."
 
-#: ../src/gajim.py:135
+#: ../src/gajim.py:165
 msgid "GTK+ runtime is missing libglade support"
 msgstr "GTK+ runtine fehlt libglade-Unterstützung"
 
-#: ../src/gajim.py:137
+#: ../src/gajim.py:167
 #, python-format
-msgid "Please remove your current GTK+ runtime and install the latest stable version from %s"
-msgstr "Bitte entfernen Sie Ihre derzeitige GTK+ Laufzeitumgebung und installieren Sie die aktuelle Version von %s"
+msgid ""
+"Please remove your current GTK+ runtime and install the latest stable "
+"version from %s"
+msgstr ""
+"Bitte entfernen Sie Ihre derzeitige GTK+ Laufzeitumgebung und installieren "
+"Sie die aktuelle Version von %s"
 
-#: ../src/gajim.py:139
-msgid "Please make sure that GTK+ and PyGTK have libglade support in your system."
-msgstr "Bitte stellen Sie sicher, dass GTK+ und PyGTK auf Ihrem System libglade-Unterstützung besitzen."
+#: ../src/gajim.py:169
+msgid ""
+"Please make sure that GTK+ and PyGTK have libglade support in your system."
+msgstr ""
+"Bitte stellen Sie sicher, dass GTK+ und PyGTK auf Ihrem System libglade-"
+"Unterstützung besitzen."
 
-#: ../src/gajim.py:144
+#: ../src/gajim.py:174
 msgid "Gajim needs PySQLite2 to run"
 msgstr "Gajim benötigt PySQLite2 zum Starten"
 
-#: ../src/gajim.py:152
+#: ../src/gajim.py:182
 msgid "Gajim needs pywin32 to run"
 msgstr "Gajim benötigt pywin32 zum Laufen"
 
-#: ../src/gajim.py:153
+#: ../src/gajim.py:183
 #, python-format
-msgid "Please make sure that Pywin32 is installed on your system. You can get it at %s"
-msgstr "Bitte stellen Sie sicher das Pywin32 auf Ihrem System installiert ist. Sie können es unter folgender URL herunterladen: %s "
+msgid ""
+"Please make sure that Pywin32 is installed on your system. You can get it at "
+"%s"
+msgstr ""
+"Bitte stellen Sie sicher das Pywin32 auf Ihrem System installiert ist. Sie "
+"können es unter folgender URL herunterladen: %s "
 
 #. set the icon to all newly opened wind
-#: ../src/gajim.py:300
+#: ../src/gajim.py:328
 msgid "Gajim is already running"
 msgstr "Gajim läuft bereits"
 
-#: ../src/gajim.py:301
+#: ../src/gajim.py:329
 msgid ""
 "Another instance of Gajim seems to be running\n"
 "Run anyway?"
@@ -3851,88 +4514,169 @@ msgstr ""
 "Eine andere Instanz von Gajim schein bereits zu laufen\n"
 "Trotzdem starten?"
 
-#: ../src/gajim.py:408
+#: ../src/gajim.py:352 ../src/common/connection_handlers.py:908
+#: ../src/common/connection_handlers.py:1620
+#: ../src/common/connection_handlers.py:1649
+#: ../src/common/connection_handlers.py:1659
+#: ../src/common/connection_handlers.py:1678
+#: ../src/common/connection_handlers.py:1915
+#: ../src/common/connection_handlers.py:2027 ../src/common/connection.py:938
+msgid "Disk Write Error"
+msgstr "Fehler beim Schreiben auf Festplatte"
+
+#: ../src/gajim.py:448
+msgid "Do you accept this request?"
+msgstr "Akzeptieren Sie diese Anfrage?"
+
+#: ../src/gajim.py:450
+#, python-format
+msgid "Do you accept this request on account %s?"
+msgstr "Akzeptieren Sie diese Anfrage vom %s Konto?"
+
+#: ../src/gajim.py:453
 #, python-format
 msgid "HTTP (%s) Authorization for %s (id: %s)"
 msgstr "HTTP (%s) Autorisierung für %s (id: %s)"
 
-#: ../src/gajim.py:409
-msgid "Do you accept this request?"
-msgstr "Akzeptieren Sie diese Anfrage?"
-
-#: ../src/gajim.py:455
-#: ../src/notify.py:435
+#: ../src/gajim.py:500 ../src/notify.py:466
 msgid "Connection Failed"
 msgstr "Verbindung fehlgeschlagen"
 
-#: ../src/gajim.py:775
+#: ../src/gajim.py:834
 #, python-format
 msgid "Subject: %s"
 msgstr "Thema: %s"
 
 #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
-#: ../src/gajim.py:820
-#: ../src/gajim.py:833
+#: ../src/gajim.py:881 ../src/gajim.py:894
 #, python-format
 msgid "error while sending %s ( %s )"
 msgstr "Fehler beim Senden von %s ( %s )"
 
-#: ../src/gajim.py:866
+#: ../src/gajim.py:927
 msgid "Authorization accepted"
 msgstr "Autorisierung akzeptiert"
 
-#: ../src/gajim.py:867
+#: ../src/gajim.py:928
 #, python-format
 msgid "The contact \"%s\" has authorized you to see his or her status."
 msgstr "Kontakt \"%s\" hat Sie autorisiert seinen oder ihren Staus zu sehen."
 
-#: ../src/gajim.py:875
+#: ../src/gajim.py:936
 #, python-format
 msgid "Contact \"%s\" removed subscription from you"
 msgstr "Kontakt \"%s\" hat das Abonnement zurückgezogen"
 
-#: ../src/gajim.py:876
+#: ../src/gajim.py:937
 msgid "You will always see him or her as offline."
 msgstr "Sie werden den Kontakt ab sofort als offline sehen."
 
-#: ../src/gajim.py:920
+#: ../src/gajim.py:981
 #, python-format
 msgid "Contact with \"%s\" cannot be established"
 msgstr "Kontakt mit \"%s\" konnte nicht hergestellt werden"
 
-#: ../src/gajim.py:921
-#: ../src/common/connection.py:434
+#: ../src/gajim.py:982 ../src/common/connection.py:465
 msgid "Check your connection or try again later."
-msgstr "Überprüfen Sie die Verbindung oder versuchen Sie es später noch einmal."
+msgstr ""
+"Überprüfen Sie die Verbindung oder versuchen Sie es später noch einmal."
+
+#: ../src/gajim.py:1151 ../src/groupchat_control.py:991
+#, python-format
+msgid "%s is now known as %s"
+msgstr "%s heißt jetzt %s"
 
-#: ../src/gajim.py:1070
-#: ../src/roster_window.py:1218
+#: ../src/gajim.py:1167 ../src/roster_window.py:1372
 #, python-format
 msgid "%s is now %s (%s)"
 msgstr "%s ist jetzt %s (%s)"
 
 #. No status message
-#: ../src/gajim.py:1073
-#: ../src/groupchat_control.py:962
-#: ../src/roster_window.py:1221
+#: ../src/gajim.py:1170 ../src/groupchat_control.py:1142
+#: ../src/roster_window.py:1375
 #, python-format
 msgid "%s is now %s"
 msgstr "%s ist jetzt %s"
 
-#: ../src/gajim.py:1170
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/gajim.py:1291 ../src/groupchat_control.py:951
+msgid "Any occupant is allowed to see your full JID"
+msgstr "Jeder Teilnehmer darf Ihre volle JID sehen"
+
+#: ../src/gajim.py:1294
+msgid "Room now shows unavailable member"
+msgstr "Raum zeigt jetzt abwesende Teilnehmer"
+
+#: ../src/gajim.py:1296
+msgid "room now does not show unavailable members"
+msgstr "Raum zeigt jetzt abwesende Teilnehmer nicht an"
+
+#: ../src/gajim.py:1299
+msgid "A non-privacy-related room configuration change has occurred"
+msgstr ""
+"Eine nicht Privatsphären-bezogene Raum-Konfigurations-Änderung ist "
+"aufgetreten"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#: ../src/gajim.py:1302
+msgid "Room logging is now enabled"
+msgstr "Raum-Mitschnitt ist jetzt aktiviert"
+
+#: ../src/gajim.py:1304
+msgid "Room logging is now disabled"
+msgstr "Raum-Mitschnitt ist jetzt deaktiviert"
+
+#: ../src/gajim.py:1306
+msgid "Room is now non-anonymous"
+msgstr "Raum ist jetzt un-anonym"
+
+#: ../src/gajim.py:1309
+msgid "Room is now semi-anonymous"
+msgstr "Raum ist jetzt semi-anonym"
+
+#: ../src/gajim.py:1312
+msgid "Room is now fully-anonymous"
+msgstr "Raum ist jetzt voll anonym"
+
+#: ../src/gajim.py:1344
+#, python-format
+msgid "A Password is required to join the room %s. Please type it"
+msgstr "Für das Betreten des Gruppenchats-Raumes %s wird ein Passwort benötig."
+
+#: ../src/gajim.py:1379
 msgid "Your passphrase is incorrect"
 msgstr "Ihre Passphrase ist falsch"
 
-#: ../src/gajim.py:1171
+#: ../src/gajim.py:1380
 msgid "You are currently connected without your OpenPGP key."
 msgstr "Sie wurden ohne ihren GPG-Schlüssel verbunden"
 
-#: ../src/gajim.py:1274
+#: ../src/gajim.py:1392
+msgid "Passphrase Required"
+msgstr "Passphrase benötigt"
+
+#: ../src/gajim.py:1393
+#, python-format
+msgid "Enter GPG key passphrase for account %s."
+msgstr "Geben Sie die GPG-Passphrase für das Konto %s ein."
+
+#: ../src/gajim.py:1405
+msgid "Wrong Passphrase"
+msgstr "Falsche Passphrase"
+
+#: ../src/gajim.py:1406
+msgid "Please retype your GPG passphrase or press Cancel."
+msgstr ""
+"Bitte geben Sie Ihre GPG-Passphrase erneut ein oder klicken Sie auf "
+"Abbrechen."
+
+#: ../src/gajim.py:1515
 #, python-format
 msgid "New mail on %(gmail_mail_address)s"
 msgstr "Neue E-Mail auf %(gmail_mail_address)s"
 
-#: ../src/gajim.py:1276
+#: ../src/gajim.py:1517
 #, python-format
 msgid "You have %d new mail conversation"
 msgid_plural "You have %d new mail conversations"
@@ -3942,7 +4686,7 @@ msgstr[1] "Sie haben %d ungelesene E-Mail-Nachrichten"
 #. FIXME: emulate Gtalk client popups. find out what they parse and how
 #. they decide what to show
 #. each message has a 'From', 'Subject' and 'Snippet' field
-#: ../src/gajim.py:1285
+#: ../src/gajim.py:1526
 #, python-format
 msgid ""
 "\n"
@@ -3951,329 +4695,430 @@ msgstr ""
 "\n"
 "Von: %(from_address)s"
 
-#: ../src/gajim.py:1441
+#: ../src/gajim.py:1704
 #, python-format
 msgid "%s wants to send you a file."
 msgstr "%s möchte ihnen eine Datei senden."
 
-#: ../src/gajim.py:1506
+#: ../src/gajim.py:1769
 #, python-format
 msgid "You successfully received %(filename)s from %(name)s."
 msgstr "Sie haben %(filename)s erfolgreich von %(name)s erhalten."
 
 #. ft stopped
-#: ../src/gajim.py:1510
+#: ../src/gajim.py:1773
 #, python-format
 msgid "File transfer of %(filename)s from %(name)s stopped."
 msgstr "Dateitransfer %(filename)s von %(name)s wurde gestoppt."
 
-#: ../src/gajim.py:1523
+#: ../src/gajim.py:1786
 #, python-format
 msgid "You successfully sent %(filename)s to %(name)s."
 msgstr "Sie haben%(filename)s erfolgreich an %(name)s gesendet."
 
 #. ft stopped
-#: ../src/gajim.py:1527
+#: ../src/gajim.py:1790
 #, python-format
 msgid "File transfer of %(filename)s to %(name)s stopped."
 msgstr "Dateitransfer von %(filename)s an %(name)s wurde gestoppt."
 
-#: ../src/gajim.py:1640
+#: ../src/gajim.py:1885
+msgid "Session negotiation cancelled"
+msgstr "Sitzungs-Aushandlung abgebrochen"
+
+#: ../src/gajim.py:1886
+#, python-format
+msgid "The client at %s cancelled the session negotiation."
+msgstr "Der Client bei %s hat die Sitzungs-Aushandlung abgebrochen."
+
+#: ../src/gajim.py:1927 ../src/gajim.py:1971
+msgid "Confirm these session options"
+msgstr "Bestätigen Sie diese Sitzungs-Optionen"
+
+#: ../src/gajim.py:1928
+#, python-format
+msgid ""
+"The remote client wants to negotiate an session with these features:\n"
+"\n"
+"\t\t%s\n"
+"\n"
+"\t\tAre these options acceptable?"
+msgstr ""
+"Der entfernte Client will eine Sitzung mit diesen Features aushandeln:\n"
+"\n"
+"\t\t%s\n"
+"\n"
+"\t\tSind diese Einstellungen akzeptabel?"
+
+#: ../src/gajim.py:1972
+#, python-format
+msgid ""
+"The remote client selected these options:\n"
+"\n"
+"%s\n"
+"\n"
+"Continue with the session?"
+msgstr ""
+"Der entfernte Client hat diese Optionen ausgewählt:\n"
+"\n"
+"%s\n"
+"\n"
+"Mit der Sitzung fortfahren?"
+
+#: ../src/gajim.py:2097
 msgid "Username Conflict"
 msgstr "Benutzernamenkonflikt"
 
-#: ../src/gajim.py:1641
+#: ../src/gajim.py:2098
 msgid "Please type a new username for your local account"
-msgstr "<b>Bitte geben Sie einen neuen Benutzernamen für Ihr lokales Konto ein</b>"
+msgstr "Bitte geben Sie einen neuen Benutzernamen für Ihr lokales Konto ein"
+
+#: ../src/gajim.py:2115
+msgid "Ping?"
+msgstr "Ping?"
+
+#: ../src/gajim.py:2123
+#, python-format
+msgid "Pong! (%s s.)"
+msgstr "Pong! (%s s.)"
+
+#: ../src/gajim.py:2129
+msgid "Error."
+msgstr "Fehler:"
+
+#: ../src/gajim.py:2154
+msgid "Resource Conflict"
+msgstr "Resourcenkonflikt"
+
+#: ../src/gajim.py:2155
+msgid ""
+"You are already connected to this account with the same resource. Please "
+"type a new one"
+msgstr ""
+"Sie sind mit diesem Konto bereits mit derselben Ressource verbunden.Bitte "
+"geben Sie eine neue ein"
 
 #. it is good to notify the user
 #. in case he or she cannot see the output of the console
-#: ../src/gajim.py:1987
+#: ../src/gajim.py:2520
 msgid "Could not save your settings and preferences"
 msgstr "Konnte Einstellungen nicht speichern"
 
-#: ../src/gajim.py:2185
+#. sorted alphanum
+#: ../src/gajim.py:2656 ../src/common/config.py:102
+#: ../src/common/config.py:413 ../src/common/optparser.py:206
+#: ../src/common/optparser.py:424 ../src/common/optparser.py:458
+msgid "default"
+msgstr "Standard"
+
+#: ../src/gajim.py:2742
 msgid "Network Manager support not available"
 msgstr "Unterstützung für Network Manager nicht verfügbar"
 
-#: ../src/gajim.py:2264
+#: ../src/gajim.py:2847
 msgid "Session Management support not available (missing gnome.ui module)"
 msgstr "Sitzungsmanagment-Unterstützung nicht verfügbar (Modul gnome.ui fehlt)"
 
-#: ../src/gajim-remote.py:65
+#: ../src/gajim-remote.py:73
 msgid "Shows a help on specific command"
 msgstr "zeige die Hilfe für einen bestimmten Befehl"
 
 #. User gets help for the command, specified by this parameter
-#: ../src/gajim-remote.py:68
+#: ../src/gajim-remote.py:76
 msgid "command"
 msgstr "Befehl"
 
-#: ../src/gajim-remote.py:69
+#: ../src/gajim-remote.py:77
 msgid "show help on command"
 msgstr "zeige Hilfe für Befehl"
 
-#: ../src/gajim-remote.py:73
+#: ../src/gajim-remote.py:81
 msgid "Shows or hides the roster window"
 msgstr "Ein- oder Ausblenden des Hauptfensters"
 
-#: ../src/gajim-remote.py:77
+#: ../src/gajim-remote.py:85
 msgid "Pops up a window with the next pending event"
 msgstr "Zeige Popup-Fenster mit dem nächsten ungelesenen Ereignis"
 
-#: ../src/gajim-remote.py:81
-msgid "Prints a list of all contacts in the roster. Each contact appears on a separate line"
+#: ../src/gajim-remote.py:89
+msgid ""
+"Prints a list of all contacts in the roster. Each contact appears on a "
+"separate line"
 msgstr "Gibt eine Liste aller Kontakte im Roster aus. Eine Zeile je Kontakt"
 
-#: ../src/gajim-remote.py:84
-#: ../src/gajim-remote.py:99
-#: ../src/gajim-remote.py:109
-#: ../src/gajim-remote.py:122
-#: ../src/gajim-remote.py:136
-#: ../src/gajim-remote.py:157
-#: ../src/gajim-remote.py:187
-#: ../src/gajim-remote.py:196
-#: ../src/gajim-remote.py:203
-#: ../src/gajim-remote.py:210
-#: ../src/gajim-remote.py:221
-#: ../src/gajim-remote.py:237
-#: ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:92 ../src/gajim-remote.py:107
+#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:130
+#: ../src/gajim-remote.py:144 ../src/gajim-remote.py:153
+#: ../src/gajim-remote.py:174 ../src/gajim-remote.py:204
+#: ../src/gajim-remote.py:213 ../src/gajim-remote.py:220
+#: ../src/gajim-remote.py:227 ../src/gajim-remote.py:238
+#: ../src/gajim-remote.py:254 ../src/gajim-remote.py:263
 msgid "account"
 msgstr "Konto"
 
-#: ../src/gajim-remote.py:84
+#: ../src/gajim-remote.py:92
 msgid "show only contacts of the given account"
 msgstr "zeige nur Kontakte für das gegebene Konto"
 
-#: ../src/gajim-remote.py:90
+#: ../src/gajim-remote.py:98
 msgid "Prints a list of registered accounts"
 msgstr "Gibt eine Liste registrierter Konten aus"
 
-#: ../src/gajim-remote.py:94
+#: ../src/gajim-remote.py:102
 msgid "Changes the status of account or accounts"
 msgstr "Ändere den Status eines oder mehrerer Konten"
 
 #. offline, online, chat, away, xa, dnd, invisible should not be translated
-#: ../src/gajim-remote.py:97
+#: ../src/gajim-remote.py:105
 msgid "status"
 msgstr "Status"
 
-#: ../src/gajim-remote.py:97
+#: ../src/gajim-remote.py:105
 msgid "one of: offline, online, chat, away, xa, dnd, invisible "
 msgstr "Eins von: offline, online, chat, away, xa, dnd, invisible "
 
-#: ../src/gajim-remote.py:98
-#: ../src/gajim-remote.py:119
-#: ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:106 ../src/gajim-remote.py:127
+#: ../src/gajim-remote.py:141 ../src/gajim-remote.py:152
 msgid "message"
 msgstr "Nachricht"
 
-#: ../src/gajim-remote.py:98
+#: ../src/gajim-remote.py:106
 msgid "status message"
 msgstr "Statusnachricht"
 
-#: ../src/gajim-remote.py:99
-msgid "change status of account \"account\". If not specified, try to change status of all accounts that have \"sync with global status\" option set"
-msgstr "Ändere Status vom Konto \"account\". Falls nicht angegeben, ändere Status aller Konten für die \"Kontostatus mit globalem Status abgleichen\" aktiviert ist"
+#: ../src/gajim-remote.py:107
+msgid ""
+"change status of account \"account\". If not specified, try to change status "
+"of all accounts that have \"sync with global status\" option set"
+msgstr ""
+"Ändere Status vom Konto \"account\". Falls nicht angegeben, ändere Status "
+"aller Konten für die \"Kontostatus mit globalem Status abgleichen\" "
+"aktiviert ist"
 
-#: ../src/gajim-remote.py:105
+#: ../src/gajim-remote.py:113
 msgid "Shows the chat dialog so that you can send messages to a contact"
-msgstr "Zeige Chatfenster, so dass eine Nachricht an einen Kontakt gesendet werden kann"
+msgstr ""
+"Zeige Chatfenster, so dass eine Nachricht an einen Kontakt gesendet werden "
+"kann"
 
-#: ../src/gajim-remote.py:107
+#: ../src/gajim-remote.py:115
 msgid "JID of the contact that you want to chat with"
 msgstr "JID des Kontakts mit Sie chatten möchten"
 
-#: ../src/gajim-remote.py:109
-#: ../src/gajim-remote.py:187
+#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:204
 msgid "if specified, contact is taken from the contact list of this account"
 msgstr "falls angegeben, wird der Kontakt von der Liste dieses Kontos gewählt"
 
-#: ../src/gajim-remote.py:114
-msgid "Sends new chat message to a contact in the roster. Both OpenPGP key and account are optional. If you want to set only 'account', without 'OpenPGP key', just set 'OpenPGP key' to ''."
-msgstr "Sende neue Chat-Nachricht zu einem Kontakt im Roster. OpenPGP-Schlüssel und Konto sind optional. Falls nur 'Konto' gesetzt werden soll, ohne OpenGPG-Schlüssel, setzen Sie 'OpenGPG-Schlüssel' einfach auf ''."
+#: ../src/gajim-remote.py:122
+msgid ""
+"Sends new chat message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Sende neue Chat-Nachricht zu einem Kontakt im Roster. OpenPGP-Schlüssel und "
+"Konto sind optional. Falls nur 'Konto' gesetzt werden soll, ohne OpenGPG-"
+"Schlüssel, setzen Sie 'OpenGPG-Schlüssel' einfach auf ''."
 
-#: ../src/gajim-remote.py:118
-#: ../src/gajim-remote.py:131
+#: ../src/gajim-remote.py:126 ../src/gajim-remote.py:139
 msgid "JID of the contact that will receive the message"
 msgstr "JID des Kontakts, der die Nachricht empfängt"
 
-#: ../src/gajim-remote.py:119
-#: ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:127 ../src/gajim-remote.py:141
+#: ../src/gajim-remote.py:152
 msgid "message contents"
 msgstr "Nachrichteninhalt"
 
-#: ../src/gajim-remote.py:120
-#: ../src/gajim-remote.py:134
+#: ../src/gajim-remote.py:128 ../src/gajim-remote.py:142
 msgid "pgp key"
 msgstr "PGP-Schlüssel"
 
-#: ../src/gajim-remote.py:120
-#: ../src/gajim-remote.py:134
+#: ../src/gajim-remote.py:128 ../src/gajim-remote.py:142
 msgid "if specified, the message will be encrypted using this public key"
 msgstr "falls angegeben, wird die Nachricht damit verschlüsselt"
 
-#: ../src/gajim-remote.py:122
-#: ../src/gajim-remote.py:136
+#: ../src/gajim-remote.py:130 ../src/gajim-remote.py:144
+#: ../src/gajim-remote.py:153
 msgid "if specified, the message will be sent using this account"
 msgstr "falls angegeben, wird die Nachricht über dieses Konto gesendet"
 
-#: ../src/gajim-remote.py:127
-msgid "Sends new single message to a contact in the roster. Both OpenPGP key and account are optional. If you want to set only 'account', without 'OpenPGP key', just set 'OpenPGP key' to ''."
-msgstr "Sende neue einzelne Nachricht an einen Kontakt im Roster. OpenPGP-Schlüssel und Konto sind optional. Falls nur 'Konto' gesetzt werden soll, ohne OpenGPG-Schlüssel, lassen Sie 'OpenGPG-Schlüssel' einfach leer."
+#: ../src/gajim-remote.py:135
+msgid ""
+"Sends new single message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Sende neue einzelne Nachricht an einen Kontakt im Roster. OpenPGP-Schlüssel "
+"und Konto sind optional. Falls nur 'Konto' gesetzt werden soll, ohne OpenGPG-"
+"Schlüssel, lassen Sie 'OpenGPG-Schlüssel' einfach leer."
 
-#: ../src/gajim-remote.py:132
+#: ../src/gajim-remote.py:140
 msgid "subject"
 msgstr "Betreff"
 
-#: ../src/gajim-remote.py:132
-msgid "message subject"
-msgstr "Nachrichten-Betreff"
+#: ../src/gajim-remote.py:140
+msgid "message subject"
+msgstr "Nachrichten-Betreff"
+
+#: ../src/gajim-remote.py:149
+msgid "Sends new message to a groupchat you've joined."
+msgstr ""
+"Sendet eine neue Nachricht an einen Gruppenchat, den Sie betreten haben."
+
+#: ../src/gajim-remote.py:151
+msgid "JID of the room that will receive the message"
+msgstr "JID des Raums, der die Nachricht empfängt"
 
-#: ../src/gajim-remote.py:141
+#: ../src/gajim-remote.py:158
 msgid "Gets detailed info on a contact"
 msgstr "Zeige detaillierte Informationen über Kontakt"
 
-#: ../src/gajim-remote.py:143
-#: ../src/gajim-remote.py:156
-#: ../src/gajim-remote.py:186
-#: ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:160 ../src/gajim-remote.py:173
+#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:212
 msgid "JID of the contact"
 msgstr "JID des Kontakts"
 
-#: ../src/gajim-remote.py:147
+#: ../src/gajim-remote.py:164
 msgid "Gets detailed info on a account"
 msgstr "Zeige detaillierte Informationen über ein Konto"
 
-#: ../src/gajim-remote.py:149
+#: ../src/gajim-remote.py:166
 msgid "Name of the account"
 msgstr "Name des Kontos"
 
-#: ../src/gajim-remote.py:153
+#: ../src/gajim-remote.py:170
 msgid "Sends file to a contact"
 msgstr "Sendet dem Kontakt eine Datei"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:172
 msgid "file"
 msgstr "Datei"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:172
 msgid "File path"
 msgstr "Dateipfad"
 
-#: ../src/gajim-remote.py:157
+#: ../src/gajim-remote.py:174
 msgid "if specified, file will be sent using this account"
 msgstr "Falls angegeben, wird die Nachricht über dieses Konto gesendet"
 
-#: ../src/gajim-remote.py:162
+#: ../src/gajim-remote.py:179
 msgid "Lists all preferences and their values"
 msgstr "Zeige alle Einstellung und ihre Werte"
 
-#: ../src/gajim-remote.py:166
+#: ../src/gajim-remote.py:183
 msgid "Sets value of 'key' to 'value'."
 msgstr "Setze Wert von 'Schlüssel' auf 'Wert'."
 
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:185
 msgid "key=value"
 msgstr "key=value"
 
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:185
 msgid "'key' is the name of the preference, 'value' is the value to set it to"
 msgstr "'key' ist der Name der Option, 'value' ist der der einzustellende Wert"
 
-#: ../src/gajim-remote.py:173
+#: ../src/gajim-remote.py:190
 msgid "Deletes a preference item"
 msgstr "Lösche eine Einstellung"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:192
 msgid "key"
 msgstr "Schlüssel"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:192
 msgid "name of the preference to be deleted"
 msgstr "Name der zu löschenden Einstellung"
 
-#: ../src/gajim-remote.py:179
+#: ../src/gajim-remote.py:196
 msgid "Writes the current state of Gajim preferences to the .config file"
 msgstr "Schreibe die aktuellen Gajim-Einstellung in die Konfigurationsdatei"
 
-#: ../src/gajim-remote.py:184
+#: ../src/gajim-remote.py:201
 msgid "Removes contact from roster"
 msgstr "Entfernt den Kontakt aus dem Roster"
 
-#: ../src/gajim-remote.py:193
+#: ../src/gajim-remote.py:210
 msgid "Adds contact to roster"
 msgstr "Fügt Kontakt zum Roster hinzu"
 
-#: ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:212
 msgid "jid"
 msgstr "JID"
 
-#: ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:213
 msgid "Adds new contact to this account"
 msgstr "Fügt neuen Kontakt zu diesem Konto hinzu"
 
-#: ../src/gajim-remote.py:201
+#: ../src/gajim-remote.py:218
 msgid "Returns current status (the global one unless account is specified)"
-msgstr "Gibt derzeitigen Status zurück (der globale Status, außer, es wird ein Account spezifiziert)"
+msgstr ""
+"Gibt derzeitigen Status zurück (der globale Status, außer, es wird ein "
+"Account spezifiziert)"
 
-#: ../src/gajim-remote.py:208
-msgid "Returns current status message(the global one unless account is specified)"
-msgstr "Gibt derzeitige Statusnachricht zurück (der globale, außer, es wird ein Account angegeben)"
+#: ../src/gajim-remote.py:225
+msgid ""
+"Returns current status message(the global one unless account is specified)"
+msgstr ""
+"Gibt derzeitige Statusnachricht zurück (der globale, außer, es wird ein "
+"Account angegeben)"
 
-#: ../src/gajim-remote.py:215
+#: ../src/gajim-remote.py:232
 msgid "Returns number of unread messages"
 msgstr "Gibt die Anzahl der ungelesenen Nachrichten zurück"
 
-#: ../src/gajim-remote.py:219
+#: ../src/gajim-remote.py:236
 msgid "Opens 'Start Chat' dialog"
 msgstr "Öffnet den 'Chat starten' Dialog"
 
-#: ../src/gajim-remote.py:221
+#: ../src/gajim-remote.py:238
 msgid "Starts chat, using this account"
 msgstr "Starte Chat mit diesem Account"
 
-#: ../src/gajim-remote.py:225
+#: ../src/gajim-remote.py:242
 msgid "Sends custom XML"
 msgstr "Benutzerdefinierten XML-Code senden"
 
-#: ../src/gajim-remote.py:227
+#: ../src/gajim-remote.py:244
 msgid "XML to send"
 msgstr "Zu sendender XML-Code"
 
-#: ../src/gajim-remote.py:228
-msgid "Account in which the xml will be sent; if not specified, xml will be sent to all accounts"
-msgstr "Konto, an welchen XML gesendet wird; wenn nicht spezifiziert, wird XML an alle Konten gesendet"
+#: ../src/gajim-remote.py:245
+msgid ""
+"Account in which the xml will be sent; if not specified, xml will be sent to "
+"all accounts"
+msgstr ""
+"Konto, an welchen XML gesendet wird; wenn nicht spezifiziert, wird XML an "
+"alle Konten gesendet"
 
-#: ../src/gajim-remote.py:234
+#: ../src/gajim-remote.py:251
 msgid "Handle a xmpp:/ uri"
 msgstr "Behandle eine xmpp:/ URI"
 
-#: ../src/gajim-remote.py:236
+#: ../src/gajim-remote.py:253
 msgid "uri"
 msgstr "URI"
 
-#: ../src/gajim-remote.py:241
+#: ../src/gajim-remote.py:258
 msgid "Join a MUC room"
 msgstr "Neuen Raum betreten"
 
-#: ../src/gajim-remote.py:243
+#: ../src/gajim-remote.py:260
 msgid "room"
 msgstr "Raum"
 
-#: ../src/gajim-remote.py:244
+#: ../src/gajim-remote.py:261
 msgid "nick"
 msgstr "Spitzname"
 
-#: ../src/gajim-remote.py:245
+#: ../src/gajim-remote.py:262
 msgid "password"
 msgstr "Passwort"
 
-#: ../src/gajim-remote.py:268
+#: ../src/gajim-remote.py:285
 msgid "Missing argument \"contact_jid\""
 msgstr "Fehlendes Argument \"contact_jid\""
 
-#: ../src/gajim-remote.py:287
+#: ../src/gajim-remote.py:304
 #, python-format
 msgid ""
 "'%s' is not in your roster.\n"
@@ -4282,11 +5127,11 @@ msgstr ""
 "'%s' ist nicht in ihrer Kontaktliste.\n"
 "Bitte geben Sie ein Konto zum Senden der Nachricht an."
 
-#: ../src/gajim-remote.py:290
+#: ../src/gajim-remote.py:307
 msgid "You have no active account"
 msgstr "Kein aktives Konto"
 
-#: ../src/gajim-remote.py:354
+#: ../src/gajim-remote.py:371
 #, python-format
 msgid ""
 "Usage: %s %s %s \n"
@@ -4295,16 +5140,16 @@ msgstr ""
 "Verwendung: %s %s %s \n"
 "\t %s"
 
-#: ../src/gajim-remote.py:357
+#: ../src/gajim-remote.py:374
 msgid "Arguments:"
 msgstr "Parameter:"
 
-#: ../src/gajim-remote.py:361
+#: ../src/gajim-remote.py:378
 #, python-format
 msgid "%s not found"
 msgstr "%s nicht gefunden"
 
-#: ../src/gajim-remote.py:365
+#: ../src/gajim-remote.py:382
 #, python-format
 msgid ""
 "Usage: %s command [arguments]\n"
@@ -4313,7 +5158,7 @@ msgstr ""
 "Verwendung: %s Befehl [Argumente]\n"
 "Befehl ist einer von:\n"
 
-#: ../src/gajim-remote.py:438
+#: ../src/gajim-remote.py:455
 #, python-format
 msgid ""
 "Too many arguments. \n"
@@ -4322,7 +5167,7 @@ msgstr ""
 "Zu viele Argumente. \n"
 "Geben Sie \"%s help %s\" ein für weitere Informationen"
 
-#: ../src/gajim-remote.py:442
+#: ../src/gajim-remote.py:459
 #, python-format
 msgid ""
 "Argument \"%s\" is not specified. \n"
@@ -4331,229 +5176,291 @@ msgstr ""
 "Argument \"%s\" wurde nicht angegeben. \n"
 "Geben Sie \"%s help %s\" ein für Hilfe"
 
-#: ../src/gajim-remote.py:460
+#: ../src/gajim-remote.py:477
 msgid "Wrong uri"
 msgstr "Falscher URI"
 
-#: ../src/gajim_themes_window.py:60
+#: ../src/gajim_themes_window.py:67
 msgid "Theme"
 msgstr "Thema"
 
+#: ../src/gajim_themes_window.py:105
+msgid "You cannot make changes to the default theme"
+msgstr "Sie können ihr derzeitiges Theme nicht ändern"
+
+#: ../src/gajim_themes_window.py:106
+msgid "Please create a clean new theme with your desired name."
+msgstr ""
+"Bitte erstellen Sie ein neues leeres Thema mit Ihrem gewünschten Namen."
+
 #. don't confuse translators
-#: ../src/gajim_themes_window.py:155
+#: ../src/gajim_themes_window.py:180
 msgid "theme name"
 msgstr "Name des Themas"
 
-#: ../src/gajim_themes_window.py:172
+#: ../src/gajim_themes_window.py:197
 msgid "You cannot delete your current theme"
 msgstr "Sie können ihr derzeitiges Theme nicht löschen"
 
-#: ../src/gajim_themes_window.py:173
+#: ../src/gajim_themes_window.py:198
 msgid "Please first choose another for your current theme."
 msgstr "Bitte wählen Sie zuerst einen anderen Namen für ihr derzeitiges Theme."
 
-#: ../src/groupchat_control.py:122
+#: ../src/groupchat_control.py:139
 msgid "Sending private message failed"
 msgstr "Senden privater Nachricht fehlgeschlagen"
 
 #. in second %s code replaces with nickname
-#: ../src/groupchat_control.py:124
+#: ../src/groupchat_control.py:141
 #, python-format
 msgid "You are no longer in group chat \"%s\" or \"%s\" has left."
-msgstr "Sie sind nicht mehr im Gruppenchat \"%s\" oder \"%s\" hat den Gruppenchat verlassen."
+msgstr ""
+"Sie sind nicht mehr im Gruppenchat \"%s\" oder \"%s\" hat den Gruppenchat "
+"verlassen."
 
-#: ../src/groupchat_control.py:322
+#: ../src/groupchat_control.py:350
 msgid "Insert Nickname"
 msgstr "Spitzname einfügen"
 
+#: ../src/groupchat_control.py:878
+msgid "Really send file?"
+msgstr "Datei wirklich senden?"
+
+#: ../src/groupchat_control.py:879
+#, python-format
+msgid "If you send a file to %s, he/she will know your real Jabber ID."
+msgstr ""
+"Wenn Sie eine Datei an %s senden wird er/sie Ihre echte Jabber ID kennen."
+
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/groupchat_control.py:954
+msgid "Room logging is enabled"
+msgstr "Raum-Mitschnitt ist aktiviert"
+
+#: ../src/groupchat_control.py:956
+msgid "A new room has been created"
+msgstr "Ein neuer Raum wurde erstellt"
+
+#: ../src/groupchat_control.py:959
+msgid "The server has assigned or modified your roomnick"
+msgstr "Der Server hat Ihren Raum-Nick zugewiesen oder verändert"
+
 #. do not print 'kicked by None'
-#: ../src/groupchat_control.py:844
+#: ../src/groupchat_control.py:965
 #, python-format
 msgid "%(nick)s has been kicked: %(reason)s"
 msgstr "%(nick)s wurde rausgeschmissen: %(reason)s"
 
-#: ../src/groupchat_control.py:848
+#: ../src/groupchat_control.py:969
 #, python-format
 msgid "%(nick)s has been kicked by %(who)s: %(reason)s"
 msgstr "%(nick)s wurde von %(who)s rausgeschmissen: %(reason)s"
 
 #. do not print 'banned by None'
-#: ../src/groupchat_control.py:855
+#: ../src/groupchat_control.py:976
 #, python-format
 msgid "%(nick)s has been banned: %(reason)s"
 msgstr "%(nick)s wurde gebannt: %(reason)s"
 
-#: ../src/groupchat_control.py:859
+#: ../src/groupchat_control.py:980
 #, python-format
 msgid "%(nick)s has been banned by %(who)s: %(reason)s"
 msgstr "%(nick)s wurde von %(who)s gebannt: %(reason)s"
 
-#: ../src/groupchat_control.py:867
+#: ../src/groupchat_control.py:989
 #, python-format
 msgid "You are now known as %s"
 msgstr "Sie heißen nun %s"
 
-#: ../src/groupchat_control.py:869
+#: ../src/groupchat_control.py:1025 ../src/groupchat_control.py:1029
+#: ../src/groupchat_control.py:1034
 #, python-format
-msgid "%s is now known as %s"
-msgstr "%s heißt jetzt %s"
+msgid "%(nick)s has been removed from the room (%(reason)s)"
+msgstr "%(nick)s wurde von %(who)s rausgeschmissen: %(reason)s"
 
-#: ../src/groupchat_control.py:955
+#: ../src/groupchat_control.py:1026
+#, fuzzy
+msgid "affiliation changed"
+msgstr "Zugehörigkeit: "
+
+#: ../src/groupchat_control.py:1031
+msgid "room configuration changed to members-only"
+msgstr "Gruppenchatkonfiguration wurde auf ausschließlich Mitgleider geändert"
+
+#: ../src/groupchat_control.py:1036
+msgid "system shutdown"
+msgstr "System wird heruntergefahren"
+
+#: ../src/groupchat_control.py:1135
 #, python-format
 msgid "%s has left"
 msgstr "%s ist gegangen"
 
-#: ../src/groupchat_control.py:960
+#: ../src/groupchat_control.py:1140
 #, python-format
 msgid "%s has joined the group chat"
 msgstr "%s hat den Gruppenchat betreten"
 
-#: ../src/groupchat_control.py:1082
-#: ../src/groupchat_control.py:1100
-#: ../src/groupchat_control.py:1193
-#: ../src/groupchat_control.py:1210
+#. Invalid Nickname
+#. invalid char
+#: ../src/groupchat_control.py:1253 ../src/groupchat_control.py:1532
+msgid "Invalid nickname"
+msgstr "Ungültiger Benutzername"
+
+#: ../src/groupchat_control.py:1254 ../src/groupchat_control.py:1533
+msgid "The nickname has not allowed characters."
+msgstr "Die Jabber-ID für den Gruppenchat enthält nicht erlaubte Zeichen."
+
+#: ../src/groupchat_control.py:1277 ../src/groupchat_control.py:1295
+#: ../src/groupchat_control.py:1379 ../src/groupchat_control.py:1396
 #, python-format
 msgid "Nickname not found: %s"
 msgstr "Spitzname nicht gefunden: %s"
 
-#: ../src/groupchat_control.py:1116
+#: ../src/groupchat_control.py:1311
 msgid "This group chat has no subject"
 msgstr "Dieser Gruppenchat hat kein Thema"
 
-#: ../src/groupchat_control.py:1129
+#: ../src/groupchat_control.py:1322
 #, python-format
 msgid "Invited %(contact_jid)s to %(room_jid)s."
 msgstr "%(contact_jid)s in %(room_jid)s eingeladen"
 
-#. %s is something the user wrote but it is not a jid so we inform
-#: ../src/groupchat_control.py:1136
-#: ../src/groupchat_control.py:1164
-#, python-format
-msgid "%s does not appear to be a valid JID"
-msgstr "%s scheint keine gültige JID zu sein"
-
-#: ../src/groupchat_control.py:1247
-#, python-format
-msgid "No such command: /%s (if you want to send this, prefix it with /say)"
-msgstr "Kein Kommando: /%s (wenn Sie dies senden wollen, setzen Sie /say voran)"
-
-#: ../src/groupchat_control.py:1270
-#, python-format
-msgid "Commands: %s"
-msgstr "Kommandos: %s"
-
-#: ../src/groupchat_control.py:1273
-#, python-format
-msgid "Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The nickname of an occupant may be substituted, but not if it contains \"@\". If the JID is currently in the group chat, he/she/it will also be kicked. Does NOT support spaces in nickname."
-msgstr "Bedienung: /%s <Spitzname|JID> [Grund], bannt die JID aus dem Gruppenchat. Der Spitzname eines Teilnehmers kann hinzugefügt werden, aber nicht, wenn es ein \"@\" enthält. Wenn die JID derzeit im Gruppenchat ist, wird er/sie/es ebenfalls gebannt. Unterstützt KEINE Leerzeichen im Spitznamen."
-
-#: ../src/groupchat_control.py:1280
-#, python-format
-msgid "Usage: /%s <nickname>, opens a private chat window with the specified occupant."
-msgstr "Verwendung: /%s <Spitzname>, öffnet ein privates Nachrichtenfenster mit dem Inhaber des angegebenen Spitznamens."
-
-#: ../src/groupchat_control.py:1284
-#, python-format
-msgid "Usage: /%s, clears the text window."
-msgstr "Bedienung: /%s, leert das Textfenster."
-
-#: ../src/groupchat_control.py:1286
+#: ../src/groupchat_control.py:1459
 #, python-format
-msgid "Usage: /%s [reason], closes the current window or tab, displaying reason if specified."
-msgstr "Bedienung: /%s [Grund], schließt das aktuelle Fenster oder Tab, mit Anzeige eines Grundes, falls angegeben."
+msgid ""
+"Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
+"nickname of an occupant may be substituted, but not if it contains \"@\". If "
+"the JID is currently in the group chat, he/she/it will also be kicked. Does "
+"NOT support spaces in nickname."
+msgstr ""
+"Bedienung: /%s <Spitzname|JID> [Grund], bannt die JID aus dem Gruppenchat. "
+"Der Spitzname eines Teilnehmers kann hinzugefügt werden, aber nicht, wenn es "
+"ein \"@\" enthält. Wenn die JID derzeit im Gruppenchat ist, wird er/sie/es "
+"ebenfalls gebannt. Unterstützt KEINE Leerzeichen im Spitznamen."
 
-#: ../src/groupchat_control.py:1289
+#: ../src/groupchat_control.py:1466
 #, python-format
-msgid "Usage: /%s, hide the chat buttons."
-msgstr "Verwendung: /%s, versteckt die Chatbuttons."
+msgid ""
+"Usage: /%s <nickname>, opens a private chat window with the specified "
+"occupant."
+msgstr ""
+"Verwendung: /%s <Spitzname>, öffnet ein privates Nachrichtenfenster mit dem "
+"Inhaber des angegebenen Spitznamens."
 
-#: ../src/groupchat_control.py:1292
+#: ../src/groupchat_control.py:1472
 #, python-format
-msgid "Usage: /%s <JID> [reason], invites JID to the current group chat, optionally providing a reason."
-msgstr "Bedienung: /%s <JID> [Grund], lädt die JID in den aktuellen Gruppenchat ein, optional mit der Angabe eines Grundes."
+msgid ""
+"Usage: /%s [reason], closes the current window or tab, displaying reason if "
+"specified."
+msgstr ""
+"Bedienung: /%s [Grund], schließt das aktuelle Fenster oder Tab, mit Anzeige "
+"eines Grundes, falls angegeben."
 
-#: ../src/groupchat_control.py:1296
+#: ../src/groupchat_control.py:1478
 #, python-format
-msgid "Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally using specified nickname."
-msgstr "Bedienung: /%s <Raum>@<Server> [/Spitzname], bietet den Beitritt zu Raum@Server an, optional mit Spitznamen."
+msgid ""
+"Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
+"providing a reason."
+msgstr ""
+"Bedienung: /%s <JID> [Grund], lädt die JID in den aktuellen Gruppenchat ein, "
+"optional mit der Angabe eines Grundes."
 
-#: ../src/groupchat_control.py:1300
+#: ../src/groupchat_control.py:1482
 #, python-format
-msgid "Usage: /%s <nickname> [reason], removes the occupant specified by nickname from the group chat and optionally displays a reason. Does NOT support spaces in nickname."
-msgstr "Bedienung: /%s <Spitzname> [Grund], verweist den Inhaber des Spitznamen des Gruppenchats und zeigt optional einen Grund. Unterstützt KEINE Leerzeichen im Spitznamen."
+msgid ""
+"Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
+"using specified nickname."
+msgstr ""
+"Bedienung: /%s <Raum>@<Server> [/Spitzname], bietet den Beitritt zu "
+"Raum@Server an, optional mit Spitznamen."
 
-#: ../src/groupchat_control.py:1305
+#: ../src/groupchat_control.py:1486
 #, python-format
-msgid "Usage: /%s <action>, sends action to the current group chat. Use third person. (e.g. /%s explodes.)"
-msgstr "Bedienung: /%s <Aktion>, sendet die Aktion im aktuellen Gruppenchat. Verwende dritte Person, z.B. /%s explodiert)."
+msgid ""
+"Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
+"from the group chat and optionally displays a reason. Does NOT support "
+"spaces in nickname."
+msgstr ""
+"Bedienung: /%s <Spitzname> [Grund], verweist den Inhaber des Spitznamen des "
+"Gruppenchats und zeigt optional einen Grund. Unterstützt KEINE Leerzeichen "
+"im Spitznamen."
 
-#: ../src/groupchat_control.py:1309
+#: ../src/groupchat_control.py:1495
 #, python-format
-msgid "Usage: /%s <nickname> [message], opens a private message window and sends message to the occupant specified by nickname."
-msgstr "Verwendung: /%s <Spitzname> [Nachricht], öffnet ein privates Nachrichtenfenster und sendet die Nachricht zum Inhaber des angegebenen Spitznamens."
+msgid ""
+"Usage: /%s <nickname> [message], opens a private message window and sends "
+"message to the occupant specified by nickname."
+msgstr ""
+"Verwendung: /%s <Spitzname> [Nachricht], öffnet ein privates "
+"Nachrichtenfenster und sendet die Nachricht zum Inhaber des angegebenen "
+"Spitznamens."
 
-#: ../src/groupchat_control.py:1314
+#: ../src/groupchat_control.py:1500
 #, python-format
 msgid "Usage: /%s <nickname>, changes your nickname in current group chat."
-msgstr "Bedienung: /%s <Spitzname>, ändert den Spitznamen im aktuellen Gruppenchat."
+msgstr ""
+"Bedienung: /%s <Spitzname>, ändert den Spitznamen im aktuellen Gruppenchat."
 
-#: ../src/groupchat_control.py:1318
+#: ../src/groupchat_control.py:1504
 #, python-format
 msgid "Usage: /%s , display the names of group chat occupants."
 msgstr "Benutzung: /%s , zeigt die Namen der Gruppenchatbesucher."
 
-#: ../src/groupchat_control.py:1322
+#: ../src/groupchat_control.py:1508
 #, python-format
 msgid "Usage: /%s [topic], displays or updates the current group chat topic."
-msgstr "Benutzung: /%s [topic], zeigt oder aktualisiert das derzeitige Gruppenchat-Thema."
-
-#: ../src/groupchat_control.py:1325
-#, python-format
-msgid "Usage: /%s <message>, sends a message without looking for other commands."
-msgstr "Benutzung: /%s <Nachricht>, sendet eine Nachricht ohne andere Befehle zu beachten."
+msgstr ""
+"Benutzung: /%s [topic], zeigt oder aktualisiert das derzeitige Gruppenchat-"
+"Thema."
 
-#: ../src/groupchat_control.py:1328
+#: ../src/groupchat_control.py:1511
 #, python-format
-msgid "No help info for /%s"
-msgstr "Keine Hilfe vorhanden für /%s"
+msgid ""
+"Usage: /%s <message>, sends a message without looking for other commands."
+msgstr ""
+"Benutzung: /%s <Nachricht>, sendet eine Nachricht ohne andere Befehle zu "
+"beachten."
 
-#: ../src/groupchat_control.py:1391
+#: ../src/groupchat_control.py:1606
 #, python-format
 msgid "Are you sure you want to leave group chat \"%s\"?"
 msgstr "Möchten Sie den Gruppenchat \"%s\" wirklich verlassen?"
 
-#: ../src/groupchat_control.py:1393
-msgid "If you close this window, you will be disconnected from this group chat."
-msgstr "Wenn Sie dieses Fenster schließen, wird die Verbindung zu diesem Gruppenchat geschlossen."
+#: ../src/groupchat_control.py:1608
+msgid ""
+"If you close this window, you will be disconnected from this group chat."
+msgstr ""
+"Wenn Sie dieses Fenster schließen, wird die Verbindung zu diesem Gruppenchat "
+"geschlossen."
 
-#: ../src/groupchat_control.py:1397
-#: ../src/roster_window.py:4058
+#: ../src/groupchat_control.py:1612 ../src/roster_window.py:4898
 msgid "Do _not ask me again"
 msgstr "_Nicht noch einmal fragen"
 
-#: ../src/groupchat_control.py:1431
+#: ../src/groupchat_control.py:1644
 msgid "Changing Subject"
 msgstr "Thema ändern"
 
-#: ../src/groupchat_control.py:1432
+#: ../src/groupchat_control.py:1645
 msgid "Please specify the new subject:"
 msgstr "Bitte bestimmen Sie ein neues Thema"
 
-#: ../src/groupchat_control.py:1441
+#: ../src/groupchat_control.py:1654
 msgid "Changing Nickname"
 msgstr "Spitzname ändern"
 
-#: ../src/groupchat_control.py:1442
+#: ../src/groupchat_control.py:1655
 msgid "Please specify the new nickname you want to use:"
 msgstr "Bitte geben Sie an, welchen Spitznamen Sie verwenden möchten:"
 
 #. Ask for a reason
-#: ../src/groupchat_control.py:1457
+#: ../src/groupchat_control.py:1670
 #, python-format
 msgid "Destroying %s"
 msgstr "Zerstöre %s"
 
-#: ../src/groupchat_control.py:1458
+#: ../src/groupchat_control.py:1671
 msgid ""
 "You are going to definitively destroy this room.\n"
 "You may specify a reason below:"
@@ -4561,715 +5468,876 @@ msgstr ""
 "Sie werden den Raum endgültig zerstören.\n"
 "Sie können hier einen Grund angeben:"
 
-#: ../src/groupchat_control.py:1460
+#: ../src/groupchat_control.py:1673
 msgid "You may also enter an alternate venue:"
 msgstr "Sie können auch einen alternativen Raum eintragen:"
 
-#: ../src/groupchat_control.py:1490
+#: ../src/groupchat_control.py:1705
 msgid "Bookmark already set"
 msgstr "Lesezeichen existiert schon"
 
-#: ../src/groupchat_control.py:1491
+#: ../src/groupchat_control.py:1706
 #, python-format
 msgid "Group Chat \"%s\" is already in your bookmarks."
 msgstr "Der Gruppenchat \"%s\" ist schon in den Lesezeichen."
 
-#: ../src/groupchat_control.py:1500
+#: ../src/groupchat_control.py:1715
 msgid "Bookmark has been added successfully"
 msgstr "Lesezeichen wurde erfolgreich hinzugefügt"
 
-#: ../src/groupchat_control.py:1501
+#: ../src/groupchat_control.py:1716
 msgid "You can manage your bookmarks via Actions menu in your roster."
-msgstr "Sie können ihre Lesezeichen über das Aktionen-Menü in der Kontaktliste bearbeiten"
+msgstr ""
+"Sie können ihre Lesezeichen über das Aktionen-Menü in der Kontaktliste "
+"bearbeiten"
 
 #. ask for reason
-#: ../src/groupchat_control.py:1629
+#: ../src/groupchat_control.py:1868
 #, python-format
 msgid "Kicking %s"
 msgstr "%s rausschmeißen"
 
-#: ../src/groupchat_control.py:1630
-#: ../src/groupchat_control.py:1913
+#: ../src/groupchat_control.py:1869 ../src/groupchat_control.py:2169
 msgid "You may specify a reason below:"
 msgstr "Sie können eine Begründung angeben:"
 
 #. ask for reason
-#: ../src/groupchat_control.py:1912
+#: ../src/groupchat_control.py:2168
 #, python-format
 msgid "Banning %s"
 msgstr "%s verbannen"
 
-#: ../src/gtkexcepthook.py:41
+#: ../src/gtkexcepthook.py:46
 msgid "A programming error has been detected"
 msgstr "Es wurde ein Programmfehler entdeckt"
 
-#: ../src/gtkexcepthook.py:42
-msgid "It probably is not fatal, but should be reported to the developers nonetheless."
-msgstr "Es ist vermutlich nicht fatal, aber der Fehler sollte trotzdem den Entwicklern gemeldet werden"
+#: ../src/gtkexcepthook.py:47
+msgid ""
+"It probably is not fatal, but should be reported to the developers "
+"nonetheless."
+msgstr ""
+"Es ist vermutlich nicht fatal, aber der Fehler sollte trotzdem den "
+"Entwicklern gemeldet werden"
 
-#: ../src/gtkexcepthook.py:48
+#: ../src/gtkexcepthook.py:53
 msgid "_Report Bug"
 msgstr "Bug melden"
 
-#: ../src/gtkexcepthook.py:71
+#: ../src/gtkexcepthook.py:76
 msgid "Details"
 msgstr "Details"
 
 #. we talk about file
-#: ../src/gtkgui_helpers.py:156
-#: ../src/gtkgui_helpers.py:171
+#: ../src/gtkgui_helpers.py:162 ../src/gtkgui_helpers.py:177
 #, python-format
 msgid "Error: cannot open %s for reading"
 msgstr "Fehler: Kann %s kann nicht zum Lesen öffnen"
 
-#: ../src/gtkgui_helpers.py:336
+#: ../src/gtkgui_helpers.py:347
 msgid "Error reading file:"
 msgstr "Fehler beim Lesen der Datei:"
 
-#: ../src/gtkgui_helpers.py:339
+#: ../src/gtkgui_helpers.py:350
 msgid "Error parsing file:"
 msgstr "Fehler bei der Dateianalyse:"
 
 #. do not traceback (could be a permission problem)
 #. we talk about a file here
-#: ../src/gtkgui_helpers.py:376
+#: ../src/gtkgui_helpers.py:387
 #, python-format
 msgid "Could not write to %s. Session Management support will not work"
-msgstr "Konnte nicht an %s schreiben. Sitzungmanagment-Unterstützung wird nicht funktionieren"
+msgstr ""
+"Konnte nicht an %s schreiben. Sitzungmanagment-Unterstützung wird nicht "
+"funktionieren"
 
 #. xmpp: is currently handled by another program, so ask the user
-#: ../src/gtkgui_helpers.py:694
+#: ../src/gtkgui_helpers.py:719
 msgid "Gajim is not the default Jabber client"
 msgstr "Gajim ist nicht Ihr Standard-Jabber-Client"
 
-#: ../src/gtkgui_helpers.py:695
+#: ../src/gtkgui_helpers.py:720
 msgid "Would you like to make Gajim the default Jabber client?"
 msgstr "Möchten Sie Gajim zu Ihrem Standard-Jabber-Client machen?"
 
-#: ../src/gtkgui_helpers.py:696
+#: ../src/gtkgui_helpers.py:721
 msgid "Always check to see if Gajim is the default Jabber client on startup"
-msgstr "Immer beim Programmstart prüfen, ob Gajim der Standard-Jabber-Client ist"
+msgstr ""
+"Immer beim Programmstart prüfen, ob Gajim der Standard-Jabber-Client ist"
 
-#: ../src/gtkgui_helpers.py:795
+#: ../src/gtkgui_helpers.py:818
 msgid "Extension not supported"
 msgstr "Erweiterung wird nicht unterstützt."
 
-#: ../src/gtkgui_helpers.py:796
+#: ../src/gtkgui_helpers.py:819
 #, python-format
 msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
-msgstr "Bild kann nicht im %(type)s-Format gespeichert werden. Als %(new_filename)s speichern?"
+msgstr ""
+"Bild kann nicht im %(type)s-Format gespeichert werden. Als %(new_filename)s "
+"speichern?"
 
-#: ../src/gtkgui_helpers.py:805
+#: ../src/gtkgui_helpers.py:828
 msgid "Save Image as..."
 msgstr "Bild speichern unter ..."
 
-#: ../src/history_manager.py:65
+#: ../src/history_manager.py:73
 msgid "Cannot find history logs database"
 msgstr "Kann Verlaufs-Datenkbank nicht finden"
 
 #. holds jid
-#: ../src/history_manager.py:108
+#: ../src/history_manager.py:113
 msgid "Contacts"
 msgstr "Kontakte"
 
 #. holds time
-#: ../src/history_manager.py:121
-#: ../src/history_manager.py:161
-#: ../src/history_window.py:86
+#: ../src/history_manager.py:126 ../src/history_manager.py:166
+#: ../src/history_window.py:121
 msgid "Date"
 msgstr "Datum"
 
 #. holds nickname
-#: ../src/history_manager.py:127
-#: ../src/history_manager.py:179
+#: ../src/history_manager.py:132 ../src/history_manager.py:184
 msgid "Nickname"
 msgstr "Spitzname"
 
 #. holds message
-#: ../src/history_manager.py:135
-#: ../src/history_manager.py:167
-#: ../src/history_window.py:94
+#: ../src/history_manager.py:140 ../src/history_manager.py:172
+#: ../src/history_window.py:129
 msgid "Message"
 msgstr "Nachricht"
 
-#: ../src/history_manager.py:187
-msgid "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING)"
-msgstr "Möchten Sie die Datenbank aufräumen? (NICHT EMPFOHLEN, WENN GAJIM GERADE LÄUFT)"
+#: ../src/history_manager.py:192
+msgid ""
+"Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS "
+"RUNNING)"
+msgstr ""
+"Möchten Sie die Datenbank aufräumen? (NICHT EMPFOHLEN, WENN GAJIM GERADE "
+"LÄUFT)"
 
-#: ../src/history_manager.py:189
+#: ../src/history_manager.py:194
 msgid ""
-"Normally allocated database size will not be freed, it will just become reusable. If you really want to reduce database filesize, click YES, else click NO.\n"
+"Normally allocated database size will not be freed, it will just become "
+"reusable. If you really want to reduce database filesize, click YES, else "
+"click NO.\n"
 "\n"
 "In case you click YES, please wait..."
 msgstr ""
-"Der reservierte Datenbankspeicherplatz wird nicht freigegeben, er wird nur wiederverwendbar. Wenn Sie wirklich den Speicherplatz reduzieren möchten, klicken Sie JA, ansonsten NEIN.\n"
+"Der reservierte Datenbankspeicherplatz wird nicht freigegeben, er wird nur "
+"wiederverwendbar. Wenn Sie wirklich den Speicherplatz reduzieren möchten, "
+"klicken Sie JA, ansonsten NEIN.\n"
 "\n"
 "Falls Sie JA klicken, warten Sie bitte einen Augenblick ..."
 
-#: ../src/history_manager.py:401
+#: ../src/history_manager.py:406
 msgid "Exporting History Logs..."
 msgstr "Exportiere Verlauf ..."
 
-#: ../src/history_manager.py:476
+#: ../src/history_manager.py:481
 #, python-format
 msgid "%(who)s on %(time)s said: %(message)s\n"
 msgstr "%(who)s sagte um %(time)s: %(message)s\n"
 
-#: ../src/history_manager.py:514
+#: ../src/history_manager.py:518
 msgid "Do you really want to delete logs of the selected contact?"
 msgid_plural "Do you really want to delete logs of the selected contacts?"
 msgstr[0] "Möchten Sie wirklich alle Logs des ausgewählten Kontakts löschen?"
-msgstr[1] "Möchten Sie wirklich alle Logs des ausgewählten Kontakte löschen?"
+msgstr[1] "Möchten Sie wirklich alle Logs der ausgewählten Kontakte löschen?"
 
-#: ../src/history_manager.py:518
-#: ../src/history_manager.py:554
+#: ../src/history_manager.py:522 ../src/history_manager.py:557
 msgid "This is an irreversible operation."
 msgstr "Dies ist ein unwiderruflicher Vorgang."
 
-#: ../src/history_manager.py:551
+#: ../src/history_manager.py:554
 msgid "Do you really want to delete the selected message?"
 msgid_plural "Do you really want to delete the selected messages?"
 msgstr[0] "Möchten Sie die ausgewählte Nachricht wirklich löschen?"
 msgstr[1] "Möchten Sie die ausgewählten Nachrichten wirklich löschen?"
 
-#: ../src/history_window.py:103
-#: ../src/history_window.py:105
+#: ../src/history_window.py:209 ../src/history_window.py:211
 #, python-format
 msgid "Conversation History with %s"
 msgstr "Unterhaltungs-Verlauf mit %s"
 
-#: ../src/history_window.py:258
+#: ../src/history_window.py:342
 #, python-format
 msgid "%(nick)s is now %(status)s: %(status_msg)s"
 msgstr "%(nick)s ist jezt %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:262
-#: ../src/notify.py:199
+#: ../src/history_window.py:346 ../src/notify.py:219
 #, python-format
 msgid "%(nick)s is now %(status)s"
 msgstr "%(nick)s ist jetzt %(status)s"
 
-#: ../src/history_window.py:268
+#: ../src/history_window.py:352
 #, python-format
 msgid "Status is now: %(status)s: %(status_msg)s"
 msgstr "Status ist jetzt: %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:271
+#: ../src/history_window.py:355
 #, python-format
 msgid "Status is now: %(status)s"
 msgstr "Status ist jetzt: %(status)s"
 
-#: ../src/message_window.py:273
+#: ../src/htmltextview.py:586 ../src/htmltextview.py:597
+msgid "Timeout loading image"
+msgstr "Konnte Bild nicht laden"
+
+#: ../src/htmltextview.py:607
+msgid "Image is too big"
+msgstr "Das Bild ist zu groß"
+
+#: ../src/message_window.py:350
 msgid "Chats"
 msgstr "Chats"
 
-#: ../src/message_window.py:275
+#: ../src/message_window.py:352
 msgid "Group Chats"
 msgstr "Gruppenchat"
 
-#: ../src/message_window.py:277
+#: ../src/message_window.py:354
 msgid "Private Chats"
 msgstr "Private Chats"
 
-#: ../src/message_window.py:279
+#: ../src/message_window.py:356
 msgid "Messages"
 msgstr "Nachrichten"
 
-#: ../src/message_window.py:280
+#: ../src/message_window.py:357
 #, python-format
 msgid "%s - Gajim"
 msgstr "%s - Gajim"
 
-#: ../src/notify.py:197
+#: ../src/negotiation.py:13
+msgid "- messages will be logged"
+msgstr "- Nachrichten werden aufgezeichnet"
+
+#: ../src/negotiation.py:15
+msgid "- messages will not be logged"
+msgstr "- Nachrichten werden nicht aufgezeichnet"
+
+#: ../src/negotiation.py:24
+msgid "OK to continue with negotiation?"
+msgstr "In Ordnung mit der Verhandlung fortzufahren?"
+
+#: ../src/negotiation.py:25
+#, python-format
+msgid ""
+"You've begun an encrypted session with %s, but it can't be guaranteed that "
+"you're talking directly to the person you think you are.\n"
+"\n"
+"You should speak with them directly (in person or on the phone) and confirm "
+"that their Short Authentication String is identical to this one: %s\n"
+"\n"
+"Would you like to continue with the encrypted session?"
+msgstr ""
+"Sie haben eine verschlüsselte Sitzung mit %s begonnen, aber es kann nicht "
+"garantiert werden, dass Sie tatsächlich mit der Person sprechen, die sie "
+"vorgibt zu sein.\n"
+"\n"
+"Sie sollten mit der Person direkt (persönlich oder am Telefon) sprechen und "
+"sich vergewissern, dass ihr kurzer Authentifizierungs-String mit diesem "
+"übereinstimmt: %s\n"
+"\n"
+"Möchten Sie mit der verschlüsselten Sitzung fortfahren?"
+
+#: ../src/negotiation.py:31
+msgid "Yes, I verified the Short Authentication String"
+msgstr "Ja, Ich habe den kurzen Authentifizierungs-String überprüft"
+
+#: ../src/notify.py:217
 #, python-format
 msgid "%(nick)s Changed Status"
 msgstr "%(nick)s änderte Status"
 
-#: ../src/notify.py:207
+#: ../src/notify.py:227
 #, python-format
 msgid "%(nickname)s Signed In"
 msgstr "%(nickname)s angemeldet"
 
-#: ../src/notify.py:215
+#: ../src/notify.py:235
 #, python-format
 msgid "%(nickname)s Signed Out"
 msgstr "%(nickname)s abgemeldet"
 
-#: ../src/notify.py:227
+#: ../src/notify.py:247
 #, python-format
 msgid "New Single Message from %(nickname)s"
 msgstr "Neue einzelne Nachricht von %(nickname)s"
 
-#: ../src/notify.py:235
+#: ../src/notify.py:255
 #, python-format
 msgid "New Private Message from group chat %s"
 msgstr "Neue private Nachricht von Gruppenchat %s"
 
-#: ../src/notify.py:236
+#: ../src/notify.py:257
 #, python-format
 msgid "%(nickname)s: %(message)s"
 msgstr "%(nickname)s: %(message)s"
 
-#: ../src/notify.py:242
+#: ../src/notify.py:260
+#, python-format
+msgid "Messaged by %(nickname)s"
+msgstr "Neue Nachricht von %(nickname)s"
+
+#: ../src/notify.py:266
 #, python-format
 msgid "New Message from %(nickname)s"
 msgstr "Neue Nachricht von %(nickname)s"
 
-#: ../src/profile_window.py:72
+#: ../src/profile_window.py:54
 msgid "Retrieving profile..."
 msgstr "Empfange Profil ..."
 
+#: ../src/profile_window.py:107 ../src/roster_window.py:1914
+msgid "File is empty"
+msgstr "Datei ist leer"
+
+#: ../src/profile_window.py:110 ../src/roster_window.py:1917
+msgid "File does not exist"
+msgstr "Datei existiert nicht"
+
 #. keep identation
-#: ../src/profile_window.py:143
+#. unknown format
+#: ../src/profile_window.py:124 ../src/profile_window.py:140
+#: ../src/roster_window.py:1919 ../src/roster_window.py:1930
 msgid "Could not load image"
 msgstr "Konnte Bild nicht laden"
 
-#: ../src/profile_window.py:255
+#: ../src/profile_window.py:250
 msgid "Information received"
 msgstr "Informationen empfangen"
 
-#: ../src/profile_window.py:324
+#: ../src/profile_window.py:319
 msgid "Without a connection you can not publish your contact information."
-msgstr "Sie müssen angemeldet sein, um Kontakt-Informationen zu veröffentlichen"
+msgstr ""
+"Sie müssen angemeldet sein, um Kontakt-Informationen zu veröffentlichen"
 
-#: ../src/profile_window.py:336
+#: ../src/profile_window.py:331
 msgid "Sending profile..."
 msgstr "Sende Profil ..."
 
-#: ../src/profile_window.py:351
+#: ../src/profile_window.py:346
 msgid "Information NOT published"
 msgstr "Informationen NICHT veröffentlicht"
 
-#: ../src/profile_window.py:358
+#: ../src/profile_window.py:353
 msgid "vCard publication failed"
 msgstr "vCard Veröffentlichung fehlgeschlagen"
 
-#: ../src/profile_window.py:359
-msgid "There was an error while publishing your personal information, try again later."
-msgstr "Bei der Veröffentlichung Ihrer persönlichen Informationen ist ein Fehler aufgetreten, versuchen Sie es später nochmals."
+#: ../src/profile_window.py:354
+msgid ""
+"There was an error while publishing your personal information, try again "
+"later."
+msgstr ""
+"Bei der Veröffentlichung Ihrer persönlichen Informationen ist ein Fehler "
+"aufgetreten, versuchen Sie es später nochmals."
 
-#: ../src/roster_window.py:172
-#: ../src/roster_window.py:227
+#: ../src/roster_window.py:194 ../src/roster_window.py:249
 msgid "Merged accounts"
 msgstr "Alle Konten"
 
-#: ../src/roster_window.py:345
-#: ../src/common/helpers.py:43
+#: ../src/roster_window.py:370 ../src/roster_window.py:635
+#: ../src/roster_window.py:2143 ../src/common/contacts.py:312
+#: ../src/common/helpers.py:53
 msgid "Observers"
 msgstr "Beobachter"
 
-#: ../src/roster_window.py:692
-#: ../src/roster_window.py:3215
+#. Make special context menu if group is Groupchats
+#: ../src/roster_window.py:454 ../src/roster_window.py:459
+#: ../src/roster_window.py:1967 ../src/roster_window.py:1970
+#: ../src/roster_window.py:2636 ../src/roster_window.py:2639
+#: ../src/roster_window.py:2664 ../src/roster_window.py:4759
+#: ../src/roster_window.py:4761 ../src/common/commands.py:199
+#: ../src/common/contacts.py:102 ../src/common/helpers.py:53
+msgid "Groupchats"
+msgstr "Gruppenchat"
+
+#: ../src/roster_window.py:784 ../src/roster_window.py:4008
 msgid "You cannot join a group chat while you are invisible"
-msgstr "Sie können einem Gruppenchat nicht beitreten, wenn Sie unsichtbar sind."
+msgstr ""
+"Sie können einem Gruppenchat nicht beitreten, wenn Sie unsichtbar sind."
 
 #. new chat
+#. single message
 #. for chat_with
 #. for single message
-#: ../src/roster_window.py:884
-#: ../src/systray.py:206
-#: ../src/systray.py:211
+#. join gc
+#: ../src/roster_window.py:1005 ../src/roster_window.py:1015
+#: ../src/roster_window.py:1024 ../src/systray.py:212 ../src/systray.py:217
+#: ../src/systray.py:223
 #, python-format
 msgid "using account %s"
 msgstr "mit Konto %s"
 
-#. the 'manage gc bookmarks' item is shown
-#. below to avoid duplicate code
 #. add
-#: ../src/roster_window.py:909
+#: ../src/roster_window.py:1031
 #, python-format
 msgid "to %s account"
 msgstr "an Konto %s"
 
 #. disco
-#: ../src/roster_window.py:914
+#: ../src/roster_window.py:1036
 #, python-format
 msgid "using %s account"
 msgstr "mit Konto %s"
 
+#: ../src/roster_window.py:1117
+msgid "_Manage Bookmarks..."
+msgstr "_Verwalte Lesezeichen..."
+
 #. profile, avatar
-#: ../src/roster_window.py:989
+#: ../src/roster_window.py:1136
 #, python-format
 msgid "of account %s"
 msgstr "von Konto %s"
 
-#: ../src/roster_window.py:1009
-msgid "_Manage Bookmarks..."
-msgstr "_Verwalte Lesezeichen..."
-
-#: ../src/roster_window.py:1038
+#: ../src/roster_window.py:1176
 #, python-format
 msgid "for account %s"
 msgstr "für Konto %s"
 
 #. History manager
-#: ../src/roster_window.py:1059
+#: ../src/roster_window.py:1200
 msgid "History Manager"
 msgstr "_Verlaufsmanager"
 
-#: ../src/roster_window.py:1068
+#: ../src/roster_window.py:1209
 msgid "_Join New Group Chat"
 msgstr "_Gruppenchat betreten"
 
-#: ../src/roster_window.py:1397
-#: ../src/roster_window.py:3410
-#: ../src/roster_window.py:3417
+#: ../src/roster_window.py:1576 ../src/roster_window.py:4213
+#: ../src/roster_window.py:4220
 msgid "You have unread messages"
 msgstr "Sie haben ungelesene Nachrichten"
 
-#: ../src/roster_window.py:1398
+#: ../src/roster_window.py:1577
 msgid "You must read them before removing this transport."
 msgstr "Sie müssen sie alle lesen, bevor der Account entfernt wird."
 
-#: ../src/roster_window.py:1401
+#: ../src/roster_window.py:1580
 #, python-format
 msgid "Transport \"%s\" will be removed"
 msgstr "Transport \"%s\" wird entfernt"
 
-#: ../src/roster_window.py:1402
-msgid "You will no longer be able to send and receive messages from contacts using this transport."
-msgstr "Sie können nun keine Nachrichten mehr mit Kontakten von diesem Transport austauschen."
+#: ../src/roster_window.py:1581
+msgid ""
+"You will no longer be able to send and receive messages from contacts using "
+"this transport."
+msgstr ""
+"Sie können nun keine Nachrichten mehr mit Kontakten von diesem Transport "
+"austauschen."
 
-#: ../src/roster_window.py:1405
+#: ../src/roster_window.py:1584
 msgid "Transports will be removed"
 msgstr "Transporte werden entfernt"
 
-#: ../src/roster_window.py:1410
+#: ../src/roster_window.py:1589
 #, python-format
-msgid "You will no longer be able to send and receive messages to contacts from these transports:%s"
-msgstr "Sie können nun keine Nachrichten mehr mit Kontakten von diesen Transporten austauschen:%s"
+msgid ""
+"You will no longer be able to send and receive messages to contacts from "
+"these transports:%s"
+msgstr ""
+"Sie können nun keine Nachrichten mehr mit Kontakten von diesen Transporten "
+"austauschen:%s"
 
 #. it's jid
-#: ../src/roster_window.py:1430
+#: ../src/roster_window.py:1755
 msgid "Rename Contact"
 msgstr "Kontakt umbenennen"
 
-#: ../src/roster_window.py:1431
+#: ../src/roster_window.py:1756
 #, python-format
 msgid "Enter a new nickname for contact %s"
 msgstr "Geben Sie einen Spitznamen für den Kontakt %s ein"
 
-#: ../src/roster_window.py:1438
+#: ../src/roster_window.py:1763
 msgid "Rename Group"
 msgstr "Gruppe umbenennen"
 
-#: ../src/roster_window.py:1439
+#: ../src/roster_window.py:1764
 #, python-format
 msgid "Enter a new name for group %s"
 msgstr "Geben Sie einen neuen Namen für die Gruppe %s ein"
 
-#: ../src/roster_window.py:1514
+#: ../src/roster_window.py:1839
 msgid "Remove Group"
 msgstr "Gruppe entfernen"
 
-#: ../src/roster_window.py:1515
+#: ../src/roster_window.py:1840
 #, python-format
 msgid "Do you want to remove group %s from the roster?"
 msgstr "Möchten Sie wirklich die Gruppe %s von Ihrer Kontaktliste entfernen?"
 
-#: ../src/roster_window.py:1516
+#: ../src/roster_window.py:1841
 msgid "Remove also all contacts in this group from your roster"
 msgstr "Auch alle Kontakte dieser Gruppe von Ihrer Kontaktliste entfernen"
 
-#: ../src/roster_window.py:1547
+#: ../src/roster_window.py:1872
 msgid "Assign OpenPGP Key"
 msgstr "OpenPGP-Schlüssel Zuweisen"
 
-#: ../src/roster_window.py:1548
+#: ../src/roster_window.py:1873
 msgid "Select a key to apply to the contact"
 msgstr "Weisen Sie dem Kontakt einen Schüssel zu"
 
-#: ../src/roster_window.py:1784
-#: ../src/roster_window.py:2045
-msgid "_New group chat"
-msgstr "_Neuer Gruppenchat"
+#: ../src/roster_window.py:2189
+msgid "_New Group Chat"
+msgstr "Neuer Gruppenchat"
 
-#: ../src/roster_window.py:1915
+#: ../src/roster_window.py:2327
 msgid "I would like to add you to my roster"
 msgstr "Ich würde dich gerne in meine Liste aufnehmen"
 
-#: ../src/roster_window.py:2090
-#: ../src/roster_window.py:2137
+#. Send Group Message
+#: ../src/roster_window.py:2461 ../src/roster_window.py:2673
 msgid "Send Group M_essage"
 msgstr "_Sende Nachricht an Gruppe"
 
-#: ../src/roster_window.py:2116
-msgid "Re_name"
-msgstr "_Umbenennen"
+#: ../src/roster_window.py:2480
+msgid "_New group chat"
+msgstr "_Neuer Gruppenchat"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2518
+msgid "_Manage Contacts"
+msgstr "Kontakte verwalten"
+
+#: ../src/roster_window.py:2579
+msgid "_Maximize"
+msgstr "_Maximieren"
+
+#: ../src/roster_window.py:2586
+msgid "_Disconnect"
+msgstr "_Verbindung trennen"
 
-#: ../src/roster_window.py:2143
+#: ../src/roster_window.py:2665
+msgid "_Maximize All"
+msgstr "Alle _maximieren"
+
+#: ../src/roster_window.py:2681
 msgid "To all users"
 msgstr "An alle Benutzern"
 
-#: ../src/roster_window.py:2146
+#: ../src/roster_window.py:2684
 msgid "To all online users"
 msgstr "An alle angemeldeten Benutzer"
 
-#: ../src/roster_window.py:2182
+#. Log Off
+#: ../src/roster_window.py:2801
+msgid "_Log off"
+msgstr "_Abmelden"
+
+#. Log on
+#: ../src/roster_window.py:2807
 msgid "_Log on"
 msgstr "_Anmelden"
 
-#: ../src/roster_window.py:2192
-msgid "Log _off"
-msgstr "_Abmelden"
+#. Send single message
+#: ../src/roster_window.py:2819
+msgid "Send Single Message"
+msgstr "Sende _einzelne Nachricht"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2866
+msgid "_Manage Transport"
+msgstr "Transports"
 
-#: ../src/roster_window.py:2314
-#: ../src/roster_window.py:2385
+#. Modify Transport
+#: ../src/roster_window.py:2874
+msgid "_Modify Transport"
+msgstr "Trans_port ändern"
+
+#: ../src/roster_window.py:2988 ../src/roster_window.py:3062
 msgid "_Change Status Message"
 msgstr "Ändere _Statusnachricht"
 
-#: ../src/roster_window.py:2457
+#: ../src/roster_window.py:3134
 msgid "Authorization has been sent"
 msgstr "Autorisierung wurde erneut gesendet"
 
-#: ../src/roster_window.py:2458
+#: ../src/roster_window.py:3135
 #, python-format
 msgid "Now \"%s\" will know your status."
 msgstr "\"%s\" kennt jetzt ihren Status."
 
-#: ../src/roster_window.py:2478
+#: ../src/roster_window.py:3155
 msgid "Subscription request has been sent"
 msgstr "Abonnement-Anforderung wurde gesendet"
 
-#: ../src/roster_window.py:2479
+#: ../src/roster_window.py:3156
 #, python-format
 msgid "If \"%s\" accepts this request you will know his or her status."
 msgstr "Wenn \"%s\" diese Anfrage akzeptiert, erfahren Sie dessen Status."
 
-#: ../src/roster_window.py:2491
+#: ../src/roster_window.py:3168
 msgid "Authorization has been removed"
 msgstr "Autorisierung wurde entfernt"
 
-#: ../src/roster_window.py:2492
+#: ../src/roster_window.py:3169
 #, python-format
 msgid "Now \"%s\" will always see you as offline."
 msgstr "\"%s\" wird Sie nun immer als offline sehen."
 
-#: ../src/roster_window.py:2684
+#: ../src/roster_window.py:3403
 #, python-format
 msgid "Contact \"%s\" will be removed from your roster"
 msgstr "Kontakt \"%s\" wird von ihrer Kontaktliste entfernt"
 
-#: ../src/roster_window.py:2688
-msgid "By removing this contact you also remove authorization resulting in him or her always seeing you as offline."
-msgstr "Durch das Entfernen dieses Kontaktes entziehen Sie ihm auch die Berechtigung Ihren Status zu sehen, wodurch der Kontakt Sie nur noch als offline sehen wird."
+#: ../src/roster_window.py:3407
+msgid ""
+"By removing this contact you also remove authorization resulting in him or "
+"her always seeing you as offline."
+msgstr ""
+"Durch das Entfernen dieses Kontaktes entziehen Sie ihm auch die Berechtigung "
+"Ihren Status zu sehen, wodurch der Kontakt Sie nur noch als offline sehen "
+"wird."
 
-#: ../src/roster_window.py:2693
-msgid "By removing this contact you also by default remove authorization resulting in him or her always seeing you as offline."
-msgstr "Durch das Entfernen dieses Kontaktes entziehen Sie ihm auch standardmäßig die Berechtigung Ihren Status zu sehen, wodurch der Kontakt Sie nur noch als offline sehen wird."
+#: ../src/roster_window.py:3412
+msgid ""
+"By removing this contact you also by default remove authorization resulting "
+"in him or her always seeing you as offline."
+msgstr ""
+"Durch das Entfernen dieses Kontaktes entziehen Sie ihm auch standardmäßig "
+"die Berechtigung Ihren Status zu sehen, wodurch der Kontakt Sie nur noch als "
+"offline sehen wird."
 
-#: ../src/roster_window.py:2696
+#: ../src/roster_window.py:3415
 msgid "I want this contact to know my status after removal"
-msgstr "Ich möchte, dass dieser Kontakt meinen Status auch nach dem Entfernen sieht"
+msgstr ""
+"Ich möchte, dass dieser Kontakt meinen Status auch nach dem Entfernen sieht"
 
 #. several contact to remove at the same time
-#: ../src/roster_window.py:2700
+#: ../src/roster_window.py:3419
 msgid "Contacts will be removed from your roster"
 msgstr "Kontakte werden von Ihrer Kontaktliste entfernt"
 
-#: ../src/roster_window.py:2704
+#: ../src/roster_window.py:3423
 #, python-format
 msgid ""
 "By removing these contacts:%s\n"
 "you also remove authorization resulting in them always seeing you as offline."
 msgstr ""
 "Durch das Entfernen dieser Kontakte:%s\n"
-"entziehen Sie ihnen auch die Berechtigung Ihren Status zu sehen, wodurch die Kontakte Sie nur noch als offline sehen werden."
+"entziehen Sie ihnen auch die Berechtigung Ihren Status zu sehen, wodurch die "
+"Kontakte Sie nur noch als offline sehen werden."
+
+#: ../src/roster_window.py:3450
+msgid ""
+"Gnome Keyring is installed but not correctly started (environment variable "
+"probably not correctly set)"
+msgstr ""
+"Gnome Keyring ist installiert, aber nicht korrekt gestartet "
+"(Umgebungsvariablen wahrscheinlich falsch gesetzt)"
 
-#: ../src/roster_window.py:2736
-msgid "Gnome Keyring is installed but not correctly started (environment variable probably not correctly set)"
-msgstr "Gnome Keyring ist installiert, aber nicht korrekt gestartet (Umgebungsvariablen wahrscheinlich falsch gesetzt)"
+#: ../src/roster_window.py:3469
+msgid "GPG is not usable"
+msgstr "GPG ist nicht benutzbar"
 
-#. TODO: make this string translatable
 #. %s is the account name here
-#: ../src/roster_window.py:2764
-#: ../src/common/connection.py:687
-#: ../src/common/zeroconf/connection_zeroconf.py:158
+#: ../src/roster_window.py:3470 ../src/common/connection_handlers.py:2153
+#: ../src/common/zeroconf/connection_zeroconf.py:171
 #, python-format
 msgid "You will be connected to %s without OpenPGP."
 msgstr "Sie werden ohne OpenPGP mit %s verbunden."
 
-#: ../src/roster_window.py:2781
-msgid "Passphrase Required"
-msgstr "Passphrase benötigt"
-
-#: ../src/roster_window.py:2782
-#, python-format
-msgid "Enter GPG key passphrase for account %s."
-msgstr "Geben Sie die GPG-Passphrase für das Konto %s ein."
-
-#: ../src/roster_window.py:2787
-msgid "Save passphrase"
-msgstr "Passphrase speichern"
-
-#: ../src/roster_window.py:2795
-msgid "Wrong Passphrase"
-msgstr "Falsche Passphrase"
-
-#: ../src/roster_window.py:2796
-msgid "Please retype your GPG passphrase or press Cancel."
-msgstr "Bitte geben Sie Ihre GPG-Passphrase erneut ein oder klicken Sie auf Abbrechen."
-
-#: ../src/roster_window.py:2853
-#: ../src/roster_window.py:2913
+#: ../src/roster_window.py:3541 ../src/roster_window.py:3619
 msgid "You are participating in one or more group chats"
 msgstr "Sie nehmen an einem oder mehreren Gruppenchats teil"
 
-#: ../src/roster_window.py:2854
-#: ../src/roster_window.py:2914
-msgid "Changing your status to invisible will result in disconnection from those group chats. Are you sure you want to go invisible?"
-msgstr "Wenn Sie Ihren Status auf unsichtbar setzen, werden sie von diesen Gruppenchats getrennt. Sind Sie sicher, dass sie unsichtbar werden möchten?"
+#: ../src/roster_window.py:3542 ../src/roster_window.py:3620
+msgid ""
+"Changing your status to invisible will result in disconnection from those "
+"group chats. Are you sure you want to go invisible?"
+msgstr ""
+"Wenn Sie Ihren Status auf unsichtbar setzen, werden sie von diesen "
+"Gruppenchats getrennt. Sind Sie sicher, dass sie unsichtbar werden möchten?"
 
-#: ../src/roster_window.py:2871
+#: ../src/roster_window.py:3576
 msgid "No account available"
 msgstr "Kein Konto vorhanden"
 
-#: ../src/roster_window.py:2872
+#: ../src/roster_window.py:3577
 msgid "You must create an account before you can chat with other contacts."
-msgstr "Sie müssen ein Konto erstellen, bevor Sie sich zum Jabber-Netzwerk verbinden können."
+msgstr ""
+"Sie müssen ein Konto erstellen, bevor Sie sich zum Jabber-Netzwerk verbinden "
+"können."
 
-#: ../src/roster_window.py:2974
+#: ../src/roster_window.py:3726
 #, python-format
 msgid "\"%(title)s\" by %(artist)s"
 msgstr "\"%(title)s\" von %(artist)s"
 
-#: ../src/roster_window.py:3411
-#: ../src/roster_window.py:3418
-msgid "Messages will only be available for reading them later if you have history enabled."
+#: ../src/roster_window.py:4214 ../src/roster_window.py:4221
+msgid ""
+"Messages will only be available for reading them later if you have history "
+"enabled."
 msgstr "Um Nachrichten später lesen zu können, muss der Verlauf aktiv sein."
 
-#: ../src/roster_window.py:4008
+#: ../src/roster_window.py:4845
 msgid "Metacontacts storage not supported by your server"
-msgstr "Das Speichern von Metakontakten wird von Ihrem Server nicht unterstützt"
+msgstr ""
+"Das Speichern von Metakontakten wird von Ihrem Server nicht unterstützt"
 
-#: ../src/roster_window.py:4010
-msgid "Your server does not support storing metacontacts information. So those information will not be save on next reconnection."
-msgstr "Ihr Server unterstützt leider nicht das Speichern von Metakontakt-Informationen. Aus diesem Grund werden diese Informationen bei der nächsten Neuverbindung nicht gespeichert werden."
+#: ../src/roster_window.py:4847
+msgid ""
+"Your server does not support storing metacontacts information. So those "
+"information will not be saved on next reconnection."
+msgstr ""
+"Ihr Server unterstützt leider nicht das Speichern von Metakontakt-"
+"Informationen. Aus diesem Grund werden diese Informationen bei der nächsten "
+"Neuverbindung nicht gespeichert werden."
+
+#: ../src/roster_window.py:4892
+msgid ""
+"You are about to create a metacontact. Are you sure you want to continue?"
+msgstr ""
+"Sie sind dabei einen Metakontakt zu erstellen. Wollen Sie wirklich "
+"fortfahren?"
 
-#: ../src/roster_window.py:4052
-msgid "You are about to create a metacontact. Are you sure you want to continue?"
-msgstr "Sie sind dabei einen Metakontakt zu erstellen. Wollen Sie wirklich fortfahren?"
+#: ../src/roster_window.py:4894
+msgid ""
+"Metacontacts are a way to regroup several contacts in one line. Generally it "
+"is used when the same person has several Jabber accounts or transport "
+"accounts."
+msgstr ""
+"Metakontakte sind eine Möglichkeit, mehrere Kontakte in einer Zeile zu "
+"gruppieren. Normalerweise benutzt man Sie, wenn eine Person mehrere Jabber- "
+"oder Transport-Konten hat."
 
-#: ../src/roster_window.py:4054
-msgid "Metacontacts are a way to regroup several contacts in one line. Generally it is used when the same person has several Jabber accounts or transport accounts."
-msgstr "Metakontakte sind eine Möglichkeit, mehrere Kontakte in einer Zeile zu gruppieren. Normalerweise benutzt man Sie, wenn eine Person mehrere Jabber- oder Transport-Konten hat."
+#: ../src/roster_window.py:4989
+#, fuzzy
+msgid "Invalid file URI:"
+msgstr "Ungültige Datei"
 
-#: ../src/roster_window.py:4132
-#, python-format
-msgid "Do you want to send that file to %s:"
+#: ../src/roster_window.py:5000
+#, fuzzy, python-format
+msgid "Do you want to send this file to %s:"
 msgid_plural "Do you want to send those files to %s:"
 msgstr[0] "%s möchte ihnen eine Datei senden:"
-msgstr[1] "%s möchte ihnen diese Datei senden:"
-
-#: ../src/roster_window.py:4237
-#, python-format
-msgid "Drop %s in group %s"
-msgstr "Setze %s in Gruppe %s"
+msgstr[1] "%s möchte ihnen diese Dateien senden:"
 
-#: ../src/roster_window.py:4244
-#, python-format
-msgid "Make %s and %s metacontacts"
-msgstr "Mache %s und %s Metakontakte"
-
-#: ../src/roster_window.py:4431
+#: ../src/roster_window.py:5328
 msgid "Change Status Message..."
 msgstr "Ändere Statusnachricht ..."
 
-#: ../src/systray.py:163
+#: ../src/search_window.py:91
+msgid "Waiting for results"
+msgstr "Warte auf Ergebnisse"
+
+#: ../src/search_window.py:131 ../src/search_window.py:209
+msgid "Error in received dataform"
+msgstr "Fehler den empfangenen Daten"
+
+#. No result
+#: ../src/search_window.py:165 ../src/search_window.py:201
+msgid "No result"
+msgstr "Kein Ergebnis"
+
+#: ../src/systray.py:169
 msgid "_Change Status Message..."
 msgstr "Ändere _Statusnachricht..."
 
-#: ../src/systray.py:251
+#: ../src/systray.py:254
 msgid "Hide this menu"
 msgstr "Versteckt dieses Menü"
 
-#: ../src/tooltips.py:309
-#: ../src/tooltips.py:492
+#: ../src/tooltips.py:317 ../src/tooltips.py:510
 msgid "Jabber ID: "
 msgstr "Jabber-ID:"
 
-#: ../src/tooltips.py:312
-#: ../src/tooltips.py:496
+#: ../src/tooltips.py:320 ../src/tooltips.py:514
 msgid "Resource: "
 msgstr "Ressource: "
 
-#: ../src/tooltips.py:317
+#: ../src/tooltips.py:325
 #, python-format
 msgid "%(owner_or_admin_or_member)s of this group chat"
 msgstr "%(owner_or_admin_or_member)s dieses Gruppenchats"
 
-#: ../src/tooltips.py:430
-#: ../src/tooltips.py:610
+#: ../src/tooltips.py:423
+msgid " [blocked]"
+msgstr " [blockiert]"
+
+#: ../src/tooltips.py:427
+msgid " [minimized]"
+msgstr " [minimiert]"
+
+#: ../src/tooltips.py:442 ../src/tooltips.py:630
 msgid "Status: "
 msgstr "Status: "
 
-#: ../src/tooltips.py:461
+#: ../src/tooltips.py:472
 #, python-format
 msgid "Last status: %s"
 msgstr "Letzter Status: %s"
 
-#: ../src/tooltips.py:463
+#: ../src/tooltips.py:474
 #, python-format
 msgid " since %s"
 msgstr " seit %s"
 
+#: ../src/tooltips.py:492
+msgid "Connected"
+msgstr "Verbunden"
+
+#: ../src/tooltips.py:494
+msgid "Disconnected"
+msgstr "Nicht verbunden"
+
 #. ('both' is the normal sub so we don't show it)
-#: ../src/tooltips.py:502
+#: ../src/tooltips.py:521
 msgid "Subscription: "
 msgstr "Abonnement: "
 
-#: ../src/tooltips.py:512
+#: ../src/tooltips.py:531
 msgid "OpenPGP: "
 msgstr "OpenPGP: "
 
-#: ../src/tooltips.py:566
+#: ../src/tooltips.py:586
 msgid "Download"
 msgstr "Download"
 
-#: ../src/tooltips.py:572
+#: ../src/tooltips.py:592
 msgid "Upload"
 msgstr "Upload"
 
-#: ../src/tooltips.py:579
+#: ../src/tooltips.py:599
 msgid "Type: "
 msgstr "Typ: "
 
-#: ../src/tooltips.py:585
+#: ../src/tooltips.py:605
 msgid "Transferred: "
 msgstr "Ãœbertragen: "
 
-#: ../src/tooltips.py:588
-#: ../src/tooltips.py:609
+#: ../src/tooltips.py:608 ../src/tooltips.py:629
 msgid "Not started"
 msgstr "Nicht gestartet"
 
-#: ../src/tooltips.py:592
+#: ../src/tooltips.py:612
 msgid "Stopped"
 msgstr "Angehalten"
 
-#: ../src/tooltips.py:594
-#: ../src/tooltips.py:597
+#: ../src/tooltips.py:614 ../src/tooltips.py:617
 msgid "Completed"
 msgstr "Abgeschlossen"
 
-#: ../src/tooltips.py:601
+#: ../src/tooltips.py:621
 msgid "?transfer status:Paused"
 msgstr "?Transferstatus:Pausiert"
 
 #. stalled is not paused. it is like 'frozen' it stopped alone
-#: ../src/tooltips.py:605
+#: ../src/tooltips.py:625
 msgid "Stalled"
 msgstr "Steht still"
 
-#: ../src/tooltips.py:607
+#: ../src/tooltips.py:627
 msgid "Transferring"
 msgstr "Ãœbertrage"
 
-#: ../src/tooltips.py:639
+#: ../src/tooltips.py:661
 msgid "This service has not yet responded with detailed information"
 msgstr "Dieser Dienst hat nicht mit detaillierten Informationen geantwortet"
 
-#: ../src/tooltips.py:642
+#: ../src/tooltips.py:664
 msgid ""
 "This service could not respond with detailed information.\n"
 "It is most likely legacy or broken"
@@ -5277,177 +6345,193 @@ msgstr ""
 "Dieser Dienst konnte nicht mit detaillierten Informationen antworten\n"
 "Er ist wahrscheinlich verwaltet oder defekt"
 
-#: ../src/vcard.py:217
+#: ../src/vcard.py:245
 msgid "?Client:Unknown"
 msgstr "Unbekannt"
 
-#: ../src/vcard.py:219
+#: ../src/vcard.py:247
 msgid "?OS:Unknown"
 msgstr "Unbekannt"
 
-#: ../src/vcard.py:247
-#: ../src/vcard.py:449
+#: ../src/vcard.py:272 ../src/vcard.py:282 ../src/vcard.py:472
 #, python-format
 msgid "since %s"
 msgstr "seit %s"
 
-#: ../src/vcard.py:277
+#: ../src/vcard.py:311
 msgid "Affiliation:"
 msgstr "Zugehörigkeit: "
 
-#: ../src/vcard.py:285
-msgid "This contact is interested in your presence information, but you are not interested in his/her presence"
-msgstr "Dieser Kontakt ist an Ihren Anwesenheitsinformationen interessiert, aber Sie sind nicht an seiner/ihrer Anwesenheit interessiert"
+#: ../src/vcard.py:319
+msgid ""
+"This contact is interested in your presence information, but you are not "
+"interested in his/her presence"
+msgstr ""
+"Dieser Kontakt ist an Ihren Anwesenheitsinformationen interessiert, aber Sie "
+"sind nicht an seiner/ihrer Anwesenheit interessiert"
 
-#: ../src/vcard.py:287
-msgid "You are interested in the contact's presence information, but he/she is not interested in yours"
-msgstr "Sie sind an den Anwesenheitsinformationen des Kontakts interessiert, aber er/sie ist nicht an ihren interessiert"
+#: ../src/vcard.py:321
+msgid ""
+"You are interested in the contact's presence information, but he/she is not "
+"interested in yours"
+msgstr ""
+"Sie sind an den Anwesenheitsinformationen des Kontakts interessiert, aber er/"
+"sie ist nicht an ihren interessiert"
 
-#: ../src/vcard.py:289
+#: ../src/vcard.py:323
 msgid "You and the contact are interested in each other's presence information"
-msgstr "Sie und der Kontakt sind an den Anwesenheitsinformationen des Anderen interessiert"
+msgstr ""
+"Sie und der Kontakt sind an den Anwesenheitsinformationen des Anderen "
+"interessiert"
 
 #. None
-#: ../src/vcard.py:291
-msgid "You are not interested in the contact's presence, and neither he/she is interested in yours"
-msgstr "Sie sind nicht an der Anwesenheit des Kontakts interessiert, und er/sie ist nicht interessiert an ihrer"
+#: ../src/vcard.py:325
+msgid ""
+"You are not interested in the contact's presence, and neither he/she is "
+"interested in yours"
+msgstr ""
+"Sie sind nicht an der Anwesenheit des Kontakts interessiert, und er/sie ist "
+"nicht interessiert an ihrer"
 
-#: ../src/vcard.py:299
+#: ../src/vcard.py:333
 msgid "You are waiting contact's answer about your subscription request"
 msgstr "Sie warten auf die Antwort des Kontaktes auf ihre Abonnement-Anfrage"
 
-#: ../src/vcard.py:311
-#: ../src/vcard.py:338
-#: ../src/vcard.py:482
+#: ../src/vcard.py:337 ../src/vcard.py:374 ../src/vcard.py:497
 msgid " resource with priority "
 msgstr " resource mit Priorität "
 
-#: ../src/common/check_paths.py:33
+#: ../src/common/check_paths.py:38
 msgid "creating logs database"
 msgstr "Erstelle Log-Datenbank"
 
-#: ../src/common/check_paths.py:89
-#: ../src/common/check_paths.py:100
-#: ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:101 ../src/common/check_paths.py:112
+#: ../src/common/check_paths.py:119
 #, python-format
 msgid "%s is a file but it should be a directory"
 msgstr "%s ist eine Datei, aber es sollte ein Verzeichnis sein"
 
-#: ../src/common/check_paths.py:90
-#: ../src/common/check_paths.py:101
-#: ../src/common/check_paths.py:108
-#: ../src/common/check_paths.py:116
+#: ../src/common/check_paths.py:102 ../src/common/check_paths.py:113
+#: ../src/common/check_paths.py:120 ../src/common/check_paths.py:128
 msgid "Gajim will now exit"
 msgstr "Gajim wird nun beendet"
 
-#: ../src/common/check_paths.py:115
+#: ../src/common/check_paths.py:127
 #, python-format
 msgid "%s is a directory but should be a file"
 msgstr "%s ist ein Verzeichnis, sollte aber eine Datei sein"
 
-#: ../src/common/check_paths.py:131
+#: ../src/common/check_paths.py:143
 #, python-format
 msgid "creating %s directory"
 msgstr "Erstelle Verzeichnis %s"
 
-#: ../src/common/commands.py:69
+#: ../src/common/commands.py:74
 msgid "Change status information"
 msgstr "Ändere Statusinformation"
 
-#: ../src/common/commands.py:82
+#: ../src/common/commands.py:87
 msgid "Change status"
 msgstr "Kontakt hat Status verändert"
 
-#: ../src/common/commands.py:83
+#: ../src/common/commands.py:88
 msgid "Set the presence type and description"
 msgstr "Lege den Anwesenheitstyp und die Beschreibung fest"
 
-#: ../src/common/commands.py:89
+#: ../src/common/commands.py:94
 msgid "Free for chat"
 msgstr "Frei zum Chatten"
 
-#: ../src/common/commands.py:90
+#: ../src/common/commands.py:95
 msgid "Online"
 msgstr "Online"
 
-#: ../src/common/commands.py:92
+#: ../src/common/commands.py:97
 msgid "Extended away"
 msgstr "Längere Zeit abwesend"
 
-#: ../src/common/commands.py:93
+#: ../src/common/commands.py:98
 msgid "Do not disturb"
 msgstr "Bitte nicht stören"
 
-#: ../src/common/commands.py:94
+#: ../src/common/commands.py:99
 msgid "Offline - disconnect"
 msgstr "Offline - Abgemeldet"
 
-#: ../src/common/commands.py:99
+#: ../src/common/commands.py:104
 msgid "Presence description:"
 msgstr "Anwesenheitsbeschreibung:"
 
-#: ../src/common/commands.py:134
+#: ../src/common/commands.py:139
 msgid "The status has been changed."
 msgstr "Der Status hat sich verändert."
 
-#: ../src/common/commands.py:179
+#: ../src/common/commands.py:184
 #, python-format
 msgid "%(nickname)s on %(room_jid)s"
 msgstr "%(nickname)s aus Gruppenchat %(room_jid)s"
 
-#: ../src/common/commands.py:183
+#: ../src/common/commands.py:188
 msgid "You have not joined a groupchat."
 msgstr "Sie haben keinen Gruppenchat betreten."
 
-#: ../src/common/commands.py:189
+#: ../src/common/commands.py:194
 msgid "Leave Groupchats"
 msgstr "Verlasse Gruppenchat"
 
-#: ../src/common/commands.py:190
+#: ../src/common/commands.py:195
 msgid "Choose the groupchats you want to leave"
 msgstr "Wählen Sie den Gruppenchat, den Sie verlassen möchten"
 
-#: ../src/common/commands.py:194
-msgid "Groupchats"
-msgstr "Gruppenchat"
-
-#: ../src/common/commands.py:230
+#: ../src/common/commands.py:235
 msgid "You left the following groupchats:"
 msgstr "Sie haben folgende Gruppenchats verlassen:"
 
-#: ../src/common/config.py:56
+#: ../src/common/commands.py:247
+msgid "Forward unread messages"
+msgstr "Ungelesene Nachrichten weiterleiten"
+
+#: ../src/common/commands.py:267
+msgid "All unread messages have been forwarded."
+msgstr "Alle ungelesenen Nachrichten wurden weitergeleitet."
+
+#: ../src/common/config.py:74
 msgid "Use D-Bus and Notification-Daemon to show notifications"
-msgstr "Verwende D-Bus und Notification-Daemon, um Benachrichtigungen zu zeigen"
+msgstr ""
+"Verwende D-Bus und Notification-Daemon, um Benachrichtigungen zu zeigen"
 
-#: ../src/common/config.py:61
+#: ../src/common/config.py:79
 msgid "Time in minutes, after which your status changes to away."
 msgstr "Zeit in Minuten, nach der Ihr Status auf abwesend gesetzt wird"
 
-#: ../src/common/config.py:62
+#: ../src/common/config.py:80
 msgid "Away as a result of being idle"
 msgstr "Abwesend, da untätig"
 
-#: ../src/common/config.py:64
+#: ../src/common/config.py:82
 msgid "Time in minutes, after which your status changes to not available."
 msgstr "Zeit in Minuten, nach der Ihr Status auf nicht verfügbar gesetzt wird."
 
-#: ../src/common/config.py:65
+#: ../src/common/config.py:83
 msgid "Not available as a result of being idle"
 msgstr "Nicht verfügbar, da untätig"
 
-#: ../src/common/config.py:83
-msgid "List (space separated) of rows (accounts and groups) that are collapsed."
-msgstr "Liste (leerzeichengeteilt) von Reihen (Kontos und Gruppen), die eingeklappt sind."
+#: ../src/common/config.py:101
+msgid ""
+"List (space separated) of rows (accounts and groups) that are collapsed."
+msgstr ""
+"Liste (leerzeichengeteilt) von Reihen (Kontos und Gruppen), die eingeklappt "
+"sind."
 
-#: ../src/common/config.py:88
+#: ../src/common/config.py:106
 msgid "Enable link-local/zeroconf messaging"
 msgstr "Aktiviere Anzeige von Kontakten im LAN über Zeroconf."
 
-#: ../src/common/config.py:91
+#: ../src/common/config.py:109
 msgid "Language used by speller"
 msgstr "Sprache der Rechtschreibprüfung"
 
-#: ../src/common/config.py:92
+#: ../src/common/config.py:110
 msgid ""
 "'always' - print time for every message.\n"
 "'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
@@ -5457,614 +6541,841 @@ msgstr ""
 "'sometimes' - Zeige Zeit alle print_ichat_every_foo_minutes Minuten.\n"
 "'never' - Zeige nie die Zeit."
 
-#: ../src/common/config.py:93
-msgid "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. This is used only if print_time is 'sometimes'."
-msgstr "Zeige die Zeit in Chats mittels ungenauer Uhr an. Werte für die Ungenauigkeit sind 1 bis 4 oder 0, um die ungenaue Uhr zu deaktivieren. 1 ist am Genauesten, 4 ist am Ungenaueste. Dies wird nur verwendet, wenn print_time auf 'sometimes' gesetzt ist."
+#: ../src/common/config.py:111
+msgid ""
+"Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
+"to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
+"This is used only if print_time is 'sometimes'."
+msgstr ""
+"Zeige die Zeit in Chats mittels ungenauer Uhr an. Werte für die "
+"Ungenauigkeit sind 1 bis 4 oder 0, um die ungenaue Uhr zu deaktivieren. 1 "
+"ist am Genauesten, 4 ist am Ungenaueste. Dies wird nur verwendet, wenn "
+"print_time auf 'sometimes' gesetzt ist."
 
-#: ../src/common/config.py:96
+#: ../src/common/config.py:114
 msgid "Treat * / _ pairs as possible formatting characters."
 msgstr "Behandle * / _ Paare als mögliche Formatierungszeichen."
 
-#: ../src/common/config.py:97
-msgid "If True, do not remove */_ . So *abc* will be bold but with * * not removed."
-msgstr "Wenn aktiviert, wird */_ nicht entfernt. So wird *abc* fett gedruckt, aber * * wird nicht entfernt."
+#: ../src/common/config.py:115
+msgid ""
+"If True, do not remove */_ . So *abc* will be bold but with * * not removed."
+msgstr ""
+"Wenn aktiviert, wird */_ nicht entfernt. So wird *abc* fett gedruckt, aber * "
+"* wird nicht entfernt."
 
-#: ../src/common/config.py:100
-msgid "Uses ReStructured text markup to send HTML, plus ascii formatting if selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html (If you want to use this, install docutils)"
-msgstr "Wenn aktiviert, wird reStructuredText für die HTML und ASCII-Formatierung verwendet (falls dies erwünscht ist, installieren Sie docutils). Informationen zur Syntax finden Sie unter http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html (Englisch)"
+#: ../src/common/config.py:118
+msgid ""
+"Uses ReStructured text markup to send HTML, plus ascii formatting if "
+"selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
+"restructuredtext.html (If you want to use this, install docutils)"
+msgstr ""
+"Wenn aktiviert, wird reStructuredText für die HTML und ASCII-Formatierung "
+"verwendet (falls dies erwünscht ist, installieren Sie docutils). "
+"Informationen zur Syntax finden Sie unter http://docutils.sourceforge.net/"
+"docs/ref/rst/restructuredtext.html (Englisch)"
 
-#: ../src/common/config.py:109
-msgid "Character to add after nickname when using nick completion (tab) in group chat."
-msgstr "Zeichen, das hinter Spitznamen angezeigt wird, wenn Spitznamenvervollständigung (Tab) im Gruppenchat verwendet wird."
+#: ../src/common/config.py:127
+msgid ""
+"Character to add after nickname when using nick completion (tab) in group "
+"chat."
+msgstr ""
+"Zeichen, das hinter Spitznamen angezeigt wird, wenn "
+"Spitznamenvervollständigung (Tab) im Gruppenchat verwendet wird."
 
-#: ../src/common/config.py:110
-msgid "Character to propose to add after desired nickname when desired nickname is used by someone else in group chat."
-msgstr "Zeichen, das hinter den gewünschten Spitznamen gehängt wird, falls der gewünschteName im Gruppenchat bereits vergeben ist."
+#: ../src/common/config.py:128
+msgid ""
+"Character to propose to add after desired nickname when desired nickname is "
+"used by someone else in group chat."
+msgstr ""
+"Zeichen, das hinter den gewünschten Spitznamen gehängt wird, falls der "
+"gewünschteName im Gruppenchat bereits vergeben ist."
 
-#: ../src/common/config.py:133
-msgid "This option let you customize timestamp that is printed in conversation. For exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on strftime for full documentation: http://docs.python.org/lib/module-time.html"
-msgstr "Hiermit lässt sich der Zeitstempel anpassen, der in den Unterhaltungen verwendet wird. Zum Beispiel wird \"[%H:%M] \" zu \"[Stunde:Minute] \". Weitere Informationen finden Sie in der Python-Dokumentation zu 'strftime' unter http://docs.python.org/lib/module-time.html (Englisch)."
+#: ../src/common/config.py:151
+msgid ""
+"This option let you customize timestamp that is printed in conversation. For "
+"exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
+"strftime for full documentation: http://docs.python.org/lib/module-time.html"
+msgstr ""
+"Hiermit lässt sich der Zeitstempel anpassen, der in den Unterhaltungen "
+"verwendet wird. Zum Beispiel wird \"[%H:%M] \" zu \"[Stunde:Minute] \". "
+"Weitere Informationen finden Sie in der Python-Dokumentation zu 'strftime' "
+"unter http://docs.python.org/lib/module-time.html (Englisch)."
 
-#: ../src/common/config.py:134
+#: ../src/common/config.py:152
 msgid "Characters that are printed before the nickname in conversations"
 msgstr "Zeichen, die vor dem Spitzname gedruckt werden"
 
-#: ../src/common/config.py:135
+#: ../src/common/config.py:153
 msgid "Characters that are printed after the nickname in conversations"
 msgstr "Zeichen, die nach dem Spitznamen gedruckt werden"
 
-#: ../src/common/config.py:142
+#: ../src/common/config.py:156
+msgid ""
+"If checked, Gajim can regularly poll a Last.fm account and adjust the status "
+"message to reflect recently played songs. "
+"set_status_msg_from_current_music_track option must be False."
+msgstr ""
+
+#: ../src/common/config.py:157
+msgid "The username used to identify the Last.fm account."
+msgstr ""
+
+#: ../src/common/config.py:162
 msgid "Add * and [n] in roster title?"
 msgstr "Füge * und [n] in die Kontaktleiste?"
 
-#: ../src/common/config.py:143
-msgid "How many lines to remember from previous conversation when a chat tab/window is reopened."
-msgstr "Wie viele Zeilen von der vorherigen Unterhaltung gespeichert werden, wenn ein Chat Tab/Fenster wieder geöffnet wird."
+#: ../src/common/config.py:163
+msgid ""
+"How many lines to remember from previous conversation when a chat tab/window "
+"is reopened."
+msgstr ""
+"Wie viele Zeilen von der vorherigen Unterhaltung gespeichert werden, wenn "
+"ein Chat Tab/Fenster wieder geöffnet wird."
 
-#: ../src/common/config.py:144
+#: ../src/common/config.py:164
 msgid "How many minutes should last lines from previous conversation last."
-msgstr "Wie viele Minuten die Zeilen vom vorherigen Chat angezeigt werden sollen."
+msgstr ""
+"Wie viele Minuten die Zeilen vom vorherigen Chat angezeigt werden sollen."
 
-#: ../src/common/config.py:145
-msgid "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ Client default behaviour)."
-msgstr "Sende Nachricht mit Strg+Enter und mache bei Enter einen Zeilenumbruch (Mirabilis ICQ-Client Standardeinstellung)."
+#: ../src/common/config.py:165
+msgid ""
+"Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
+"Client default behaviour)."
+msgstr ""
+"Sende Nachricht mit Strg+Enter und mache bei Enter einen Zeilenumbruch "
+"(Mirabilis ICQ-Client Standardeinstellung)."
 
-#: ../src/common/config.py:147
+#: ../src/common/config.py:167
 msgid "How many lines to store for Ctrl+KeyUP."
 msgstr "Wie viele Zeilen für Strg+BildAuf gespeichert werden."
 
-#: ../src/common/config.py:150
+#: ../src/common/config.py:170
 #, python-format
-msgid "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' which means use wiktionary."
-msgstr "Entweder eine spezielle URL mit %s, wobei %s das Word/Phrase ist oder 'WIKTIONARY', was bedeutet, dass das Wörterbuch Wiktionary verwendet wird."
+msgid ""
+"Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' "
+"which means use wiktionary."
+msgstr ""
+"Entweder eine spezielle URL mit %s, wobei %s das Word/Phrase ist oder "
+"'WIKTIONARY', was bedeutet, dass das Wörterbuch Wiktionary verwendet wird."
 
-#: ../src/common/config.py:153
+#: ../src/common/config.py:173
 msgid "If checked, Gajim can be controlled remotely using gajim-remote."
-msgstr "Falls aktiviert, kann Gajim von Außerhalb mittels gajim-remote kontrolliert werden."
+msgstr ""
+"Falls aktiviert, kann Gajim von Außerhalb mittels gajim-remote kontrolliert "
+"werden."
 
-#: ../src/common/config.py:154
-msgid "If True, listen to D-Bus signals from NetworkManager and change the status of accounts (provided they do not have listen_to_network_manager set to False and they sync with global status) based upon the status of the network connection."
-msgstr "Wenn aktiviert, reagiere auf D-Bus-Signale vom NetworkManager und ändere den Status von Konten (vorausgesetzt, sie haben listen_to_network_manager nicht auf False gesetzt und sie synchronisieren sich mit dem globalen Status) basierend auf dem Status der Netzwerkverbindung."
+#: ../src/common/config.py:174
+msgid ""
+"If True, listen to D-Bus signals from NetworkManager and change the status "
+"of accounts (provided they do not have listen_to_network_manager set to "
+"False and they sync with global status) based upon the status of the network "
+"connection."
+msgstr ""
+"Wenn aktiviert, reagiere auf D-Bus-Signale vom NetworkManager und ändere den "
+"Status von Konten (vorausgesetzt, sie haben listen_to_network_manager nicht "
+"auf False gesetzt und sie synchronisieren sich mit dem globalen Status) "
+"basierend auf dem Status der Netzwerkverbindung."
 
-#: ../src/common/config.py:155
-msgid "Sent chat state notifications. Can be one of all, composing_only, disabled."
-msgstr "Chat-Statusbenachrichtigungen gesendet. Kann eine von allen sein, composing_only deaktiviert."
+#: ../src/common/config.py:175
+msgid ""
+"Sent chat state notifications. Can be one of all, composing_only, disabled."
+msgstr ""
+"Chat-Statusbenachrichtigungen gesendet. Kann eine von allen sein, "
+"composing_only deaktiviert."
 
-#: ../src/common/config.py:156
-msgid "Displayed chat state notifications in chat windows. Can be one of all, composing_only, disabled."
-msgstr "Angezeigte Chat-Status Benachrichtigungen im Chatfenster. Kann all, composing_only oder disabled sein."
+#: ../src/common/config.py:176
+msgid ""
+"Displayed chat state notifications in chat windows. Can be one of all, "
+"composing_only, disabled."
+msgstr ""
+"Angezeigte Chat-Status Benachrichtigungen im Chatfenster. Kann all, "
+"composing_only oder disabled sein."
 
-#: ../src/common/config.py:158
-msgid "When not printing time for every message (print_time==sometimes), print it every x minutes."
-msgstr "Wenn die Uhrzeit nicht für jede Nachricht angezeigt werden soll (print_time==sometimes), zeige sie alle x Minuten."
+#: ../src/common/config.py:178
+msgid ""
+"When not printing time for every message (print_time==sometimes), print it "
+"every x minutes."
+msgstr ""
+"Wenn die Uhrzeit nicht für jede Nachricht angezeigt werden soll "
+"(print_time==sometimes), zeige sie alle x Minuten."
 
-#: ../src/common/config.py:159
+#: ../src/common/config.py:179
 msgid "Ask before closing a group chat tab/window."
 msgstr "Fragen, bevor ein Gruppenchat Tab/Fenster geschlossen wird."
 
-#: ../src/common/config.py:160
-msgid "Always ask before closing group chat tab/window in this space separated list of group chat jids."
-msgstr "Immer fragen, bevor ein Gruppenchat-Fenster/Tab aus der Leerzeichen-seperierten Liste von Gruppchatnamen geschlossen wird."
+#: ../src/common/config.py:180
+msgid ""
+"Always ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Immer fragen, bevor ein Gruppenchat-Fenster/Tab aus der Leerzeichen-"
+"seperierten Liste von Gruppchatnamen geschlossen wird."
 
-#: ../src/common/config.py:161
-msgid "Never ask before closing group chat tab/window in this space separated list of group chat jids."
-msgstr "Niemals fragen, bevor ein Gruppenchat-Fenster/Tab aus der Leerzeichen-seperierten Liste von Gruppenchatnamen geschlossen wird."
+#: ../src/common/config.py:181
+msgid ""
+"Never ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Niemals fragen, bevor ein Gruppenchat-Fenster/Tab aus der Leerzeichen-"
+"seperierten Liste von Gruppenchatnamen geschlossen wird."
 
-#: ../src/common/config.py:164
+#: ../src/common/config.py:184
 #, fuzzy
-msgid "Comma separated list of hosts that we send, in addition of local interfaces, for File Transfer in case of address translation/port forwarding."
-msgstr "Überschreibt den Host für Datenübertragung für den Fall von NAT/Port-Forwarding"
+msgid ""
+"Comma separated list of hosts that we send, in addition of local interfaces, "
+"for File Transfer in case of address translation/port forwarding."
+msgstr ""
+"Überschreibt den Host für Datenübertragung für den Fall von NAT/Port-"
+"Forwarding"
 
-#: ../src/common/config.py:166
+#: ../src/common/config.py:186
 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
 msgstr "IEC-Standard sagt KiB = 1024 Byte, kB = 1000 Byte."
 
-#: ../src/common/config.py:168
+#: ../src/common/config.py:188
 msgid "Notify of events in the system trayicon."
 msgstr "Benachrichtige über Ereignisse durch das Trayicon"
 
-#: ../src/common/config.py:174
+#: ../src/common/config.py:194
 msgid "Show tab when only one conversation?"
 msgstr "Tab bei einer einzelnen Unterhaltung anzeigen?"
 
-#: ../src/common/config.py:175
+#: ../src/common/config.py:195
 msgid "Show tabbed notebook border in chat windows?"
 msgstr "Tab-Grenze im Chat-Fenster anzeigen?"
 
-#: ../src/common/config.py:176
+#: ../src/common/config.py:196
 msgid "Show close button in tab?"
 msgstr "Schließen-Button im Tab anzeigen?"
 
-#: ../src/common/config.py:189
-msgid "A semicolon-separated list of words that will be highlighted in group chats."
-msgstr "Eine mit Semilkolon seperierte Liste von Worten, die in einem Gruppenchat hervorgehoben werden."
+#: ../src/common/config.py:197
+msgid ""
+"When negotiating an encrypted session, should Gajim assume you want your "
+"messages to be logged?"
+msgstr ""
+"Soll Gajim beim Aushandeln einer verschlüsselten Sitzung annehmen, dass Sie "
+"Ihre Nachricht mitschneiden wollen?"
+
+#: ../src/common/config.py:198
+msgid ""
+"When negotiating an encrypted session, should Gajim prefer to use public "
+"keys for identification?"
+msgstr ""
+"Soll Gajim bei Aushandeln einer verschlüsselten Situng öffentliche Schlüssel "
+"zur Identifikation bevorzugen?"
+
+#: ../src/common/config.py:207
+#, fuzzy
+msgid "Preview new messages in notification popup?"
+msgstr "Sende Statusbenachrichtigungen:"
+
+#: ../src/common/config.py:212
+msgid ""
+"A semicolon-separated list of words that will be highlighted in group chats."
+msgstr ""
+"Eine mit Semilkolon seperierte Liste von Worten, die in einem Gruppenchat "
+"hervorgehoben werden."
 
-#: ../src/common/config.py:190
-msgid "If True, quits Gajim when X button of Window Manager is clicked. This setting is taken into account only if trayicon is used."
-msgstr "Falls aktiviert, wird Gajim beendet, wenn der X-Button des Fenstermanagers geklickt wird. Diese Option wird nur beachtet, wenn die Trayicon-Unterstützung aktiv ist."
+#: ../src/common/config.py:213
+msgid ""
+"If True, quits Gajim when X button of Window Manager is clicked. This "
+"setting is taken into account only if trayicon is used."
+msgstr ""
+"Falls aktiviert, wird Gajim beendet, wenn der X-Button des Fenstermanagers "
+"geklickt wird. Diese Option wird nur beachtet, wenn die Trayicon-"
+"Unterstützung aktiv ist."
 
-#: ../src/common/config.py:191
-msgid "If True, Gajim will check if it's the default jabber client on each startup."
-msgstr "Wenn aktiviert, wird Gajim beim Starten überprüfen, ob Gajim der Standard-Jabber-Client ist."
+#: ../src/common/config.py:214
+msgid ""
+"If True, Gajim will check if it's the default jabber client on each startup."
+msgstr ""
+"Wenn aktiviert, wird Gajim beim Starten überprüfen, ob Gajim der Standard-"
+"Jabber-Client ist."
 
-#: ../src/common/config.py:192
-msgid "If True, Gajim will display an icon on each tab containing unread messages. Depending on the theme, this icon may be animated."
-msgstr "Falls aktiviert, wird Gajim ein Icon auf jedem Tab mit ungelesenen Nachrichten anzeigen. Abhängig vom Thema kann dieses Icon animiert sein."
+#: ../src/common/config.py:215
+msgid ""
+"If True, Gajim will display an icon on each tab containing unread messages. "
+"Depending on the theme, this icon may be animated."
+msgstr ""
+"Falls aktiviert, wird Gajim ein Icon auf jedem Tab mit ungelesenen "
+"Nachrichten anzeigen. Abhängig vom Thema kann dieses Icon animiert sein."
 
-#: ../src/common/config.py:193
-msgid "If True, Gajim will display the status message, if not empty, for every contact under the contact name in roster window."
-msgstr "Falls aktiviert, wird Gajim für jeden Kontakt die Statusnachricht, falls nicht leer, unter dem jeweiligen Kontaktnamen im Roster anzeigen."
+#: ../src/common/config.py:216
+msgid ""
+"If True, Gajim will display the status message, if not empty, for every "
+"contact under the contact name in roster window."
+msgstr ""
+"Falls aktiviert, wird Gajim für jeden Kontakt die Statusnachricht, falls "
+"nicht leer, unter dem jeweiligen Kontaktnamen im Roster anzeigen."
 
-#: ../src/common/config.py:195
-msgid "If True, Gajim will ask for avatar each contact that did not have an avatar last time or has one cached that is too old."
-msgstr "Falls aktiviert fragt Gajim nach einem Avatar für jeden Kontakt, der beim letzten Mal keinen hatte oder einen veralteten hat."
+#: ../src/common/config.py:218
+msgid ""
+"If True, Gajim will ask for avatar each contact that did not have an avatar "
+"last time or has one cached that is too old."
+msgstr ""
+"Falls aktiviert fragt Gajim nach einem Avatar für jeden Kontakt, der beim "
+"letzten Mal keinen hatte oder einen veralteten hat."
 
-#: ../src/common/config.py:196
-msgid "If False, Gajim will no longer print status line in chats when a contact changes his or her status and/or his or her status message."
-msgstr "Falls deaktiviert, werden Sie keine Statuszeile im Chat sehen, wenn ein Kontakt seinen Status und/oder seine Statusnachricht ändert."
+#: ../src/common/config.py:219
+msgid ""
+"If False, Gajim will no longer print status line in chats when a contact "
+"changes his or her status and/or his or her status message."
+msgstr ""
+"Falls deaktiviert, werden Sie keine Statuszeile im Chat sehen, wenn ein "
+"Kontakt seinen Status und/oder seine Statusnachricht ändert."
 
-#: ../src/common/config.py:197
-msgid "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no longer print status line in groupchats when a member changes his or her status and/or his or her status message. If \"all\" Gajim will print all status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves group chat."
-msgstr "Kann \"none\", \"all\" oder \"in_and_out\" sein. Falls \"none\", wird Gajim keine Status-Zeilen mehr in Gruppenchats anzeigen, wenn ein Mitglied seinen Status oder seine Statusnachricht ändert. Falls \"all\", wird Gajim alle Statusnachrichten anzeigen. Falls \"in_and_out\", wird Gajim nur einen Status anzeigen, wenn jemand den Gruppenchat betritt oder verlässt."
+#: ../src/common/config.py:220
+msgid ""
+"can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
+"longer print status line in groupchats when a member changes his or her "
+"status and/or his or her status message. If \"all\" Gajim will print all "
+"status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves "
+"group chat."
+msgstr ""
+"Kann \"none\", \"all\" oder \"in_and_out\" sein. Falls \"none\", wird Gajim "
+"keine Status-Zeilen mehr in Gruppenchats anzeigen, wenn ein Mitglied seinen "
+"Status oder seine Statusnachricht ändert. Falls \"all\", wird Gajim alle "
+"Statusnachrichten anzeigen. Falls \"in_and_out\", wird Gajim nur einen "
+"Status anzeigen, wenn jemand den Gruppenchat betritt oder verlässt."
 
-#: ../src/common/config.py:199
+#: ../src/common/config.py:222
 msgid "Background color of contacts when they just signed in."
 msgstr "Hintergrundfarbe von Kontakten wenn sie sich gerade noch anmeldeten."
 
-#: ../src/common/config.py:200
+#: ../src/common/config.py:223
 msgid "Background color of contacts when they just signed out."
 msgstr "Hintergrundfarbe von Kontakten wenn sie sich gerade noch abmeldeten."
 
-#: ../src/common/config.py:202
-msgid "If True, restored messages will use a smaller font than the default one."
-msgstr "Falls aktiv, werden wiederhergestellte Nachrichten mit einer kleineren Schrift als der Standard dargestellt."
+#: ../src/common/config.py:225
+msgid ""
+"If True, restored messages will use a smaller font than the default one."
+msgstr ""
+"Falls aktiv, werden wiederhergestellte Nachrichten mit einer kleineren "
+"Schrift als der Standard dargestellt."
 
-#: ../src/common/config.py:203
+#: ../src/common/config.py:226
 msgid "Don't show avatar for the transport itself."
 msgstr "Zeige keinen Avatar für den Transport selber."
 
-#: ../src/common/config.py:204
+#: ../src/common/config.py:227
 msgid "Don't show roster in the system taskbar."
 msgstr "Kontaktliste nicht in der System-Taskleiste anzeigen."
 
-#: ../src/common/config.py:205
-msgid "If True and installed GTK+ and PyGTK versions are at least 2.8, make the window flash (the default behaviour in most Window Managers) when holding pending events."
-msgstr "Wenn aktiviert und die installierten GTK+ und PyGTK Versionen wenigstens 2.8 sind, lasse das Fenster bei neuen Ereignissen aufblitzen (Standardverhalten in den meisten Window-Managers) "
+#: ../src/common/config.py:228
+msgid ""
+"If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
+"window flash (the default behaviour in most Window Managers) when holding "
+"pending events."
+msgstr ""
+"Wenn aktiviert und die installierten GTK+ und PyGTK Versionen wenigstens 2.8 "
+"sind, lasse das Fenster bei neuen Ereignissen aufblitzen (Standardverhalten "
+"in den meisten Window-Managers) "
 
-#: ../src/common/config.py:207
-msgid "Jabberd1.4 does not like sha info when one join a password protected group chat. Turn this option to False to stop sending sha info in group chat presences."
-msgstr "Jabberd1.4 mag keine SHA-Informationen wenn ein passwortgeschützter Gruppenchat betreten wird. Deaktivieren Sie diese Option um keine SHA-Informationen in Gruppenchats zu senden"
+#: ../src/common/config.py:230
+msgid ""
+"Jabberd1.4 does not like sha info when one join a password protected group "
+"chat. Turn this option to False to stop sending sha info in group chat "
+"presences."
+msgstr ""
+"Jabberd1.4 mag keine SHA-Informationen wenn ein passwortgeschützter "
+"Gruppenchat betreten wird. Deaktivieren Sie diese Option um keine SHA-"
+"Informationen in Gruppenchats zu senden"
 
 #. always, never, peracct, pertype should not be translated
-#: ../src/common/config.py:210
+#: ../src/common/config.py:233
 msgid ""
 "Controls the window where new messages are placed.\n"
 "'always' - All messages are sent to a single window.\n"
 "'never' - All messages get their own window.\n"
 "'peracct' - Messages for each account are sent to a specific window.\n"
-"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a specific window. Note, changing this option requires restarting Gajim before the changes will take effect."
+"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a "
+"specific window. Note, changing this option requires restarting Gajim before "
+"the changes will take effect."
 msgstr ""
 "Kontrolliert das Fenster in dem neue Nachrichten platziert werden.\n"
 "'always' - Alle Nachrichten landen in einem einzelnen Fenster.\n"
 "'never' - Alle Nachrichten bekommen ihr eigenes Fenster.\n"
-"'peracct' - Nachrichten für jeden Account landen in einem speziellen Fenster.\n"
-"'pertype' - Jede Nachrichtentyp (z.B. Chat vs. Gruppenchat) landet in in einem speziellen Fenster. Falls Sie diese Option ändern, muss Gajim neu gestartet werden, damit die Änderungen übernommen werden"
+"'peracct' - Nachrichten für jeden Account landen in einem speziellen "
+"Fenster.\n"
+"'pertype' - Jede Nachrichtentyp (z.B. Chat vs. Gruppenchat) landet in in "
+"einem speziellen Fenster. Falls Sie diese Option ändern, muss Gajim neu "
+"gestartet werden, damit die Änderungen übernommen werden"
 
-#: ../src/common/config.py:211
+#: ../src/common/config.py:234
 msgid "If False, you will no longer see the avatar in the chat window."
-msgstr "Wenn deaktiviert, werden Sie den Avatar nicht mehr im Chatfenster sehen."
+msgstr ""
+"Wenn deaktiviert, werden Sie den Avatar nicht mehr im Chatfenster sehen."
 
-#: ../src/common/config.py:212
+#: ../src/common/config.py:235
 msgid "If True, pressing the escape key closes a tab/window."
 msgstr "Wenn aktiviert, schließt die Escape-Taste ein Tab/Fenster."
 
-#: ../src/common/config.py:213
-msgid "Hides the buttons in group chat window."
+#: ../src/common/config.py:236
+msgid "Hides the buttons in chat windows."
 msgstr "Versteckt die Knöpfe im Gruppenchat-Fenster."
 
-#: ../src/common/config.py:214
-msgid "Hides the buttons in two persons chat window."
-msgstr "Versteckt die Knöpfe im Zwei-Personen-Chatfenster"
-
-#: ../src/common/config.py:215
+#: ../src/common/config.py:237
 msgid "Hides the banner in a group chat window"
 msgstr "Versteckt das Banner im Gruppenchat-Fenster"
 
-#: ../src/common/config.py:216
+#: ../src/common/config.py:238
 msgid "Hides the banner in two persons chat window"
 msgstr "Versteckt das Banner im Zwei-Personen-Chatfenster"
 
-#: ../src/common/config.py:217
+#: ../src/common/config.py:239
 msgid "Hides the group chat occupants list in group chat window."
 msgstr "Versteckt die Gruppenchat-Benutzerliste im Gruppenchat-Fenster."
 
-#: ../src/common/config.py:218
-msgid "In a chat, show the nickname at the beginning of a line only when it's not the same person talking than in previous message."
-msgstr "Zeige in einem Chat den Spitznamen nur dann am Beginn einer Linie, wenn es nicht die selbe Person ist die schon die letzte Nachricht geschrieben hat."
+#: ../src/common/config.py:240
+msgid ""
+"In a chat, show the nickname at the beginning of a line only when it's not "
+"the same person talking than in previous message."
+msgstr ""
+"Zeige in einem Chat den Spitznamen nur dann am Beginn einer Linie, wenn es "
+"nicht die selbe Person ist die schon die letzte Nachricht geschrieben hat."
 
-#: ../src/common/config.py:219
+#: ../src/common/config.py:241
 msgid "Indentation when using merge consecutive nickname."
-msgstr "Einrückung, wenn das Zusammenführen nachfolgender Spitznamen verwendet wird."
+msgstr ""
+"Einrückung, wenn das Zusammenführen nachfolgender Spitznamen verwendet wird."
 
-#: ../src/common/config.py:220
+#: ../src/common/config.py:242
+#, fuzzy
+msgid "Smooth scroll message in conversation window"
+msgstr "Nachricht senden und Fenster schließen"
+
+#: ../src/common/config.py:243
 msgid "List of colors that will be used to color nicknames in group chats."
-msgstr "Farbliste, die für die Einfärbung von Spitzenamen im Gruppenchat verwendet wird."
+msgstr ""
+"Farbliste, die für die Einfärbung von Spitzenamen im Gruppenchat verwendet "
+"wird."
 
-#: ../src/common/config.py:221
+#: ../src/common/config.py:244
 msgid "Ctrl-Tab go to next composing tab when none is unread."
-msgstr "Strg-Tab, um zum nächsten Reiter zu gehen, wenn kein Anderer neue Nachrichten enthält."
+msgstr ""
+"Strg-Tab, um zum nächsten Reiter zu gehen, wenn kein Anderer neue "
+"Nachrichten enthält."
 
-#: ../src/common/config.py:222
-msgid "Should we show the confirm metacontacts creation dialog or not? Empty string means we never show the dialog."
-msgstr "Soll der Bestätigungsdialog beim Erstellen von Metakontakten angezeigt werden oder nicht? Bei leerer Zeichenfolge wird der Dialog nie gezeigt."
+#: ../src/common/config.py:245
+msgid ""
+"Should we show the confirm metacontacts creation dialog or not? Empty string "
+"means we never show the dialog."
+msgstr ""
+"Soll der Bestätigungsdialog beim Erstellen von Metakontakten angezeigt "
+"werden oder nicht? Bei leerer Zeichenfolge wird der Dialog nie gezeigt."
 
-#: ../src/common/config.py:223
-msgid "If True, you will be able to set a negative priority to your account in account modification window. BE CAREFUL, when you are logged in with a negative priority, you will NOT receive any message from your server."
-msgstr "Wenn aktiviert, werden Sie in der Lage sein eine negative Priorität für Ihr Konto im Konto-Bearbeiten Fenster zu setzen. SEIEN SIE VORSICHTIG, wenn Sie mit einer negativen Priorität angemeldet sind: Sie werden KEINE Nachrichten mehr von Ihrem Server erhalten."
+#: ../src/common/config.py:246
+msgid ""
+"If True, you will be able to set a negative priority to your account in "
+"account modification window. BE CAREFUL, when you are logged in with a "
+"negative priority, you will NOT receive any message from your server."
+msgstr ""
+"Wenn aktiviert, werden Sie in der Lage sein eine negative Priorität für Ihr "
+"Konto im Konto-Bearbeiten Fenster zu setzen. SEIEN SIE VORSICHTIG, wenn Sie "
+"mit einer negativen Priorität angemeldet sind: Sie werden KEINE Nachrichten "
+"mehr von Ihrem Server erhalten."
 
-#: ../src/common/config.py:224
-msgid "If True, Gajim will use Gnome Keyring (if available) to store account passwords."
-msgstr "Wenn aktiviert, wird Gnome Keyring (falls verfügbar) verwendet, um die Passwörter der Konten zu speichern."
+#: ../src/common/config.py:247
+msgid ""
+"If True, Gajim will use Gnome Keyring (if available) to store account "
+"passwords."
+msgstr ""
+"Wenn aktiviert, wird Gnome Keyring (falls verfügbar) verwendet, um die "
+"Passwörter der Konten zu speichern."
 
-#: ../src/common/config.py:225
-msgid "If True, Gajim will show number of online and total contacts in account and group rows."
-msgstr "Wenn aktiviert, wird Gajim die Anzahl der angemeldeten und gesamten Kontakte in den Konto- und Gruppenreihen anzeigen."
+#: ../src/common/config.py:248
+msgid ""
+"If True, Gajim will show number of online and total contacts in account and "
+"group rows."
+msgstr ""
+"Wenn aktiviert, wird Gajim die Anzahl der angemeldeten und gesamten Kontakte "
+"in den Konto- und Gruppenreihen anzeigen."
 
-#: ../src/common/config.py:226
-msgid "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages as if they were of this type"
-msgstr "Kann leer, 'chat' oder 'normal' sein. Wenn nicht leer, dann werden alle eingehenden Nachrichten so behandelt, als wären sie von diesem Typ."
+#: ../src/common/config.py:249
+msgid ""
+"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
+"as if they were of this type"
+msgstr ""
+"Kann leer, 'chat' oder 'normal' sein. Wenn nicht leer, dann werden alle "
+"eingehenden Nachrichten so behandelt, als wären sie von diesem Typ."
 
-#: ../src/common/config.py:227
-msgid "If True, Gajim will scroll and select the contact who sent you the last message, if chat window is not already opened."
-msgstr "Wenn aktiviert, wird Gajim automatisch zu der Person springen und auswählen, die die letzte Nachricht geschickt hat, falls das Chat Fenster nicht bereits offen ist."
+#: ../src/common/config.py:250
+msgid ""
+"If True, Gajim will scroll and select the contact who sent you the last "
+"message, if chat window is not already opened."
+msgstr ""
+"Wenn aktiviert, wird Gajim automatisch zu der Person springen und auswählen, "
+"die die letzte Nachricht geschickt hat, falls das Chat Fenster nicht bereits "
+"offen ist."
 
-#: ../src/common/config.py:238
-msgid "Priority will change automatically according to your status. Priorities are defined in autopriority_* options."
-msgstr "Die Priorität wird automatisch dem Status entsprechend geändert. Prioritäten sind in den autopriority_* Optionen definiert."
+#: ../src/common/config.py:251
+msgid ""
+"If True, Gajim will convert string between $$ and $$ to an image using dvips "
+"and convert before insterting it in chat window."
+msgstr ""
+"Falls 'true', wird Gajim eine Zeichenkette zwischen $$ und $$ mittels dvips "
+"vor dem Einfügen in ein Chat-Fenster in ein Bild umwandeln."
+
+#: ../src/common/config.py:252
+msgid "Time of inactivity needed before the change status window closes down."
+msgstr ""
+"Benötigte Inaktivitäts-Zeit bevor das 'Status ändern'-Fenster geschlossen "
+"wird."
+
+#: ../src/common/config.py:253
+msgid ""
+"Maximum number of lines that are printed in conversations. Oldest lines are "
+"cleared."
+msgstr ""
+"Maximale Anzahl Zeilen, die in einem Gespräch angezeigt werden. Die ältesten "
+"Zeilen werden gelöscht."
+
+#: ../src/common/config.py:254
+msgid ""
+"If True, notification windows from notification-daemon will be attached to "
+"systray icon."
+msgstr ""
+
+#: ../src/common/config.py:265
+msgid ""
+"Priority will change automatically according to your status. Priorities are "
+"defined in autopriority_* options."
+msgstr ""
+"Die Priorität wird automatisch dem Status entsprechend geändert. Prioritäten "
+"sind in den autopriority_* Optionen definiert."
 
 #. yes, no, ask
-#: ../src/common/config.py:267
+#: ../src/common/config.py:293
 msgid "Jabberd2 workaround"
 msgstr "Jabberd2 Workaround"
 
-#: ../src/common/config.py:271
-msgid "If checked, Gajim will use your IP and proxies defined in file_transfer_proxies option for file transfer."
-msgstr "Wenn aktiviert, wird Gajim Ihre IP und die in der file_transfer_proxies Option definierten Proxies für den Datentransfer verwenden."
+#: ../src/common/config.py:297
+msgid ""
+"If checked, Gajim will use your IP and proxies defined in "
+"file_transfer_proxies option for file transfer."
+msgstr ""
+"Wenn aktiviert, wird Gajim Ihre IP und die in der file_transfer_proxies "
+"Option definierten Proxies für den Datentransfer verwenden."
 
-#: ../src/common/config.py:330
+#: ../src/common/config.py:356
 msgid "Is OpenPGP enabled for this contact?"
 msgstr "Ist OpenPGP für diesen Kontakt aktiviert?"
 
-#: ../src/common/config.py:331
-#: ../src/common/config.py:334
+#: ../src/common/config.py:357 ../src/common/config.py:360
 msgid "Language for which we want to check misspelled words"
 msgstr "Sprache für, die nach falsch geschriebenen Wörtern gesucht werden soll"
 
-#: ../src/common/config.py:340
+#: ../src/common/config.py:366
 msgid "all or space separated status"
 msgstr "alle oder Leerzeichen-getrennter Status"
 
-#: ../src/common/config.py:341
+#: ../src/common/config.py:367
 msgid "'yes', 'no', or 'both'"
 msgstr "'ja', 'nein' oder 'beide'"
 
-#: ../src/common/config.py:342
-#: ../src/common/config.py:344
-#: ../src/common/config.py:345
-#: ../src/common/config.py:348
-#: ../src/common/config.py:349
+#: ../src/common/config.py:368 ../src/common/config.py:370
+#: ../src/common/config.py:371 ../src/common/config.py:374
+#: ../src/common/config.py:375
 msgid "'yes', 'no' or ''"
 msgstr "'ja, 'nein' oder ''"
 
-#: ../src/common/config.py:355
+#: ../src/common/config.py:381
 msgid "Sleeping"
 msgstr "Schlafen"
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:382
 msgid "Back soon"
 msgstr "Bin gleich wieder da"
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:382
 msgid "Back in some minutes."
 msgstr "Bin in ein paar Minuten zurück."
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:383
 msgid "Eating"
 msgstr "Essen"
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:383
 msgid "I'm eating, so leave me a message."
 msgstr "Ich esse gerade, also hinterlasst eine Nachricht."
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:384
 msgid "Movie"
 msgstr "Film"
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:384
 msgid "I'm watching a movie."
 msgstr "Ich sehe mir einen Film an."
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:385
 msgid "Working"
 msgstr "Arbeiten"
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:385
 msgid "I'm working."
 msgstr "Ich arbeite."
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:386
 msgid "Phone"
 msgstr "Telefon"
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:386
 msgid "I'm on the phone."
 msgstr "Ich telefoniere."
 
-#: ../src/common/config.py:361
+#: ../src/common/config.py:387
 msgid "Out"
 msgstr "Draußen"
 
-#: ../src/common/config.py:361
+#: ../src/common/config.py:387
 msgid "I'm out enjoying life."
 msgstr "Ich bin draußen und genieße das Leben."
 
-#: ../src/common/config.py:365
+#: ../src/common/config.py:391
 msgid "I'm available."
 msgstr "Ich bin angemeldet."
 
-#: ../src/common/config.py:366
+#: ../src/common/config.py:392
 msgid "I'm free for chat."
 msgstr "Ich bin frei zum Chatten."
 
-#: ../src/common/config.py:368
+#: ../src/common/config.py:394
 msgid "I'm not available."
 msgstr "Ich bin nicht verfügbar."
 
-#: ../src/common/config.py:369
+#: ../src/common/config.py:395
 msgid "Do not disturb."
 msgstr "Bitte nicht stören."
 
-#: ../src/common/config.py:370
-#: ../src/common/config.py:371
+#: ../src/common/config.py:396 ../src/common/config.py:397
 msgid "Bye!"
 msgstr "Auf Wiedersehen!"
 
-#: ../src/common/config.py:380
-msgid "Sound to play when a group chat message contains one of the words in muc_highlight_words, or when a group chat message contains your nickname."
-msgstr "Abzuspielender Ton, falls eine Gruppenchat-Nachricht eines der Wörter aus der muc_highlights_works-Liste oder Ihren Spitznamen enthält."
+#: ../src/common/config.py:406
+msgid ""
+"Sound to play when a group chat message contains one of the words in "
+"muc_highlight_words, or when a group chat message contains your nickname."
+msgstr ""
+"Abzuspielender Ton, falls eine Gruppenchat-Nachricht eines der Wörter aus "
+"der muc_highlights_works-Liste oder Ihren Spitznamen enthält."
 
-#: ../src/common/config.py:381
+#: ../src/common/config.py:407
 msgid "Sound to play when any MUC message arrives."
-msgstr "Ton der beim empfangen einer Gruppenchat-Nachricht abgespielt werden soll"
+msgstr ""
+"Ton der beim empfangen einer Gruppenchat-Nachricht abgespielt werden soll"
 
-#: ../src/common/config.py:390
-#: ../src/common/optparser.py:195
+#: ../src/common/config.py:416 ../src/common/optparser.py:220
 msgid "green"
 msgstr "grün"
 
-#: ../src/common/config.py:394
-#: ../src/common/optparser.py:181
+#: ../src/common/config.py:420 ../src/common/optparser.py:206
 msgid "grocery"
 msgstr "gemüse"
 
-#: ../src/common/config.py:398
+#: ../src/common/config.py:424
 msgid "human"
 msgstr "menschlich"
 
-#: ../src/common/config.py:402
+#: ../src/common/config.py:428
 msgid "marine"
 msgstr "Marine"
 
-#: ../src/common/connection_handlers.py:52
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:44
+#: ../src/common/connection_handlers.py:61
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:49
 msgid "Unable to load idle module"
 msgstr "Konnte Idle-Modus nicht laden"
 
-#: ../src/common/connection_handlers.py:180
-#: ../src/common/connection_handlers.py:215
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+#: ../src/common/connection_handlers.py:219
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:243
 msgid "Wrong host"
 msgstr "Falscher Host"
 
-#: ../src/common/connection_handlers.py:180
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
-#, python-format
-msgid "The host %s you configured as the ft_add_hosts_to_send advanced option is not valid, so ignored."
-msgstr "Der Host %s, den Sie für die erweiterte Option ft_override_host_to_send angeben haben ist ungültig und wird ignoriert."
-
-#: ../src/common/connection_handlers.py:216
+#: ../src/common/connection_handlers.py:220
 msgid "Invalid local address? :-O"
 msgstr "Ungültige Lokale Adresse? :-O"
 
-#: ../src/common/connection_handlers.py:607
+#: ../src/common/connection_handlers.py:618
 #, python-format
 msgid "Registration information for transport %s has not arrived in time"
-msgstr "Registrierungsinformation für Transport %s sind nicht rechtzeitig angekommen"
+msgstr ""
+"Registrierungsinformation für Transport %s sind nicht rechtzeitig angekommen"
 
-#: ../src/common/connection_handlers.py:1544
+#: ../src/common/connection_handlers.py:1802
 #, python-format
 msgid "Nickname not allowed: %s"
 msgstr "Spitzname nicht erlaubt: %s"
 
-#. password required to join
 #. we are banned
 #. group chat does not exist
-#: ../src/common/connection_handlers.py:1609
-#: ../src/common/connection_handlers.py:1612
-#: ../src/common/connection_handlers.py:1615
-#: ../src/common/connection_handlers.py:1618
-#: ../src/common/connection_handlers.py:1621
-#: ../src/common/connection_handlers.py:1624
-#: ../src/common/connection_handlers.py:1632
+#: ../src/common/connection_handlers.py:1872
+#: ../src/common/connection_handlers.py:1875
+#: ../src/common/connection_handlers.py:1878
+#: ../src/common/connection_handlers.py:1881
+#: ../src/common/connection_handlers.py:1885
+#: ../src/common/connection_handlers.py:1894
 msgid "Unable to join group chat"
 msgstr "Fehler beim Betreten des Gruppenchats"
 
-#: ../src/common/connection_handlers.py:1610
-msgid "A password is required to join this group chat."
-msgstr "Für das Betreten dieses Gruppenchats ist ein Passwort nötig."
-
-#: ../src/common/connection_handlers.py:1613
-msgid "You are banned from this group chat."
-msgstr "Sie sind von diesem Gruppenchat gebannt."
+#: ../src/common/connection_handlers.py:1873
+#, python-format
+msgid "You are banned from group chat %s."
+msgstr "Sie sind von Gruppenchat %s gebannt."
 
-#: ../src/common/connection_handlers.py:1616
-msgid "Such group chat does not exist."
+#: ../src/common/connection_handlers.py:1876
+#, python-format
+msgid "Group chat %s does not exist."
 msgstr "Dieser Gruppenchat existiert nicht."
 
-#: ../src/common/connection_handlers.py:1619
+#: ../src/common/connection_handlers.py:1879
 msgid "Group chat creation is restricted."
 msgstr "Gruppenchaterstellung ist beschränkt."
 
-#: ../src/common/connection_handlers.py:1622
-msgid "Your registered nickname must be used."
+#: ../src/common/connection_handlers.py:1882
+#, python-format
+msgid "Your registered nickname must be used in group chat %s."
 msgstr "Sie müssen Ihren registrierten Spitznamen verwenden"
 
-#: ../src/common/connection_handlers.py:1625
-msgid "You are not in the members list."
+#: ../src/common/connection_handlers.py:1886
+#, python-format
+msgid "You are not in the members list in groupchat %s."
 msgstr "Sie sind nicht in der Mitgliedliste"
 
-#: ../src/common/connection_handlers.py:1633
+#: ../src/common/connection_handlers.py:1895
+#, python-format
 msgid ""
-"Your desired nickname is in use or registered by another occupant.\n"
+"Your desired nickname in group chat %s is in use or registered by another "
+"occupant.\n"
 "Please specify another nickname below:"
 msgstr ""
-"Der gewünschte Benutzername wird bereits verwendet oder ist von einem anderen Benutzer registriert.\n"
+"Der gewünschte Benutzername wird bereits verwendet oder ist von einem "
+"anderen Benutzer registriert.\n"
 "Bitte geben Sie einen anderen Benutzernamen an:"
 
 #. Room has been destroyed. see
 #. http://www.xmpp.org/extensions/xep-0045.html#destroyroom
-#: ../src/common/connection_handlers.py:1676
+#: ../src/common/connection_handlers.py:1926
 msgid "Room has been destroyed"
 msgstr "Raum wurde zerstört"
 
-#: ../src/common/connection_handlers.py:1683
+#: ../src/common/connection_handlers.py:1933
 #, python-format
 msgid "You can join this room instead: %s"
 msgstr "Sie können stattdessen diesem Raum beitreten: %s"
 
-#: ../src/common/connection_handlers.py:1709
+#: ../src/common/connection_handlers.py:1960
 msgid "I would like to add you to my roster."
 msgstr "Ich würde dich gerne zu meiner Liste hinzufügen."
 
 #. BE CAREFUL: no con.updateRosterItem() in a callback
-#: ../src/common/connection_handlers.py:1730
+#: ../src/common/connection_handlers.py:1981
 #, python-format
 msgid "we are now subscribed to %s"
 msgstr "wir haben jetzt %s abonniert"
 
-#: ../src/common/connection_handlers.py:1732
+#: ../src/common/connection_handlers.py:1983
 #, python-format
 msgid "unsubscribe request from %s"
 msgstr "Anfrage zur Kündigung des Abonnements von %s"
 
-#: ../src/common/connection_handlers.py:1734
+#: ../src/common/connection_handlers.py:1985
 #, python-format
 msgid "we are now unsubscribed from %s"
 msgstr "%s hat das Abonnement beendet"
 
-#: ../src/common/connection_handlers.py:1851
+#: ../src/common/connection_handlers.py:2112
 #, python-format
-msgid "JID %s is not RFC compliant. It will not be added to your roster. Use roster management tools such as http://jru.jabberstudio.org/ to remove it"
-msgstr "Jid %s ist nicht RFC-konform. Sie wird nicht zu ihrem Roster hinzugefügt. Verwenden Sie ein Roster-Managment-Tool wie <http://jru.jabberstudio.org/>, um ihn zu entfernen"
+msgid ""
+"JID %s is not RFC compliant. It will not be added to your roster. Use roster "
+"management tools such as http://jru.jabberstudio.org/ to remove it"
+msgstr ""
+"Jid %s ist nicht RFC-konform. Sie wird nicht zu ihrem Roster hinzugefügt. "
+"Verwenden Sie ein Roster-Managment-Tool wie <http://jru.jabberstudio.org/>, "
+"um ihn zu entfernen"
 
-#: ../src/common/connection.py:193
-#: ../src/common/zeroconf/connection_zeroconf.py:196
+#. We didn't set a passphrase
+#: ../src/common/connection_handlers.py:2151
+#: ../src/common/zeroconf/connection_zeroconf.py:169
+msgid "OpenPGP passphrase was not given"
+msgstr "Keine OpenPGP-Passphrase gewählt"
+
+#: ../src/common/connection.py:243
+#: ../src/common/zeroconf/connection_zeroconf.py:209
 #, python-format
 msgid "Connection with account \"%s\" has been lost"
 msgstr "Verbindung mit Konto \"%s\" abgebrochen"
 
-#: ../src/common/connection.py:194
+#: ../src/common/connection.py:244
 msgid "Reconnect manually."
 msgstr "Manuelle Neuverbindung."
 
-#: ../src/common/connection.py:205
-#: ../src/common/connection.py:232
-#, python-format
-msgid "Transport %s answered wrongly to register request: %s"
-msgstr "Transport %s beantwortete unsere Registrierungsanfrage nicht korrekt: %s"
+#: ../src/common/connection.py:255
+#, fuzzy, python-format
+msgid "Server %s answered wrongly to register request: %s"
+msgstr ""
+"Transport %s beantwortete unsere Registrierungsanfrage nicht korrekt: %s"
 
 #. wrong answer
-#: ../src/common/connection.py:231
+#: ../src/common/connection.py:263
 msgid "Invalid answer"
 msgstr "Ungültige Antwort"
 
-#: ../src/common/connection.py:379
+#: ../src/common/connection.py:264
+#, python-format
+msgid "Transport %s answered wrongly to register request: %s"
+msgstr ""
+"Transport %s beantwortete unsere Registrierungsanfrage nicht korrekt: %s"
+
+#: ../src/common/connection.py:410
 msgid "Connection to proxy failed"
 msgstr "Verbindung mit Proxy fehlgeschlagen"
 
-#: ../src/common/connection.py:433
-#: ../src/common/connection.py:531
-#: ../src/common/connection.py:984
-#: ../src/common/zeroconf/connection_zeroconf.py:217
+#: ../src/common/connection.py:464 ../src/common/connection.py:510
+#: ../src/common/connection.py:1080
+#: ../src/common/zeroconf/connection_zeroconf.py:243
 #, python-format
 msgid "Could not connect to \"%s\""
 msgstr "Konnte nicht mit %s verbinden"
 
-#: ../src/common/connection.py:447
+#: ../src/common/connection.py:478
 #, python-format
 msgid "Connected to server %s:%s with %s"
 msgstr "Verbunden mit Server %s:%s mit %s"
 
-#: ../src/common/connection.py:460
-#, python-format
-msgid "Security error connecting to \"%s\""
-msgstr "Konnte nicht mit %s verbinden"
-
-#: ../src/common/connection.py:461
-msgid "The server's key has changed, or someone is trying to hack your connection."
-msgstr "Der Schlüssel des Servers wurde geändert oder jemand versucht ihre Verbindung zu hacken."
-
-#: ../src/common/connection.py:468
-#, python-format
-msgid "Unable to check fingerprint for %s. Connection could be insecure."
-msgstr "Konnte Fingerabdruck von %s nicht überprüfen. Die Verbindung ist möglicherweise unsicher."
-
-#: ../src/common/connection.py:510
-#, python-format
-msgid "Missing fingerprint in SSL connection to %s"
-msgstr "Fehlender Fingerabdruck in der SSL-Verbindung zu %s"
-
-#: ../src/common/connection.py:516
-#, python-format
-msgid "Fingerprint mismatch for %s: Got %s, expected %s"
-msgstr "Fingerabdruck von %s stimmt nicht überein: Erhalten %s, erwartet %s"
-
-#: ../src/common/connection.py:532
+#: ../src/common/connection.py:511
 msgid "Check your connection or try again later"
 msgstr "Überprüfen Sie die Verbindung oder versuchen Sie es später noch einmal"
 
-#: ../src/common/connection.py:558
+#: ../src/common/connection.py:536
 #, python-format
 msgid "Authentication failed with \"%s\""
 msgstr "Authentifizierung mit \"%s\" fehlgeschlagen"
 
-#: ../src/common/connection.py:559
+#: ../src/common/connection.py:538
 msgid "Please check your login and password for correctness."
 msgstr "Bitte überprüfen Sie ihren Benutzernamen und Passwort."
 
-#: ../src/common/connection.py:586
+#: ../src/common/connection.py:581
 msgid "Error while removing privacy list"
 msgstr "Fehler beim Entfernen der Privatliste"
 
-#: ../src/common/connection.py:587
+#: ../src/common/connection.py:582
 #, python-format
-msgid "Privacy list %s has not been removed. It is maybe active in one of your connected resources. Deactivate it and try again."
-msgstr "Privatliste %s wurde nicht entfernt. Möglicherweise ist die Privatliste noch in einer Ihrer Verbindungen aktiv. Deaktivieren Sie diese und versuchen Sie es erneut."
-
-#. We didn't set a passphrase
-#: ../src/common/connection.py:685
-#: ../src/common/zeroconf/connection_zeroconf.py:156
-msgid "OpenPGP passphrase was not given"
-msgstr "Keine OpenPGP-Passphrase gewählt"
+msgid ""
+"Privacy list %s has not been removed. It is maybe active in one of your "
+"connected resources. Deactivate it and try again."
+msgstr ""
+"Privatliste %s wurde nicht entfernt. Möglicherweise ist die Privatliste noch "
+"in einer Ihrer Verbindungen aktiv. Deaktivieren Sie diese und versuchen Sie "
+"es erneut."
 
 #. we're not english
 #. one  in locale and one en
-#: ../src/common/connection.py:814
+#: ../src/common/connection.py:855
 msgid "[This message is *encrypted* (See :JEP:`27`]"
 msgstr "[Diese Nachricht ist *verschlüsselt* (Siehe: JEP:`27`)]"
 
-#: ../src/common/connection.py:870
-#: ../src/common/zeroconf/connection_zeroconf.py:397
+#: ../src/common/connection.py:929
+#: ../src/common/zeroconf/connection_zeroconf.py:437
 #, python-format
 msgid ""
 "Subject: %s\n"
@@ -6073,486 +7384,487 @@ msgstr ""
 "Thema: %s\n"
 "%s"
 
-#: ../src/common/connection.py:1010
+#: ../src/common/connection.py:1112
 msgid "Not fetched because of invisible status"
 msgstr "Nicht abgeholt aufgrund eines Unsichtbar-Status"
 
-#: ../src/common/contacts.py:271
+#: ../src/common/contacts.py:299
 msgid "Not in roster"
 msgstr "Nicht in der Kontaktliste"
 
 #. only say that to non Windows users
-#: ../src/common/dbus_support.py:33
+#: ../src/common/dbus_support.py:41
 msgid "D-Bus python bindings are missing in this computer"
 msgstr "Auf diesem Computer fehlen die Python Bibliotheken für D-Bus"
 
-#: ../src/common/dbus_support.py:34
+#: ../src/common/dbus_support.py:42
 msgid "D-Bus capabilities of Gajim cannot be used"
 msgstr "Gajims D-BUS-Möglichkeiten können nicht genutzt werden"
 
-#: ../src/common/exceptions.py:22
+#: ../src/common/exceptions.py:27
 msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
-msgstr "pysqlite2 (auch python-pysqlite2 genannt) Abhängigkeit fehlt. Beende ..."
+msgstr ""
+"pysqlite2 (auch python-pysqlite2 genannt) Abhängigkeit fehlt. Beende ..."
 
-#: ../src/common/exceptions.py:30
+#: ../src/common/exceptions.py:44
 msgid "Service not available: Gajim is not running, or remote_control is False"
-msgstr "Dienst nicht verfügbar: Gajim ist nicht aktiv oder remote_control ist deaktiviert"
+msgstr ""
+"Dienst nicht verfügbar: Gajim ist nicht aktiv oder remote_control ist "
+"deaktiviert"
 
-#: ../src/common/exceptions.py:38
+#: ../src/common/exceptions.py:52
 msgid "D-Bus is not present on this machine or python module is missing"
 msgstr "D-Bus auf diesem Computer nicht vorhanden oder das Python-Modul fehlt"
 
-#: ../src/common/exceptions.py:46
+#: ../src/common/exceptions.py:60
 msgid ""
 "Session bus is not available.\n"
 "Try reading http://trac.gajim.org/wiki/GajimDBus"
-msgstr "Sitzungsbus ist nicht verfügbar.\"Bitte lesen Sie http://trac.gajim.org/wiki/GajimDBus (Englisch)"
+msgstr ""
+"Sitzungsbus ist nicht verfügbar.\"Bitte lesen Sie http://trac.gajim.org/wiki/"
+"GajimDBus (Englisch)"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "one"
 msgstr "Eins"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "two"
 msgstr "Zwei"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "three"
 msgstr "Drei"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "four"
 msgstr "Vier"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "five"
 msgstr "Fünf"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "six"
 msgstr "Sechs"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "seven"
 msgstr "Sieben"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "eight"
 msgstr "Acht"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "nine"
 msgstr "Neun"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "ten"
 msgstr "Zehn"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "eleven"
 msgstr "Elf"
 
-#: ../src/common/fuzzyclock.py:44
+#: ../src/common/fuzzyclock.py:49
 msgid "twelve"
 msgstr "Zwölf"
 
 #. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). '''
 #. A "singular-form". It is used when talking about hour 0
-#: ../src/common/fuzzyclock.py:47
-#: ../src/common/fuzzyclock.py:55
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
 msgid "$0 o'clock"
 msgstr "%0 Uhr"
 
-#: ../src/common/fuzzyclock.py:47
-#: ../src/common/fuzzyclock.py:55
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
 msgid "five past $0"
 msgstr "fünf nach %0"
 
-#: ../src/common/fuzzyclock.py:48
-#: ../src/common/fuzzyclock.py:56
+#: ../src/common/fuzzyclock.py:53 ../src/common/fuzzyclock.py:61
 msgid "ten past $0"
 msgstr "zehn nach %0"
 
-#: ../src/common/fuzzyclock.py:48
-#: ../src/common/fuzzyclock.py:56
+#: ../src/common/fuzzyclock.py:53 ../src/common/fuzzyclock.py:61
 msgid "quarter past $0"
 msgstr "viertel nach %0"
 
-#: ../src/common/fuzzyclock.py:49
-#: ../src/common/fuzzyclock.py:57
+#: ../src/common/fuzzyclock.py:54 ../src/common/fuzzyclock.py:62
 msgid "twenty past $0"
 msgstr "zwanzig nach %0"
 
-#: ../src/common/fuzzyclock.py:49
-#: ../src/common/fuzzyclock.py:57
+#: ../src/common/fuzzyclock.py:54 ../src/common/fuzzyclock.py:62
 msgid "twenty five past $0"
 msgstr "fünfundzwanzig nach %0"
 
-#: ../src/common/fuzzyclock.py:50
-#: ../src/common/fuzzyclock.py:58
+#: ../src/common/fuzzyclock.py:55 ../src/common/fuzzyclock.py:63
 msgid "half past $0"
 msgstr "dreißig nach %0"
 
-#: ../src/common/fuzzyclock.py:50
-#: ../src/common/fuzzyclock.py:58
+#: ../src/common/fuzzyclock.py:55 ../src/common/fuzzyclock.py:63
 msgid "twenty five to $1"
 msgstr "fünfundzwanzig vor %1"
 
-#: ../src/common/fuzzyclock.py:51
-#: ../src/common/fuzzyclock.py:59
+#: ../src/common/fuzzyclock.py:56 ../src/common/fuzzyclock.py:64
 msgid "twenty to $1"
 msgstr "zwanzig vor %1"
 
-#: ../src/common/fuzzyclock.py:51
-#: ../src/common/fuzzyclock.py:59
+#: ../src/common/fuzzyclock.py:56 ../src/common/fuzzyclock.py:64
 msgid "quarter to $1"
 msgstr "viertel vor %1"
 
-#: ../src/common/fuzzyclock.py:52
-#: ../src/common/fuzzyclock.py:60
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:65
 msgid "ten to $1"
 msgstr "zehn vor %1"
 
-#: ../src/common/fuzzyclock.py:52
-#: ../src/common/fuzzyclock.py:60
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:65
 msgid "five to $1"
 msgstr "fünf vor %1"
 
-#: ../src/common/fuzzyclock.py:52
-#: ../src/common/fuzzyclock.py:61
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:66
 msgid "$1 o'clock"
 msgstr "%1 Uhr"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Night"
 msgstr "Nacht"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Early morning"
 msgstr "Früh Morgens"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Morning"
 msgstr "Morgen"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Almost noon"
 msgstr "Fast Mittag"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Noon"
 msgstr "Mittag"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Afternoon"
 msgstr "Nachmittag"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Evening"
 msgstr "Abend"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Late evening"
 msgstr "Später Abend"
 
-#: ../src/common/fuzzyclock.py:67
+#: ../src/common/fuzzyclock.py:72
 msgid "Start of week"
 msgstr "Anfang der Woche"
 
-#: ../src/common/fuzzyclock.py:67
+#: ../src/common/fuzzyclock.py:72
 msgid "Middle of week"
 msgstr "Mitte der Woche"
 
-#: ../src/common/fuzzyclock.py:67
+#: ../src/common/fuzzyclock.py:72
 msgid "End of week"
 msgstr "Ende der Woche"
 
-#: ../src/common/fuzzyclock.py:68
+#: ../src/common/fuzzyclock.py:73
 msgid "Weekend!"
 msgstr "Wochenende!"
 
-#: ../src/common/helpers.py:114
+#: ../src/common/helpers.py:124
 msgid "Invalid character in username."
 msgstr "Ungültiges Zeichen im Benutzernamen"
 
-#: ../src/common/helpers.py:119
+#: ../src/common/helpers.py:129
 msgid "Server address required."
 msgstr "Server-Adresse wird benötigt."
 
-#: ../src/common/helpers.py:124
+#: ../src/common/helpers.py:134
 msgid "Invalid character in hostname."
 msgstr "Ungültiges Zeichen in Hostname."
 
-#: ../src/common/helpers.py:130
+#: ../src/common/helpers.py:140
 msgid "Invalid character in resource."
 msgstr "Ungültiges Zeichen in Resource."
 
 #. GiB means gibibyte
-#: ../src/common/helpers.py:170
+#: ../src/common/helpers.py:180
 #, python-format
 msgid "%s GiB"
 msgstr "%s GiB"
 
 #. GB means gigabyte
-#: ../src/common/helpers.py:173
+#: ../src/common/helpers.py:183
 #, python-format
 msgid "%s GB"
 msgstr "%s GB"
 
 #. MiB means mibibyte
-#: ../src/common/helpers.py:177
+#: ../src/common/helpers.py:187
 #, python-format
 msgid "%s MiB"
 msgstr "%s MiB"
 
 #. MB means megabyte
-#: ../src/common/helpers.py:180
+#: ../src/common/helpers.py:190
 #, python-format
 msgid "%s MB"
 msgstr "%s MB"
 
 #. KiB means kibibyte
-#: ../src/common/helpers.py:184
+#: ../src/common/helpers.py:194
 #, python-format
 msgid "%s KiB"
 msgstr "%s KiB"
 
 #. KB means kilo bytes
-#: ../src/common/helpers.py:187
+#: ../src/common/helpers.py:197
 #, python-format
 msgid "%s KB"
 msgstr "%s kB"
 
 #. B means bytes
-#: ../src/common/helpers.py:190
+#: ../src/common/helpers.py:200
 #, python-format
 msgid "%s B"
 msgstr "%s B"
 
-#: ../src/common/helpers.py:219
+#: ../src/common/helpers.py:231
 msgid "_Busy"
 msgstr "_Beschäftigt"
 
-#: ../src/common/helpers.py:221
+#: ../src/common/helpers.py:233
 msgid "Busy"
 msgstr "Beschäftigt"
 
-#: ../src/common/helpers.py:224
+#: ../src/common/helpers.py:236
 msgid "_Not Available"
 msgstr "_Nicht verfügbar"
 
-#: ../src/common/helpers.py:229
+#: ../src/common/helpers.py:241
 msgid "_Free for Chat"
 msgstr "_Frei zum Chatten"
 
-#: ../src/common/helpers.py:231
+#: ../src/common/helpers.py:243
 msgid "Free for Chat"
 msgstr "Frei zum Chatten"
 
-#: ../src/common/helpers.py:234
+#: ../src/common/helpers.py:246
 msgid "_Available"
 msgstr "_Angemeldet"
 
-#: ../src/common/helpers.py:236
-msgid "Available"
-msgstr "Angemeldet"
-
-#: ../src/common/helpers.py:238
+#: ../src/common/helpers.py:250
 msgid "Connecting"
 msgstr "Verbinde"
 
-#: ../src/common/helpers.py:241
+#: ../src/common/helpers.py:253
 msgid "A_way"
 msgstr "Ab_wesend"
 
-#: ../src/common/helpers.py:246
+#: ../src/common/helpers.py:258
 msgid "_Offline"
 msgstr "A_bgemeldet"
 
-#: ../src/common/helpers.py:248
+#: ../src/common/helpers.py:260
 msgid "Offline"
 msgstr "Abgemeldet"
 
-#: ../src/common/helpers.py:251
+#: ../src/common/helpers.py:263
 msgid "_Invisible"
 msgstr "_Unsichtbar"
 
-#: ../src/common/helpers.py:257
+#: ../src/common/helpers.py:269
 msgid "?contact has status:Unknown"
 msgstr "Unbekannt"
 
-#: ../src/common/helpers.py:259
+#: ../src/common/helpers.py:271
 msgid "?contact has status:Has errors"
 msgstr "Hat Fehler"
 
-#: ../src/common/helpers.py:264
+#: ../src/common/helpers.py:276
 msgid "?Subscription we already have:None"
 msgstr "Keine"
 
-#: ../src/common/helpers.py:266
+#: ../src/common/helpers.py:278
 msgid "To"
 msgstr "An"
 
-#: ../src/common/helpers.py:270
+#: ../src/common/helpers.py:282
 msgid "Both"
 msgstr "Beide"
 
-#: ../src/common/helpers.py:278
+#: ../src/common/helpers.py:290
 msgid "?Ask (for Subscription):None"
 msgstr "Keine"
 
-#: ../src/common/helpers.py:280
+#: ../src/common/helpers.py:292
 msgid "Subscribe"
 msgstr "Abonnieren"
 
-#: ../src/common/helpers.py:289
+#: ../src/common/helpers.py:301
 msgid "?Group Chat Contact Role:None"
 msgstr "Keine"
 
-#: ../src/common/helpers.py:292
+#: ../src/common/helpers.py:304
 msgid "Moderators"
 msgstr "Moderatoren"
 
-#: ../src/common/helpers.py:294
+#: ../src/common/helpers.py:306
 msgid "Moderator"
 msgstr "Moderator"
 
-#: ../src/common/helpers.py:297
+#: ../src/common/helpers.py:309
 msgid "Participants"
 msgstr "Teilnehmer"
 
-#: ../src/common/helpers.py:299
+#: ../src/common/helpers.py:311
 msgid "Participant"
 msgstr "Teilnehmer"
 
-#: ../src/common/helpers.py:302
+#: ../src/common/helpers.py:314
 msgid "Visitors"
 msgstr "Besucher"
 
-#: ../src/common/helpers.py:304
+#: ../src/common/helpers.py:316
 msgid "Visitor"
 msgstr "Besucher"
 
-#: ../src/common/helpers.py:310
+#: ../src/common/helpers.py:322
 msgid "?Group Chat Contact Affiliation:None"
 msgstr "?Gruppenchat Kontaktverbindung:Keine"
 
-#: ../src/common/helpers.py:312
+#: ../src/common/helpers.py:324
 msgid "Owner"
 msgstr "Besitzer"
 
-#: ../src/common/helpers.py:314
+#: ../src/common/helpers.py:326
 msgid "Administrator"
 msgstr "Administrator"
 
-#: ../src/common/helpers.py:316
+#: ../src/common/helpers.py:328
 msgid "Member"
 msgstr "Mitglied"
 
-#: ../src/common/helpers.py:355
+#: ../src/common/helpers.py:367
 msgid "is paying attention to the conversation"
 msgstr "beobachtet diese Unterhaltung"
 
-#: ../src/common/helpers.py:357
+#: ../src/common/helpers.py:369
 msgid "is doing something else"
 msgstr "tut etwas anderes"
 
-#: ../src/common/helpers.py:359
+#: ../src/common/helpers.py:371
 msgid "is composing a message..."
 msgstr "schreibt im Moment"
 
 #. paused means he or she was composing but has stopped for a while
-#: ../src/common/helpers.py:362
+#: ../src/common/helpers.py:374
 msgid "paused composing a message"
 msgstr "macht gerade eine Schreibpause"
 
-#: ../src/common/helpers.py:364
+#: ../src/common/helpers.py:376
 msgid "has closed the chat window or tab"
 msgstr "hat das Chatfenster oder den Tab geschlossen"
 
-#: ../src/common/helpers.py:890
+#: ../src/common/helpers.py:947 ../src/common/helpers.py:954
 #, python-format
-msgid " %d unread message"
-msgid_plural " %d unread messages"
-msgstr[0] " %d ungelesene Nachricht"
-msgstr[1] " %d ungelesene Nachrichten"
+msgid "%d message pending"
+msgid_plural "%d messages pending"
+msgstr[0] "%d Nachricht schwebend"
+msgstr[1] "%d Nachrichten schwebend"
 
-#: ../src/common/helpers.py:896
+#: ../src/common/helpers.py:960
 #, python-format
-msgid " %d unread single message"
-msgid_plural " %d unread single messages"
-msgstr[0] " %d ungelesene Einzel-Nachricht"
-msgstr[1] " %d ungelesene Einzel-Nachrichten"
+msgid " from room %s"
+msgstr "Von Gruppenchat %s"
 
-#: ../src/common/helpers.py:902
+#: ../src/common/helpers.py:963 ../src/common/helpers.py:982
 #, python-format
-msgid " %d unread group chat message"
-msgid_plural " %d unread group chat messages"
-msgstr[0] " %d ungelesene Gruppenchat-Nachricht"
-msgstr[1] " %d ungelesene Gruppenchat-Nachrichten"
+msgid " from user %s"
+msgstr "Von Benutzer %s"
 
-#: ../src/common/helpers.py:908
+#: ../src/common/helpers.py:965
 #, python-format
-msgid " %d unread private message"
-msgid_plural " %d unread private messages"
-msgstr[0] " %d ungelesene private Nachricht"
-msgstr[1] " %d ungelesene private Nachrichten"
+msgid " from %s"
+msgstr "Von %s"
 
-#: ../src/common/helpers.py:918
-#: ../src/common/helpers.py:920
+#: ../src/common/helpers.py:972 ../src/common/helpers.py:979
+#, python-format
+msgid "%d event pending"
+msgid_plural "%d events pending"
+msgstr[0] "%d Ereignis anstehend"
+msgstr[1] "%d Ereignisse anstehend"
+
+#: ../src/common/helpers.py:1012
 #, python-format
 msgid "Gajim - %s"
 msgstr "Gajim - %s"
 
 #. we talk about a file
-#: ../src/common/optparser.py:59
+#: ../src/common/optparser.py:65
 #, python-format
 msgid "error: cannot open %s for reading"
 msgstr "Fehler: %s kann nicht zum Lesen geöffnet werden"
 
-#: ../src/common/optparser.py:181
-msgid "gtk+"
-msgstr "gtk+"
-
-#: ../src/common/optparser.py:190
-#: ../src/common/optparser.py:191
+#: ../src/common/optparser.py:215 ../src/common/optparser.py:216
 msgid "cyan"
 msgstr "cyan"
 
-#: ../src/common/optparser.py:308
+#: ../src/common/optparser.py:332
 msgid "migrating logs database to indices"
 msgstr "migriere Logdatenbank zu Indices"
 
-#: ../src/common/passwords.py:82
+#: ../src/common/passwords.py:88
 #, python-format
 msgid "Gajim account %s"
 msgstr "Gajim-Konto %s"
 
-#: ../src/common/zeroconf/client_zeroconf.py:189
-msgid "Connection to host could not be established: Incorrect answer from server."
-msgstr "Verbindung zum Host konnte nicht aufgebaut werden: Fehlerhafte Antwort vom Server."
-
-#: ../src/common/zeroconf/client_zeroconf.py:205
+#: ../src/common/zeroconf/client_zeroconf.py:149
+#: ../src/common/zeroconf/client_zeroconf.py:232
 msgid "Connection to host could not be established"
 msgstr "Verbindung zu Host konnte nicht hergestellt werden"
 
-#: ../src/common/zeroconf/client_zeroconf.py:339
-msgid "Connection to host could not be established: Timeout while sending data."
-msgstr "Verbindung zum Host konnte nicht hergestellt werden: Zeitüberschreitung beim Senden von Daten."
+#: ../src/common/zeroconf/client_zeroconf.py:206
+msgid ""
+"Connection to host could not be established: Incorrect answer from server."
+msgstr ""
+"Verbindung zum Host konnte nicht aufgebaut werden: Fehlerhafte Antwort vom "
+"Server."
+
+#: ../src/common/zeroconf/client_zeroconf.py:366
+msgid ""
+"Connection to host could not be established: Timeout while sending data."
+msgstr ""
+"Verbindung zum Host konnte nicht hergestellt werden: Zeitüberschreitung beim "
+"Senden von Daten."
 
-#: ../src/common/zeroconf/client_zeroconf.py:632
+#: ../src/common/zeroconf/client_zeroconf.py:652
 msgid "Contact is offline. Your message could not be sent."
 msgstr "Kontakt ist offline. Ihre Nachricht konnte nicht versendet werden."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:197
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:243
+#, python-format
+msgid ""
+"The host %s you configured as the ft_add_hosts_to_send advanced option is "
+"not valid, so ignored."
+msgstr ""
+"Der Host %s, den Sie für die erweiterte Option ft_override_host_to_send "
+"angeben haben ist ungültig und wird ignoriert."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:210
 msgid "To continue sending and receiving messages, you will need to reconnect."
-msgstr "Um weiterhin Nachrichten Senden und Empfangen zu können, müssen Sie sich erneut verbinden."
+msgstr ""
+"Um weiterhin Nachrichten Senden und Empfangen zu können, müssen Sie sich "
+"erneut verbinden."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:207
+#: ../src/common/zeroconf/connection_zeroconf.py:233
 msgid "Avahi error"
 msgstr "Avahi-Fehler"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:207
+#: ../src/common/zeroconf/connection_zeroconf.py:233
 #, python-format
 msgid ""
 "%s\n"
@@ -6561,233 +7873,567 @@ msgstr ""
 "%s\n"
 "Lokaler Nachrichtenversand funktioniert eventuell nicht richtig."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:218
+#: ../src/common/zeroconf/connection_zeroconf.py:244
 msgid "Please check if Avahi is installed."
 msgstr "Bitte überprüfen Sie, ob Avahi installiert ist."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:227
-#: ../src/common/zeroconf/connection_zeroconf.py:231
+#: ../src/common/zeroconf/connection_zeroconf.py:253
+#: ../src/common/zeroconf/connection_zeroconf.py:257
 msgid "Could not start local service"
 msgstr "Lokaler Dienst konnte nicht gestartet werden"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:228
+#: ../src/common/zeroconf/connection_zeroconf.py:254
 #, python-format
 msgid "Unable to bind to port %d."
 msgstr "Konnte nicht mit Port %d verbinden."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:232
-#: ../src/common/zeroconf/connection_zeroconf.py:325
+#: ../src/common/zeroconf/connection_zeroconf.py:258
+#: ../src/common/zeroconf/connection_zeroconf.py:353
 msgid "Please check if avahi-daemon is running."
 msgstr "Bitte überprüfen Sie, ob avahi-daemon läuft."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:324
+#: ../src/common/zeroconf/connection_zeroconf.py:352
 #, python-format
 msgid "Could not change status of account \"%s\""
 msgstr "Der Status des Kontos \"%s\" konnte nicht geändert werden."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:341
-msgid "You are not connected or not visible to others. Your message could not be sent."
-msgstr "Sie sind nicht verbunden oder für andere nicht sichtbar. Ihre Nachricht konnte nicht versendet werden."
+#: ../src/common/zeroconf/connection_zeroconf.py:369
+msgid ""
+"You are not connected or not visible to others. Your message could not be "
+"sent."
+msgstr ""
+"Sie sind nicht verbunden oder für andere nicht sichtbar. Ihre Nachricht "
+"konnte nicht versendet werden."
 
 #. we're not english
-#: ../src/common/zeroconf/connection_zeroconf.py:353
+#: ../src/common/zeroconf/connection_zeroconf.py:381
 msgid "[This message is encrypted]"
 msgstr "[Diese Nachricht ist verschlüsselt]"
 
-#: ../src/common/zeroconf/zeroconf.py:180
+#: ../src/common/zeroconf/zeroconf_avahi.py:183
+#: ../src/common/zeroconf/zeroconf_bonjour.py:194
 #, python-format
 msgid "Error while adding service. %s"
 msgstr "Fehler beim Hinzufügen des Dienstes. %s"
 
+#, fuzzy
+#~ msgid "Select the account with which to synchronise"
+#~ msgstr "JID des Kontakts mit dem Sie chatten möchten"
+
+#~ msgid "Save passphrase"
+#~ msgstr "Passphrase speichern"
+
+#~ msgid ""
+#~ "To continue, Gajim needs to access your stored secrets. Enter your "
+#~ "passphrase"
+#~ msgstr ""
+#~ "Um fortzufahren benötigt Gajim Zugriff auf Ihre gespeicherten Passwörter. "
+#~ "Geben Sie Ihre Passphrase ein"
+
+#, fuzzy
+#~ msgid "Confirm Passphrase"
+#~ msgstr "Falsche Passphrase"
+
+#, fuzzy
+#~ msgid "Enter your new passphrase again for confirmation"
+#~ msgstr "Erneut eingeben zur Bestätigung:"
+
+#, fuzzy
+#~ msgid "Create Passphrase"
+#~ msgstr "Passphrase speichern"
+
+#~ msgid "Passphrases did not match.\n"
+#~ msgstr "Passwörter stimmen nicht überein.\n"
+
+#~ msgid "Gajim needs you to create a passphrase to encrypt stored secrets"
+#~ msgstr ""
+#~ "Sie müssen eine Passphrase angeben um Ihre gespeicherten Passwörter zu "
+#~ "verschlüsseln"
+
+#~ msgid "Invite _Friends"
+#~ msgstr "_Freunde einladen"
+
+#~ msgid "Build custom query"
+#~ msgstr "Personalisierte Anfrage bauen"
+
+#~ msgid ""
+#~ "Enter a contact jid or MUC jid here to view its history.\n"
+#~ "If a contact is connected you can even enter his nick name.\n"
+#~ msgstr ""
+#~ "Geben Sie hier eine JID ein, im ihren Verlauf anzusehen.\n"
+#~ "Wenn ein Kontakt eingeloggt ist, können Sie sogar seinen Spitznamen "
+#~ "eingeben.\n"
+
+#~ msgid "Query Builder..."
+#~ msgstr "Anfrage-Baukasten ..."
+
+#~ msgid "%s does not appear to be a valid JID"
+#~ msgstr "%s scheint keine gültige JID zu sein"
+
+#~ msgid "_Discover Services..."
+#~ msgstr "_Durchsuche Dienste..."
+
+#~ msgid "_Retype Password:"
+#~ msgstr "Passwort e_rneut eingeben:"
+
+#~ msgid "_Use proxy"
+#~ msgstr "_Proxy benutzen"
+
+#~ msgid "Accounts"
+#~ msgstr "Konten"
+
+#~ msgid ""
+#~ "If checked, all local contacts that use a Bonjour compatible chat client "
+#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to "
+#~ "be connected to a jabber server for it to work.\n"
+#~ "This is only available if python-avahi is installed and avahi-daemon is "
+#~ "running."
+#~ msgstr ""
+#~ "Wenn aktiviert, werden alle lokalen Kontakte, welche einen zu Bonjour "
+#~ "kompatiblen Chat-Client (Wie z.B. iChat, Trillian oder Gaim) nutzen, in "
+#~ "Ihrer Kontaktliste angezeigt. Dafür müssen Sie nicht mit einem Jabber-"
+#~ "Server verbunden sein.\n"
+#~ "Dies ist nur möglich, wenn python-avahi verfügbar ist und avahi-daemon "
+#~ "läuft (Automatische Diensterkennung)."
+
+#~ msgid ""
+#~ "If you have 2 or more accounts and this is checked, Gajim will list all "
+#~ "contacts as if you had one account"
+#~ msgstr ""
+#~ "Wenn Sie zwei oder mehr Konten haben und diese Option gewählt ist, wird "
+#~ "Gajim alle Kontakte auflisten, als hätten Sie nur ein Konto"
+
+#~ msgid "_Enable link-local messaging"
+#~ msgstr "_Kontakte im LAN anzeigen"
+
+#~ msgid "_Modify"
+#~ msgstr "_Ändern"
+
+#~ msgid "_Compact View    Alt+C"
+#~ msgstr "_Kompakte Ansicht Alt+C"
+
+#~ msgid "<b>Interface Customization</b>"
+#~ msgstr "<b>Benutzerdefiniertes Aussehen</b>"
+
+#~ msgid "Also known as iChat style"
+#~ msgstr "Auch als iChat-Stil bekannt"
+
+#~ msgid "Chat"
+#~ msgstr "Chat"
+
+#~ msgid "E_very 5 minutes"
+#~ msgstr "Alle 5 _Minuten"
+
+#~ msgid ""
+#~ "Gajim will automatically show new events by popping up the relevant window"
+#~ msgstr ""
+#~ "Gajim wird neue Ereignisse automatisch anzeigen, indem das betreffende "
+#~ "Fenster geöffnet wird"
+
+#~ msgid ""
+#~ "Gajim will notify you for new events via a popup in the bottom right of "
+#~ "the screen"
+#~ msgstr ""
+#~ "Gajim wird Sie über neue Ereignisse mit einem Popup in der rechten "
+#~ "unteren Ecke des Bildschirms benachrichtigen"
+
+#~ msgid ""
+#~ "Gajim will notify you via a popup window in the bottom right of the "
+#~ "screen about contacts that just signed in"
+#~ msgstr ""
+#~ "Gajim wird Sie über ein Popup-Fenster in der rechten unteren Ecke des "
+#~ "Bildschirmes über Kontakte informieren, die sich gerade angemeldet haben"
+
+#~ msgid ""
+#~ "Gajim will only change the icon of the contact that triggered the new "
+#~ "event"
+#~ msgstr ""
+#~ "Gajim wird nur das Symbol des Kontaktes ändern, von dem die neue "
+#~ "Nachricht kommt"
+
+#~ msgid ""
+#~ "If checked, Gajim will remember the roster and chat window positions in "
+#~ "the screen and the sizes of them next time you run it"
+#~ msgstr ""
+#~ "Wenn aktiviert, erinnert sich Gajim an die Position und Größe der "
+#~ "Kontaktliste auf dem Bildschirm beim nächsten Start"
+
+#~ msgid "On every _message"
+#~ msgstr "In jeder _Zeile"
+
+#~ msgid "Outgoing Chat state noti_fications:"
+#~ msgstr "_Sende Chatstatus:"
+
+#~ msgid "Print time:"
+#~ msgstr "Zeit anzeigen:"
+
+#~ msgid "Save _position and size for roster and chat windows"
+#~ msgstr "Speichere _Position und Größe der Kontaktliste und Chatfenster"
+
+#~ msgid "Show only in _roster"
+#~ msgstr "Nur in der _Kontaktliste anzeigen"
+
+#~ msgid "Use t_rayicon (aka. notification area icon)"
+#~ msgstr "Verwende _Trayicon (Benachrichtigungs-Icon)"
+
+#~ msgid ""
+#~ "When a new event (message, file transfer request etc..) is received, the "
+#~ "following methods may be used to inform you about it. Please note that "
+#~ "events about new messages only occur if it is a new message from a "
+#~ "contact you are not already chatting with"
+#~ msgstr ""
+#~ "Wenn ein neues Ereignis (Nachricht, Dateitransferanfrage usw.) empfangen "
+#~ "wird, können die folgenden Methoden zur Benachrichtigung verwendet "
+#~ "werden. Bitte beachten Sie, dass Ereignisse über neue Nachrichten nur "
+#~ "auftreten, wenn Sie eine Nachricht von einem Kontakt erhalten, mit dem "
+#~ "Sie nicht bereits chatten"
+
+#~ msgid "_Never"
+#~ msgstr "_Nie"
+
+#~ msgid "_Notify me about it"
+#~ msgstr "Be_nachrichtigen"
+
+#~ msgid "_Pop it up"
+#~ msgstr "_Öffnen"
+
+#~ msgid "_Remove from Roster"
+#~ msgstr "Entfernen von _Kontaktliste"
+
+#~ msgid "_Filter:"
+#~ msgstr "_Filter:"
+
+#~ msgid ""
+#~ "If that is not your language for which you want to highlight misspelled "
+#~ "words, then please set your $LANG as appropriate. Eg. for French do "
+#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to "
+#~ "make it global in /etc/profile.\n"
+#~ "\n"
+#~ "Highlighting misspelled words feature will not be used"
+#~ msgstr ""
+#~ "Wenn das nicht die Sprache ist, für die Sie falschgeschriebene Wörter "
+#~ "hervorheben möchten, setzen Sie bitte Ihre $LANG entsprechend. Z.B. für "
+#~ "Französisch: export LANG=fr_FR oder export LANG=fr_FR.UTF-8 in ~/."
+#~ "bash_profile or global in /etc/profile.\n"
+#~ "\n"
+#~ "Falschgeschriebene Wörter werden nicht hervorgehoben"
+
+#~ msgid "Every %s _minutes"
+#~ msgstr "Alle %s _Minuten"
+
+#~ msgid "You must enter a password for the new account."
+#~ msgstr "Sie müssen ein Passwort für das neue Konto eingeben."
+
+#~ msgid "Drop %s in group %s"
+#~ msgstr "Setze %s in Gruppe %s"
+
+#~ msgid "Make %s and %s metacontacts"
+#~ msgstr "Mache %s und %s Metakontakte"
+
+#~ msgid "Hides the buttons in two persons chat window."
+#~ msgstr "Versteckt die Knöpfe im Zwei-Personen-Chatfenster"
+
+#~ msgid "Security error connecting to \"%s\""
+#~ msgstr "Konnte nicht mit %s verbinden"
+
+#~ msgid ""
+#~ "The server's key has changed, or someone is trying to hack your "
+#~ "connection."
+#~ msgstr ""
+#~ "Der Schlüssel des Servers wurde geändert oder jemand versucht ihre "
+#~ "Verbindung zu hacken."
+
+#~ msgid "Unable to check fingerprint for %s. Connection could be insecure."
+#~ msgstr ""
+#~ "Konnte Fingerabdruck von %s nicht überprüfen. Die Verbindung ist "
+#~ "möglicherweise unsicher."
+
+#~ msgid "Missing fingerprint in SSL connection to %s"
+#~ msgstr "Fehlender Fingerabdruck in der SSL-Verbindung zu %s"
+
+#~ msgid "Fingerprint mismatch for %s: Got %s, expected %s"
+#~ msgstr "Fingerabdruck von %s stimmt nicht überein: Erhalten %s, erwartet %s"
+
+#~ msgid " %d unread single message"
+#~ msgid_plural " %d unread single messages"
+#~ msgstr[0] " %d ungelesene Einzel-Nachricht"
+#~ msgstr[1] " %d ungelesene Einzel-Nachrichten"
+
+#~ msgid " %d unread group chat message"
+#~ msgid_plural " %d unread group chat messages"
+#~ msgstr[0] " %d ungelesene Gruppenchat-Nachricht"
+#~ msgstr[1] " %d ungelesene Gruppenchat-Nachrichten"
+
+#~ msgid " %d unread private message"
+#~ msgid_plural " %d unread private messages"
+#~ msgstr[0] " %d ungelesene private Nachricht"
+#~ msgstr[1] " %d ungelesene private Nachrichten"
+
+#~ msgid "gtk+"
+#~ msgstr "gtk+"
+
 #~ msgid "Private Chat"
 #~ msgstr "Privater Chat"
+
 #~ msgid "Group Chat"
 #~ msgstr "Gruppenchat"
+
 #~ msgid "invisible"
 #~ msgstr "unsichtbar"
+
 #~ msgid "offline"
 #~ msgstr "abgemeldet"
+
 #~ msgid "I'm %s"
 #~ msgstr "Ich bin %s"
+
 #~ msgid "2003-12-13T18:30:02Z"
 #~ msgstr "2003-12-13T18:30:02Z"
+
 #~ msgid "<small>Romeo and Juliet</small>"
 #~ msgstr "<small>Romeo und Julia</small>"
+
 #~ msgid "Old stories"
 #~ msgstr "Alte Geschichten"
+
 #~ msgid "Soliloquy"
 #~ msgstr "Selbstgespräch"
+
 #~ msgid "A_fter nickname:"
 #~ msgstr "Nach dem Spit_znamen:"
+
 #~ msgid "B_efore nickname:"
 #~ msgstr "Vor d_em Spitznamen:"
+
 #~ msgid "_After time:"
 #~ msgstr "_Nach der Zeit:"
+
 #~ msgid "_Before time:"
 #~ msgstr "_Vor der Zeit:"
+
 #~ msgid "_Publish"
 #~ msgstr "_Veröffentlichen"
+
 #~ msgid "_Retrieve"
 #~ msgstr "Ab_rufen"
+
 #~ msgid "Information published"
 #~ msgstr "Informationen veröffentlicht"
+
 #~ msgid "Without a connection, you can not get your contact information."
 #~ msgstr "Sie müssen angemeldet sein, um Kontakt-Informationen abzurufen"
+
 #~ msgid "This is result of query."
 #~ msgstr "Dies ist das Ergebnis der Anfrage."
+
 #~ msgid "Edit items on the list"
 #~ msgstr "Bearbeite Punkte auf der Liste"
+
 #~ msgid "Receive a Message"
 #~ msgstr "Nachricht empfangen"
+
 #~ msgid "Role: "
 #~ msgstr "Rolle:"
-#~ msgid "Affiliation: "
-#~ msgstr "Zugehörigkeit: "
+
 #~ msgid ""
 #~ "Sound to play when any MUC message arrives. (This setting is taken into "
 #~ "account only if notify_on_all_muc_messages is True)"
 #~ msgstr ""
 #~ "Abzuspielender Ton, falls eine MUC-Nachricht ankommt. (Diese Einstellung "
 #~ "wirdnur beachtet, wenn notify_on_all_muc_messages aktiviert ist)"
+
 #~ msgid "Create your own Privacy Lists"
 #~ msgstr "Erstelle eigene Privatliste"
+
 #~ msgid "Server-based Privacy Lists"
 #~ msgstr "Server-basierte Privatliste"
+
 #~ msgid "Contact _Info"
 #~ msgstr "Kontakt-_Info"
+
 #~ msgid "Jabber ID"
 #~ msgstr "Jabber-ID"
+
 #~ msgid "User ID"
 #~ msgstr "Benutzer-ID"
+
 #~ msgid "Invalid room or server name"
 #~ msgstr "Ungültiger Raum oder Servername"
+
 #~ msgid "Unknown D-Bus version: %s"
 #~ msgstr "Unbekannte D-BUS-Version: %s"
+
 #~ msgid "vCard publication succeeded"
 #~ msgstr "vCard erfolgreich veröffentlicht"
+
 #~ msgid "Your personal information has been published successfully."
 #~ msgstr "Ihre persönlichen Informationen wurden erfolgreich veröffentlicht."
+
 #~ msgid "Gajim - %d unread message"
 #~ msgid_plural "Gajim - %d unread messages"
 #~ msgstr[0] "Gajim - %d ungelesene Nachricht"
 #~ msgstr[1] "Gajim - %d ungelesene Nachrichten"
+
 #~ msgid "Since %s"
 #~ msgstr "Seit %s"
+
 #~ msgid "Personal details"
 #~ msgstr "Persönliche Details"
+
 #~ msgid "Be right back"
 #~ msgstr "Bin gleich zurück"
+
 #~ msgid "Jabber"
 #~ msgstr "Jabber"
+
 #~ msgid "Migrating Logs..."
 #~ msgstr "Migriere Logs ..."
+
 #~ msgid "Automatically authorize contact"
 #~ msgstr "Kontakt automatisch autorisieren"
+
 #~ msgid "Send File"
 #~ msgstr "Datei Senden"
+
 #~ msgid "Underline"
 #~ msgstr "Unterstreichen"
+
 #~ msgid "_Join New Room..."
 #~ msgstr "_Neuen Raum betreten..."
-#~ msgid "Usage: /%s, sets the groupchat window to compact mode."
-#~ msgstr "Bedienung: /%s, stellt das Gruppenchat-Fenster auf Kompaktmodus."
+
 #~ msgid "<b>Please modify your special notification below</b>"
 #~ msgstr "<b>Bitte wählen Sie eine der Optionen:</b>"
+
 #~ msgid "Delete Message of the Day"
 #~ msgstr "Lösche Nachricht des Tages"
-#~ msgid "I want a notification popup:"
-#~ msgstr "Sende Statusbenachrichtigungen:"
+
 #~ msgid "I want to listen to:"
 #~ msgstr "%s möchte ihnen eine Datei senden:"
+
 #~ msgid "Send _New Message..."
 #~ msgstr "Sende _neue Nachricht..."
+
 #~ msgid "Set Message of the Day"
 #~ msgstr "Setze Message of the Day"
+
 #~ msgid "Update Message of the Day"
 #~ msgstr "Aktualisiere Nachricht des Tages (MOTD)"
+
 #~ msgid "_XML Console..."
 #~ msgstr "_XML Konsole..."
-#~ msgid "Choose Avatar"
-#~ msgstr "Avatar auswählen"
+
 #~ msgid "Use compact view when you open a chat window"
 #~ msgstr "Kompaktansicht verwenden, wenn Sie ein Chatfenster öffnen"
+
 #~ msgid "Use compact view when you open a group chat window"
 #~ msgstr "Verwende Kompaktansicht wenn ein Gruppenchat-Fenster geöffnet wird"
+
 #~ msgid "plain"
 #~ msgstr "plain"
+
 #~ msgid "Send"
 #~ msgstr "Senden"
+
 #~ msgid "%(nickname)s in room %(room_name)s has sent you a new message."
 #~ msgstr ""
 #~ "%(nickname)s im Raum %(room_name)s hat Ihnen eine neue Nachricht gesendet."
+
 #~ msgid "%s has sent you a new message."
 #~ msgstr "%s hat Ihnen eine neue Nachricht gesendet."
+
 #~ msgid "GUI Migration failed"
 #~ msgstr "vCard Veröffentlichung fehlgeschlagen"
+
 #~ msgid "Logs have been successfully migrated to the database."
 #~ msgstr "Logs wurden erfolgreich in die Datenbank migriert."
+
 #~ msgid "If checked, Gajim will also have a trayicon"
 #~ msgstr "Wenn aktiviert, wird Gajim ein Tray-Symbol verwenden"
+
 #~ msgid "Start Chat with Contact"
 #~ msgstr "Starte Chat mit Account %s"
+
 #~ msgid "All contacts in this group are offline or have errors"
 #~ msgstr "Alle Kontakte dieser Gruppe sind abgemeldet oder haben Fehler"
+
 #~ msgid "Size: "
 #~ msgstr "Größe: "
+
 #~ msgid "Session bus is not available"
 #~ msgstr "Session-Bus nicht verfügbar"
+
 #~ msgid "Sound"
 #~ msgstr "Sound"
+
 #~ msgid "Image"
 #~ msgstr "Bild"
-#~ msgid "From %s"
-#~ msgstr "Von %s"
+
 #~ msgid "To %s"
 #~ msgstr "An %s"
+
 #~ msgid "You have been invited to the %(room_jid)s room by %(contact_jid)s"
 #~ msgstr "Sie wurden in den Raum %(room_jid)s von %(contact_jid)s eingeladen"
+
 #~ msgid "Manage Emoticons"
 #~ msgstr "Emoticons anpassen"
+
 #~ msgid "Or choose a preset message:"
 #~ msgstr "Oder wählen Sie eine voreingestellte Nachricht:"
+
 #~ msgid "Use _emoticons"
 #~ msgstr "_Emoticons verwenden"
+
 #~ msgid "_Set Image..."
 #~ msgstr "_Bild wählen..."
+
 #~ msgid "Switch to %s"
 #~ msgstr "Wechseln zu %s"
+
 #~ msgid "using account "
 #~ msgstr "mit Konto"
+
 #~ msgid "The filesize of image \"%s\" is too large"
 #~ msgstr "Die Dateigröße des Bildes \"%s\" ist zu groß"
+
 #~ msgid "The file must not be more than 32 kilobytes."
 #~ msgstr "Die Datei darf nicht größer als 32 Kilobytes sein."
+
 #~ msgid "Timeout"
 #~ msgstr "Timeout"
+
 #~ msgid "account: "
 #~ msgstr "Konto: "
+
 #~ msgid "Are you sure you want to leave rooms \"%s\"?"
 #~ msgstr "Möchten Sie die Räume \"%s\" wirklich verlassen?"
+
 #~ msgid "If you close this window, you will be disconnected from these rooms."
 #~ msgstr ""
 #~ "Wenn Sie dieses Fenster schließen, wird die Verbindung mit diesen Räumen "
 #~ "abgebrochen."
+
 #~ msgid "Activate/Disable notification for when a file transfer is complete"
 #~ msgstr "Benachrichtigung für beendete Dateitransfers ein/ausschalten"
+
 #~ msgid "Removing selected file transfer"
 #~ msgstr "Ausgewählten Dateitransfer entfernen"
+
 #~ msgid "Stoping selected file transfer"
 #~ msgstr "Bricht den ausgewählten Dateitransfer ab"
+
 #~ msgid ""
 #~ "If you close this tab and you have history disabled, the message will be "
 #~ "lost."
 #~ msgstr ""
 #~ "Wenn Sie diesen Reiter schließen und die History abgeschaltet haben, ist "
 #~ "die Nachricht verloren."
+
 #~ msgid "Cannot remove last group"
 #~ msgstr "Letzte Gruppe kann nicht entfernt werden"
+
 #~ msgid "At least one contact group must be present."
 #~ msgstr "Mindestens eine Gruppe wird benötigt."
+
 #~ msgid ""
 #~ "pysqlite2 (aka python-pysqlite2) dependency is missing. After you install "
 #~ "pysqlite3, if you want to migrate your logs to the new database, please "
@@ -6797,47 +8443,64 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s"
 #~ "Sie pysqlite2installiert haben, wenn Sie Ihre Logs in die neue Datenbank "
 #~ "migrieren möchte, lesen Siebitte: http://trac.gajim.org/wiki/"
 #~ "MigrateLogToDot9DB Beende ..."
-#~ msgid "Image is too big"
-#~ msgstr "Das Bild ist zu groß"
+
 #~ msgid ""
 #~ "Image for emoticon has to be less than or equal to 24 pixels in width and "
 #~ "24 in height."
 #~ msgstr ""
 #~ "Das Bild darf eine Höhe und Breite von je 24 Pixeln nicht überschreiten."
+
 #~ msgid "<b>Changes in latest version</b>"
 #~ msgstr "<b>Änderungen in der neuesten Version</b>"
+
 #~ msgid "Check for new _version on Gajim startup"
 #~ msgstr "Beim Start von Gajim auf neue _Versionen prüfen"
+
 #~ msgid "Log history"
 #~ msgstr "Log-Verlauf"
+
 #~ msgid "New version of Gajim available"
 #~ msgstr "Es ist eine neue Version von Gajim verfügbar"
+
 #~ msgid "Open Download Page"
 #~ msgstr "Download-Seite öffnen"
+
 #~ msgid "(%s/s)"
 #~ msgstr "(%s/s)"
+
 #~ msgid "Session bus is not available."
 #~ msgstr "Session-Bus nicht verfügbar."
+
 #~ msgid "with account "
 #~ msgstr "Konto: "
+
 #~ msgid "Chat with"
 #~ msgstr "Unterhalten mit"
+
 #~ msgid "as %s"
 #~ msgstr "als %s"
+
 #~ msgid "as "
 #~ msgstr "als "
+
 #~ msgid "Send _New Message"
 #~ msgstr "Sende _neue Nachricht"
+
 #~ msgid "Re_quest Authorization from"
 #~ msgstr "Autorisierung anfordern"
+
 #~ msgid "Send Authorization to"
 #~ msgstr "Autorisierung senden"
+
 #~ msgid "<b>Log</b>"
 #~ msgstr "<b>Log</b>"
+
 #~ msgid "Log presences in _contact's log file"
 #~ msgstr "Anwesenheit in _Kontakt-Logdateien schreiben"
+
 #~ msgid "Log presences in an _external file"
 #~ msgstr "Anwesenheit in eine _externe Datei speichern"
+
 #~ msgid ""
 #~ "You can set advanced account options by pressing Advanced button,or later "
 #~ "by clicking in Accounts menuitem under Edit menu from the main window."
@@ -6845,12 +8508,14 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s"
 #~ "Sie können die erweiterten Konten-Optionen durch Klicken des Erweitert-"
 #~ "Buttons erreichen, oder später durch klicken des Konten Menüitems im "
 #~ "Bearbeiten-Menü."
+
 #~ msgid ""
 #~ "Set value of 'key' to 'value'. If there is no such key, new item in the "
 #~ "preferences is inserted."
 #~ msgstr ""
 #~ "Setze den Wert von 'key' auf 'value'. Wenn kein solcher key existiert "
 #~ "wirdeine neuer Wert in den Einstellungen erstellt."
+
 #~ msgid ""
 #~ "When a new message is received which is not from a contact already in a "
 #~ "chat window, the three following actions may happen in order for you to "
@@ -6859,20 +8524,28 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s"
 #~ "Wenn eine neue Nachricht von einem neuen Kontakt in einem Chatfenster "
 #~ "empfangen wird, können die drei folgenden Aktionen ausgeführt werden, um "
 #~ "Sie darüber zu informieren"
+
 #~ msgid "_Earliest"
 #~ msgstr "_Erste"
+
 #~ msgid "_Latest"
 #~ msgstr "_Letzte"
+
 #~ msgid "_Previous"
 #~ msgstr "_Vorherige"
+
 #~ msgid "Filter query too short"
 #~ msgstr "Filteranfrage zu kurz"
+
 #~ msgid "Query must be at least 3 characters long."
 #~ msgstr "Anfrage muss wenigstens 3 Zeichen lang sein."
+
 #~ msgid "%s is now %s: %s"
 #~ msgstr "%s ist jetzt %s (%s)"
+
 #~ msgid "Allow controlling Gajim via D-Bus service."
 #~ msgstr "Erlaube die Steuerung von Gajim mit dem D-Bus Dienst."
+
 #~ msgid ""
 #~ "\n"
 #~ "\n"
@@ -6885,6 +8558,7 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s"
 #~ "\n"
 #~ "== Originalnachricht ==\n"
 #~ "%s"
+
 #~ msgid ""
 #~ "Your new account has been created successfully.\n"
 #~ "You can set advanced account options by pressing Advanced button,\n"
@@ -6893,6 +8567,7 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s"
 #~ msgstr ""
 #~ "Konto wurde erfolgreich hinzugefügt.\n"
 #~ "Erweiterte Optionen sind über \"Ändern->Konten\" zu erreichen."
+
 #~ msgid ""
 #~ "When we remove a contact, remove both his and our subscription, so we do "
 #~ "not receive his presence anymore and he ours."
@@ -6900,18 +8575,17 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s"
 #~ "Wenn wir einen Kontakt entfernen, lösche sowohl sein als auch unser "
 #~ "Abonnement, damitwir nicht mehr gegenseitig über die Präsenz informiert "
 #~ "werden"
+
 #~ msgid ""
 #~ "Should Gajim send inactive (\"is doing something else\") on just focus "
 #~ "out of window/switch to another tab?"
 #~ msgstr ""
 #~ "Soll Gajim Inaktivitätsbenachrichtungen von Tabs im Fokus an andere "
 #~ "Fenster/Tabs senden?"
-#~ msgid "Error:"
-#~ msgstr "Fehler:"
+
 #~ msgid "Service"
 #~ msgstr "Dienst"
-#~ msgid "Node"
-#~ msgstr "Node"
+
 #~ msgid ""
 #~ "Your new account has been created and added to your gajim configuration.\n"
 #~ "You can set advanced account options using \"Edit->Accounts\" in the main "
@@ -6919,49 +8593,69 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s"
 #~ msgstr ""
 #~ "Ihr neues Konto wurde erstellt und der Gajimkonfiguration hinzugefügt.\n"
 #~ "Erweiterte Optionen sind über \"Ändern->Konten\" zu erreichen."
+
 #~ msgid "You need to enter a valid server address to add an account."
 #~ msgstr ""
 #~ "Sie müssen einen gültigen Server angeben, um ein neues Konto zu erstellen."
+
 #~ msgid "Contact names must be of the form \"user@servername\"."
 #~ msgstr "Benutzernamen müssen die Form \"benutzer@servername\" haben."
+
 #~ msgid "Invalid contact ID"
 #~ msgstr "Ungültige Benutzer-ID"
+
 #~ msgid "Contact ID must be of the form \"username@servername\"."
 #~ msgstr "Benutzer-ID muss in der Form \"username@servername\" sein."
+
 #~ msgid "Account registration successful"
 #~ msgstr "Kontoregistrierung erfolgreich"
+
 #~ msgid "The account \"%s\" has been registered with the Jabber server."
 #~ msgstr "Konto \"%s\" wurde auf dem Jabberserver registriert."
+
 #~ msgid "theme_name"
 #~ msgstr "thema_name"
+
 #~ msgid "Edit"
 #~ msgstr "_Ändern"
+
 #~ msgid "<b>Please fill in the data for your existing account</b>"
 #~ msgstr "<b>Bitte tragen Sie die Daten für ihr bestehendes Konto ein</b>"
+
 #~ msgid "Check if you want to register for a new jabber account"
 #~ msgstr "Prüfen Sie, ob Sie ein neues Konto erstellen möchten"
+
 #~ msgid "Click to get contact's extended information"
 #~ msgstr "Klicken, um erweiterte Informationen des Kontaktes einzusehen"
+
 #~ msgid "_Compact View"
 #~ msgstr "_Kompakte Ansicht"
+
 #~ msgid "_Refresh"
 #~ msgstr "_Aktualisieren"
+
 #~ msgid "_Register new account"
 #~ msgstr "Neues Konto e_rstellen"
+
 #~ msgid "You just received a new message in room \"%s\""
 #~ msgstr "Sie haben eine neue Nachricht im Raum \"%s\" erhalten"
+
 #~ msgid ""
 #~ "If you close this window and you have history disabled, this message will "
 #~ "be lost."
 #~ msgstr ""
 #~ "Wenn sie das Fenster schließen und die History abgeschaltet haben, geht "
 #~ "die Nachricht verloren."
+
 #~ msgid "New _Room"
 #~ msgstr "Neuer _Raum"
+
 #~ msgid "Always use compact _view"
 #~ msgstr "Benutze immer die kompakte Ansicht"
+
 #~ msgid "Banner:"
 #~ msgstr "Banner:"
+
 #~ msgid ""
 #~ "If checked, all chat and group chat windows will have the information "
 #~ "area in the top and the buttons area in the bottom hidden. You can quick "
@@ -6972,28 +8666,34 @@ msgstr "Fehler beim Hinzufügen des Dienstes. %s"
 #~ "den Chat- und Chatraumfenstern ausgeblendet.  Mit Alt+C können Sie "
 #~ "schnell zwischen der kompakten und der normalen Ansicht umschalten. "
 #~ "Achtung: die jeweils letzte Ansicht wird nicht beibehalten"
+
 #~ msgid "Inactivate account"
 #~ msgstr "Kein aktives Konto"
-#~ msgid "Join _Group Chat..."
-#~ msgstr "_Chatraum beitreten..."
+
 #~ msgid "Po_sition:"
 #~ msgstr "Position:"
+
 #~ msgid "Show roster window on Gajim startup"
 #~ msgstr "Kontaktliste beim Start von Gajim anzeigen"
+
 #~ msgid "_Service Discovery"
 #~ msgstr "_Dienste durchsuchen"
+
 #~ msgid "_Service Discovery..."
 #~ msgstr "_Dienste durchsuchen..."
+
 #~ msgid "error appeared while processing xmpp:"
 #~ msgstr "Fehler während der Verarbeitung von xmpp:"
+
 #~ msgid ""
 #~ "Cancels the selected file transfer. If there is an incomplete file, kept "
 #~ "in the file system it will be removed. This operation is not reversable"
 #~ msgstr ""
 #~ "Stoppt den ausgewählten Dateitransfer. Unvollständige Dateien werden "
 #~ "gelöscht. Diese Aktion ist nicht rückgangig zu machen."
+
 #~ msgid "Chan_ge"
 #~ msgstr "_Ändern"
+
 #~ msgid "Unknown type %s "
 #~ msgstr "Unbekannter Typ %s "
-
diff --git a/po/fr.po b/po/fr.po
index 7c2f285493f48d319dd199b49b03b59bd608c10e..7149ff9ffdc49a05e601cd84d63139b39583cb66 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2524,19 +2524,19 @@ msgstr "texte du message d'état :"
 
 #: ../src/config.py:1036
 msgid "First Message Received"
-msgstr "Premier Message Reçu"
+msgstr "Premier message reçu"
 
 #: ../src/config.py:1037
 msgid "Next Message Received"
-msgstr "Message Suivant Reçu"
+msgstr "Message reçu suivant"
 
 #: ../src/config.py:1038
 msgid "Contact Connected"
-msgstr "Contacte Connecté"
+msgstr "Contact connecté"
 
 #: ../src/config.py:1039
 msgid "Contact Disconnected"
-msgstr "Contacte déconnecté"
+msgstr "Contact déconnecté"
 
 #: ../src/config.py:1040
 msgid "Message Sent"
diff --git a/po/gl_ES.po b/po/gl.po
similarity index 100%
rename from po/gl_ES.po
rename to po/gl.po
diff --git a/po/it.po b/po/it.po
index fbaf570e1f5964512fec1949b8746014bc95fbb6..1cf26330b3d065afea4ce6ae17f0d4e9356eb1f7 100644
--- a/po/it.po
+++ b/po/it.po
@@ -5,17 +5,18 @@
 # Mauro Brenna <malloblenne@gmail.com>, 2005,2006.
 # Andrea Ratti <scimiot@yahoo.it>, 2005.
 # Matteo Dell'Amico <della@linux.it>, 2005, 2006.
-#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210
-#: ../src/gajim-remote.py:236 ../src/gajim-remote.py:237
-#: ../src/gajim-remote.py:243 ../src/gajim-remote.py:244
+# Daniel Coppi <neoex.dc@gmail.com>, 2007.
+#: ../src/gajim-remote.py:212 ../src/gajim-remote.py:219
 #: ../src/gajim-remote.py:245 ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:252 ../src/gajim-remote.py:253
+#: ../src/gajim-remote.py:254 ../src/gajim-remote.py:255
 msgid ""
 msgstr ""
 "Project-Id-Version: Gajim 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-19 11:39+0100\n"
-"PO-Revision-Date: 2007-01-31 14:26+0100\n"
-"Last-Translator: Matteo Dell'Amico <della@linux.it>\n"
+"POT-Creation-Date: 2007-09-14 21:09+0200\n"
+"PO-Revision-Date: 2007-09-14 20:53+0100\n"
+"Last-Translator: neoex <neoex.dc@gmail.com>\n"
 "Language-Team: Italian\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -35,35 +36,35 @@ msgid "Jabber IM Client"
 msgstr "Client IM Jabber"
 
 #: ../data/glade/account_context_menu.glade.h:1
-msgid "Send Single _Message..."
-msgstr "Invia _messaggio singolo..."
+#: ../data/glade/roster_window.glade.h:8
+msgid "Join _Group Chat..."
+msgstr "Entra in chat di _gruppo..."
 
 #: ../data/glade/account_context_menu.glade.h:2
 msgid "_Add Contact..."
 msgstr "_Aggiungi Contatto..."
 
 #: ../data/glade/account_context_menu.glade.h:3
-msgid "_Discover Services..."
-msgstr "_Ricerca servizi..."
+#: ../data/glade/roster_window.glade.h:15
+msgid "_Discover Services"
+msgstr "_Ricerca servizi"
 
-#: ../data/glade/account_context_menu.glade.h:4 ../src/disco.py:1145
+#: ../data/glade/account_context_menu.glade.h:4
 msgid "_Execute Command..."
-msgstr "Esegui _comando..."
+msgstr "_Esegui comando..."
 
 #: ../data/glade/account_context_menu.glade.h:5
-#: ../data/glade/roster_window.glade.h:16
-#: ../data/glade/systray_context_menu.glade.h:6
-msgid "_Group Chat"
-msgstr "Chat di _gruppo"
+msgid "_Modify Account"
+msgstr "_Modifica account"
 
 #: ../data/glade/account_context_menu.glade.h:6
-#: ../data/glade/zeroconf_context_menu.glade.h:1
-msgid "_Modify Account..."
-msgstr "_Modifica account..."
+msgid "_Open Gmail Inbox"
+msgstr "_Apri posta ricevuta"
 
 #: ../data/glade/account_context_menu.glade.h:7
-msgid "_Open Gmail Inbox"
-msgstr "_Apri composizione email"
+#: ../data/glade/roster_window.glade.h:22
+msgid "_Start Chat..."
+msgstr "_Inizia chat..."
 
 #: ../data/glade/account_context_menu.glade.h:8
 #: ../data/glade/zeroconf_context_menu.glade.h:2
@@ -72,11 +73,11 @@ msgstr "_Stato"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:1
 msgid ""
-"<b>Account is being created</b>\n"
+"<b>Connecting to server</b>\n"
 "\n"
 "Please wait..."
 msgstr ""
-"<b>Creazione dell'account in corso</b>\n"
+"<b>Connessione al server</b>\n"
 "\n"
 "Attendere prego..."
 
@@ -89,50 +90,68 @@ msgid "<b>Please fill in the data for your new account</b>"
 msgstr "<b>Inserire i dati per il nuovo account</b>"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:6
+msgid "<b>Please select a server</b>"
+msgstr "<b>Selezionare un server</b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:7
 msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
 msgstr ""
-"Cliccare per vedere i servizi (come i trasporti MSN o ICQ) dei server Jabber"
+"Clicca per vedere i servizi (come i trasporti MSN o ICQ) dei server Jabber"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:7
+#: ../data/glade/account_creation_wizard_window.glade.h:8
 msgid "Connect when I press Finish"
-msgstr "Collegati alla pressione di Fine"
+msgstr "Connettiti alla pressione di Fine"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:8
+#: ../data/glade/account_creation_wizard_window.glade.h:9
 msgid "Gajim: Account Creation Wizard"
 msgstr "Gajim: Assistente creazione account"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:9
-msgid "I already have an account I want to use"
+#: ../data/glade/account_creation_wizard_window.glade.h:10
+#, fuzzy
+msgid "I already have an account I want to _use"
 msgstr "Ho già un account da usare"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:10
+#: ../data/glade/account_creation_wizard_window.glade.h:11
 msgid "I want to _register for a new account"
 msgstr "Voglio _registrare un nuovo account"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:11
-#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/account_creation_wizard_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/accounts_window.glade.h:22
 msgid "If checked, Gajim will remember the password for this account"
 msgstr "Se marcato, Gajim ricorderà la password per questo account"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:12
-#: ../data/glade/manage_proxies_window.glade.h:6
-msgid "Pass_word:"
-msgstr "Pass_word:"
-
 #: ../data/glade/account_creation_wizard_window.glade.h:13
-#: ../data/glade/account_modification_window.glade.h:38
-msgid "Save pass_word"
-msgstr "_Memorizza password"
+#: ../data/glade/account_modification_window.glade.h:26
+#: ../data/glade/accounts_window.glade.h:32
+msgid "Manage..."
+msgstr "Gestisci..."
 
 #: ../data/glade/account_creation_wizard_window.glade.h:14
+msgid "Prox_y:"
+msgstr "Prox_y:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/accounts_window.glade.h:48
+msgid "Save pass_word"
+msgstr "Ricorda la pass_word"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:16
 msgid "Servers Features"
 msgstr "Servizi del server"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_creation_wizard_window.glade.h:17
 msgid "Set my profile when I connect"
-msgstr "Imposta il profilo durante la connessione"
+msgstr "Configura il mio profilo appena effettuata la connessione"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:16
+#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/accounts_window.glade.h:53
+msgid "Use custom hostname/port"
+msgstr "Usa hostname/porta personalizzati"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:19
 msgid ""
 "You need to have an account in order to connect\n"
 "to the Jabber network."
@@ -140,67 +159,63 @@ msgstr ""
 "È necessario avere un account per connettersi\n"
 "alla rete Jabber."
 
-#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_creation_wizard_window.glade.h:21
 msgid "Your JID:"
 msgstr "Il tuo JID:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:19
-#: ../data/glade/roster_window.glade.h:11
+#: ../data/glade/account_creation_wizard_window.glade.h:22
+#: ../data/glade/roster_window.glade.h:13
 msgid "_Advanced"
 msgstr "_Avanzato"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:20
+#: ../data/glade/account_creation_wizard_window.glade.h:23
 msgid "_Finish"
 msgstr "_Fine"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:21
-#: ../data/glade/manage_proxies_window.glade.h:9
-msgid "_Host:"
-msgstr "_Host:"
+#: ../data/glade/account_creation_wizard_window.glade.h:24
+msgid "_Hostname:"
+msgstr "Nome dell'_host: "
 
-#: ../data/glade/account_creation_wizard_window.glade.h:22
-#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_modification_window.glade.h:50
+#: ../data/glade/accounts_window.glade.h:58
 msgid "_Password:"
 msgstr "_Password:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:23
-#: ../data/glade/manage_proxies_window.glade.h:10
+#: ../data/glade/account_creation_wizard_window.glade.h:26
+#: ../data/glade/manage_proxies_window.glade.h:11
 msgid "_Port:"
 msgstr "_Porta:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:24
-msgid "_Retype Password:"
-msgstr "_Ripetere password:"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_creation_wizard_window.glade.h:27
 msgid "_Server:"
 msgstr "_Server:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:26
-msgid "_Use proxy"
-msgstr "_Usa proxy"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:27
-#: ../data/glade/manage_proxies_window.glade.h:11
+#: ../data/glade/account_creation_wizard_window.glade.h:28
+#: ../data/glade/manage_proxies_window.glade.h:12
 msgid "_Username:"
 msgstr "_Nome utente:"
 
 #: ../data/glade/account_modification_window.glade.h:1
+#: ../data/glade/accounts_window.glade.h:1
 #: ../data/glade/preferences_window.glade.h:8
 msgid "<b>Miscellaneous</b>"
 msgstr "<b>Varie</b>"
 
 #: ../data/glade/account_modification_window.glade.h:2
+#: ../data/glade/accounts_window.glade.h:2
 #: ../data/glade/zeroconf_properties_window.glade.h:1
 msgid "<b>OpenPGP</b>"
 msgstr "<b>OpenPGP</b>"
 
 #: ../data/glade/account_modification_window.glade.h:3
+#: ../data/glade/accounts_window.glade.h:3
 #: ../data/glade/zeroconf_properties_window.glade.h:2
 msgid "<b>Personal Information</b>"
 msgstr "<b>Informazioni personali</b>"
 
 #: ../data/glade/account_modification_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:4
 msgid "Account"
 msgstr "Account"
 
@@ -209,68 +224,93 @@ msgid "Account Modification"
 msgstr "Modifica account"
 
 #: ../data/glade/account_modification_window.glade.h:6
-msgid "Auto-reconnect when connection is lost"
-msgstr "Riconnettiti automaticamente quando si perde la connessione"
+#: ../data/glade/accounts_window.glade.h:5
+msgid "Administration operations"
+msgstr "Operazioni amministrative"
 
 #: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/accounts_window.glade.h:6
+msgid "Auto-reconnect when connection is lost"
+msgstr "Riconnetti automaticamente quando si perde la connessione"
+
+#: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/accounts_window.glade.h:7
 #: ../data/glade/zeroconf_properties_window.glade.h:3
 msgid "C_onnect on Gajim startup"
-msgstr "_Connetti all'avvio di Gajim"
+msgstr "C_onnetti all'avvio di Gajim"
 
-#: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/accounts_window.glade.h:8
 msgid "Chan_ge Password"
 msgstr "_Cambia password"
 
-#: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/accounts_window.glade.h:9
 msgid ""
 "Check this so Gajim will connect in port 5223 where legacy servers are "
 "expected to have SSL capabilities. Note that Gajim uses TLS encryption by "
 "default if broadcasted by the server, and with this option enabled TLS will "
 "be disabled"
 msgstr ""
-"Selezionando questa opzione Gajim si connetterà alla porta 5223, sulla quale "
-"i server più vecchi attivano SSL. Notare che Gajim usa la cifratura TLS di "
-"default se il server la annuncia, e abilitando questa opzione TLS sarà "
-"disabilitata."
+"Se marcato, Gajim si connetterà alla porta 5223, sulla quale i server più "
+"vecchi attivano SSL. Notare che Gajim usa la cifratura TLS di default se il "
+"server la annuncia, e abilitando questa opzione TLS sarà disabilitata"
 
-#: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/accounts_window.glade.h:10
 #: ../data/glade/zeroconf_properties_window.glade.h:4
 msgid "Choose _Key..."
 msgstr "Scegli _chiave..."
 
-#: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/accounts_window.glade.h:11
 msgid "Click to change account's password"
-msgstr "Cliccare per cambiare la password dell'account"
+msgstr "Clicca per cambiare la password dell'account"
 
-#: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/accounts_window.glade.h:12
+msgid "Click to request authorization to all contacts of another account"
+msgstr ""
+"Clicca per richiedere l'autorizzazione a tutti i contatti di un altro account"
+
+#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/accounts_window.glade.h:13
 msgid "Connection"
 msgstr "Connessione"
 
-#: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/account_modification_window.glade.h:15
+#: ../data/glade/accounts_window.glade.h:15
 msgid "Edit Personal Information..."
 msgstr "Modifica informazioni personali..."
 
-#: ../data/glade/account_modification_window.glade.h:14
-#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:458
-#: ../src/notify.py:480 ../src/notify.py:492 ../src/common/helpers.py:914
+#. No configured account
+#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/accounts_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:6 ../src/notify.py:471
+#: ../src/notify.py:493 ../src/notify.py:505 ../src/common/helpers.py:964
+#: ../src/common/helpers.py:976
 msgid "Gajim"
 msgstr "Gajim"
 
-#. Contact is not in a group, so count it in General group
-#: ../data/glade/account_modification_window.glade.h:15
-#: ../data/glade/preferences_window.glade.h:51
+#. General group cannot be changed
+#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/accounts_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:45
 #: ../data/glade/zeroconf_properties_window.glade.h:7
-#: ../src/roster_window.py:346 ../src/roster_window.py:1225
-#: ../src/roster_window.py:1436 ../src/roster_window.py:2112
-#: ../src/roster_window.py:2154 ../src/common/contacts.py:280
+#: ../src/roster_window.py:359 ../src/roster_window.py:624
+#: ../src/roster_window.py:1360 ../src/roster_window.py:1728
+#: ../src/roster_window.py:2112 ../src/roster_window.py:2628
+#: ../src/roster_window.py:2746 ../src/common/contacts.py:309
 msgid "General"
 msgstr "Generale"
 
-#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/accounts_window.glade.h:20
 msgid "Hostname: "
 msgstr "Nome dell'host: "
 
-#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/accounts_window.glade.h:21
 msgid ""
 "If checked, Gajim will also broadcast some more IPs except from just your "
 "IP, so file transfer has higher chances of working."
@@ -279,7 +319,8 @@ msgstr ""
 "su cui viene eseguito, di modo che il trasferimento file abbia maggiori "
 "possibilità di funzionare correttamente."
 
-#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/accounts_window.glade.h:23
 msgid ""
 "If checked, Gajim will send keep-alive packets to prevent connection timeout "
 "which results in disconnection"
@@ -287,94 +328,107 @@ msgstr ""
 "Se marcato, Gajim invierà dei pacchetti di keep-alive per prevenire il "
 "timeout che provoca una disconnessione"
 
-#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/account_modification_window.glade.h:22
+#: ../data/glade/accounts_window.glade.h:24
 #: ../data/glade/zeroconf_properties_window.glade.h:8
 msgid ""
 "If checked, Gajim will store the password in ~/.gajim/config with 'read' "
 "permission only for you"
 msgstr ""
 "Se marcato, Gajim memorizzerà la password in ~/.gajim/config, con permessi "
-"di lettura solo per l'utente che esegue il programma"
+"di lettura solo per l'utente corrente"
 
-#: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/accounts_window.glade.h:25
 #: ../data/glade/zeroconf_properties_window.glade.h:9
 msgid ""
 "If checked, Gajim, when launched, will automatically connect to jabber using "
 "this account"
 msgstr ""
 "Se marcato, Gajim, quando lanciato, si connetterà automaticamente a Jabber "
-"usando questo account."
+"usando questo account"
 
-#: ../data/glade/account_modification_window.glade.h:22
+#: ../data/glade/account_modification_window.glade.h:24
+#: ../data/glade/accounts_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:10
 msgid ""
 "If checked, any change to the global status (handled by the combobox at the "
 "bottom of the roster window) will change the status of this account "
 "accordingly"
 msgstr ""
-"Se marcato, ogni cambio allo stato globale (gestito dalla combo box sotto la "
-"lista contatti) cambierà di conseguenza lo stato di questo account"
+"Se marcato, ogni cambio allo stato globale (gestito dal menu a tendina sotto "
+"la lista contatti) cambierà anche lo stato di questo account"
 
-#: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/account_modification_window.glade.h:25
+#: ../data/glade/accounts_window.glade.h:29
 msgid "Information about you, as stored in the server"
 msgstr "Informazioni su di te, archiviate sul server"
 
-#: ../data/glade/account_modification_window.glade.h:24
-msgid "Manage..."
-msgstr "Gestisci..."
-
-#: ../data/glade/account_modification_window.glade.h:25
-#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1617
-#: ../src/config.py:3409
+#: ../data/glade/account_modification_window.glade.h:27
+#: ../data/glade/accounts_window.glade.h:34
+#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1524
+#: ../src/config.py:2010
 msgid "No key selected"
 msgstr "Nessuna chiave selezionata"
 
 #. None means no proxy profile selected
-#: ../data/glade/account_modification_window.glade.h:27 ../src/config.py:1197
-#: ../src/config.py:1202 ../src/config.py:1386 ../src/config.py:1607
-#: ../src/config.py:1616 ../src/config.py:1675 ../src/config.py:1749
-#: ../src/config.py:3399 ../src/config.py:3408 ../src/dialogs.py:281
-#: ../src/dialogs.py:283
+#. GPG Key
+#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/accounts_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1110
+#: ../src/config.py:1181 ../src/config.py:1430 ../src/config.py:1435
+#: ../src/config.py:1906 ../src/config.py:1993 ../src/config.py:2009
+#: ../src/config.py:3109 ../src/config.py:3155 ../src/dialogs.py:286
+#: ../src/dialogs.py:288 ../src/roster_window.py:1832
+#: ../src/roster_window.py:1839 ../src/roster_window.py:1846
 msgid "None"
 msgstr "Nessuno"
 
-#: ../data/glade/account_modification_window.glade.h:28
-#: ../data/glade/profile_window.glade.h:25
+#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/accounts_window.glade.h:37
+#: ../data/glade/profile_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:17
 msgid "Personal Information"
 msgstr "Informazioni personali"
 
-#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/accounts_window.glade.h:38
 msgid "Port: "
 msgstr "Porta: "
 
-#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/accounts_window.glade.h:39
 msgid "Priori_ty:"
-msgstr "Pr_iorità:"
+msgstr "Priori_tà:"
 
-#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/accounts_window.glade.h:40
 msgid ""
 "Priority is used in Jabber to determine who gets the events from the jabber "
 "server when two or more clients are connected using the same account; The "
 "client with the highest priority gets the events"
 msgstr ""
 "La priorità si usa in Jabber per determinare chi riceve gli eventi dal "
-"server Jabber, quando due o più client sono connessi usando lo stesso "
-"account; il client con la maggiore priorità riceverà gli eventi."
+"server Jabber quando due o più client sono connessi usando lo stesso "
+"account; il client con la maggiore priorità riceverà gli eventi"
 
-#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/accounts_window.glade.h:41
 msgid "Priority will change automatically according to your status."
 msgstr "La priorità cambierà automaticamente in funzione del tuo stato."
 
-#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/accounts_window.glade.h:42
 msgid "Proxy:"
 msgstr "Proxy:"
 
-#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/accounts_window.glade.h:44
 msgid "Resour_ce:"
 msgstr "_Risorsa: "
 
-#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/accounts_window.glade.h:45
 msgid ""
 "Resource is sent to the Jabber server in order to separate the same JID in "
 "two or more parts depending on the number of the clients connected in the "
@@ -383,97 +437,132 @@ msgid ""
 "has the highest priority will get the events. (see below)"
 msgstr ""
 "La risorsa viene inviata al server Jabber per distinguere tra due o più "
-"client connessi allo stesso server. In questa maniera, è possibile "
+"client connessi allo stesso account. In questa maniera, è possibile "
 "connettersi allo stesso account con risorse 'Casa' e 'Lavoro' "
-"contemporaneamente. La risorsa con la priorità maggiore riceverà gli eventi "
-"(vedi sotto)."
+"contemporaneamente. La risorsa con la priorità maggiore riceverà gli eventi. "
+"(vedi sotto)"
 
-#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/account_modification_window.glade.h:38
+#: ../data/glade/accounts_window.glade.h:46
 #: ../data/glade/zeroconf_properties_window.glade.h:18
 msgid "Save _passphrase (insecure)"
 msgstr "Salva _passphrase (non sicuro)"
 
-#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/accounts_window.glade.h:47
 #: ../data/glade/zeroconf_properties_window.glade.h:19
 msgid "Save conversation _logs for all contacts"
-msgstr "Memorizza i _log delle conversazioni con tutti i contatti"
+msgstr "_Registra le conversazioni con tutti i contatti"
 
-#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/accounts_window.glade.h:49
 msgid "Send keep-alive packets"
 msgstr "Invia pacchetti di keep-alive"
 
-#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/accounts_window.glade.h:50
 #: ../data/glade/zeroconf_properties_window.glade.h:20
 msgid "Synch_ronize account status with global status"
-msgstr "_Sincronizza lo stato dell'account con lo stato globale"
+msgstr "Sinc_ronizza lo stato dell'account con lo stato globale"
 
-#: ../data/glade/account_modification_window.glade.h:41
-msgid "Use _SSL (legacy)"
-msgstr "Usa _SSL (legacy)"
+#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/accounts_window.glade.h:51
+msgid "Synchronise contacts"
+msgstr "Sincronizza contatti"
 
-#: ../data/glade/account_modification_window.glade.h:42
-msgid "Use custom hostname/port"
-msgstr "Usa hostname/port personalizzati"
+#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/accounts_window.glade.h:52
+msgid "Use _SSL (legacy)"
+msgstr "Usa _SSL (vecchio)"
 
-#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/accounts_window.glade.h:55
 msgid "Use file transfer proxies"
 msgstr "Usa proxy per il trasferimento file"
 
-#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/accounts_window.glade.h:56
 msgid "_Adjust to status"
 msgstr "_Modifica lo stato"
 
-#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/accounts_window.glade.h:57
 msgid "_Jabber ID:"
 msgstr "ID _Jabber:"
 
-#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/account_modification_window.glade.h:49
 msgid "_Name:"
 msgstr "_Nome:"
 
-#: ../data/glade/accounts_window.glade.h:1
-msgid "Accounts"
-msgstr "Account"
+#: ../data/glade/accounts_window.glade.h:14
+#: ../data/glade/profile_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/zeroconf_information_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:5
+msgid "E-Mail:"
+msgstr "E-Mail:"
 
-#: ../data/glade/accounts_window.glade.h:2
-msgid ""
-"If checked, all local contacts that use a Bonjour compatible chat client "
-"(like iChat, Trillian or Gaim) will be shown in roster. You don't need to be "
-"connected to a jabber server for it to work.\n"
-"This is only available if python-avahi is installed and avahi-daemon is "
-"running."
-msgstr ""
-"Se selezionato, tutti i contatti locali che usano un client chat compatibile "
-"con Bonjour (es. IChat, Trillian or Gaim) saranno visibili nella lista "
-"contatti. Non è necessario essere connesso a un server jabber affinché "
-"funzioni.\n"
-"Questo è possibile solo se python-avahi è installato e  avahi-daemon è in "
-"esecuzione."
+#. XML Console enable checkbutton
+#: ../data/glade/accounts_window.glade.h:16
+#: ../data/glade/xml_console_window.glade.h:4
+msgid "Enable"
+msgstr "Abilita"
 
-#: ../data/glade/accounts_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:17
+#: ../data/glade/zeroconf_information_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:6
+msgid "First Name:"
+msgstr "Nome:"
+
+#: ../data/glade/accounts_window.glade.h:27
+#: ../data/glade/zeroconf_properties_window.glade.h:11
 msgid ""
-"If you have 2 or more accounts and this is checked, Gajim will list all "
-"contacts as if you had one account"
+"If the default port that is used for incoming messages is unfitting for your "
+"setup you can select another one here.\n"
+"You might consider to change possible firewall settings."
 msgstr ""
-"Se marcato e se sono presenti 2 o più account, Gajim mostrerà tutti i "
-"contatti come se ci fosse un unico account"
+"Se la porta predefinita usata per i messaggi in entrata non si adatta alle "
+"tue configurazioni puoi selezionarne un'altra qui.\n"
+"Potresti considerare di cambiare la configurazione del firewall"
 
-#: ../data/glade/accounts_window.glade.h:5
+#: ../data/glade/accounts_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/zeroconf_information_window.glade.h:4
+#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:453
+msgid "Jabber ID:"
+msgstr "ID Jabber: "
+
+#: ../data/glade/accounts_window.glade.h:31
+#: ../data/glade/zeroconf_information_window.glade.h:5
+#: ../data/glade/zeroconf_properties_window.glade.h:14
+msgid "Last Name:"
+msgstr "Cognome:"
+
+#: ../data/glade/accounts_window.glade.h:33
 msgid "Mer_ge accounts"
 msgstr "_Unisci account"
 
-#: ../data/glade/accounts_window.glade.h:6
-msgid "_Enable link-local messaging"
-msgstr "_Abilita la messaggistica sulla rete locale"
+#. Rename
+#: ../data/glade/accounts_window.glade.h:43 ../src/roster_window.py:2698
+msgid "Re_name"
+msgstr "Ri_nomina"
 
-#: ../data/glade/accounts_window.glade.h:7
-msgid "_Modify"
-msgstr "_Modifica"
+#: ../data/glade/accounts_window.glade.h:54
+#: ../data/glade/zeroconf_properties_window.glade.h:21
+msgid "Use custom port:"
+msgstr "Usa porta personalizzata:"
 
-#: ../data/glade/accounts_window.glade.h:8
-#: ../data/glade/remove_account_window.glade.h:4
-msgid "_Remove"
-msgstr "_Elimina"
+#: ../data/glade/accounts_window.glade.h:59
+msgid "gtk-add"
+msgstr "gtk-add"
+
+#: ../data/glade/accounts_window.glade.h:60
+msgid "gtk-close"
+msgstr "gtk-close"
+
+#: ../data/glade/accounts_window.glade.h:61
+msgid "gtk-remove"
+msgstr "gtk-remove"
 
 #: ../data/glade/add_new_contact_window.glade.h:1
 msgid "A_ccount:"
@@ -508,8 +597,8 @@ msgid ""
 "You must be connected to the transport to be able\n"
 "to add a contact from this protocol."
 msgstr ""
-"È necessario essere connesso all'account per poter aggiungere\n"
-" un contatto da questo protocollo"
+"È necessario essere connesso al trasporto per poter aggiungere\n"
+" un contatto da questo protocollo."
 
 #: ../data/glade/add_new_contact_window.glade.h:11
 msgid "_Group:"
@@ -533,11 +622,11 @@ msgstr "_ID utente:"
 
 #: ../data/glade/adhoc_commands_window.glade.h:1
 msgid "<b>An error has occurred:</b>"
-msgstr "<b>È avvenuto un errore:</b>"
+msgstr "<b>Si è verificato un errore:</b>"
 
 #: ../data/glade/adhoc_commands_window.glade.h:2
 msgid "<b>Choose command to execute:</b>"
-msgstr "<b>Scegliere il comando da eseguire:</b>"
+msgstr "<b>Scegli il comando da eseguire:</b>"
 
 #: ../data/glade/adhoc_commands_window.glade.h:3
 msgid "Ad-hoc Commands - Gajim"
@@ -545,7 +634,7 @@ msgstr "Comandi ad-hoc - Gajim"
 
 #: ../data/glade/adhoc_commands_window.glade.h:4
 msgid "Check once more"
-msgstr "Controlla un'altra volta"
+msgstr "Controlla ancora"
 
 #: ../data/glade/adhoc_commands_window.glade.h:5
 msgid "Error description..."
@@ -557,7 +646,7 @@ msgstr "Attendere durante il recupero della lista comandi..."
 
 #: ../data/glade/adhoc_commands_window.glade.h:7
 msgid "Please wait while the command is sending..."
-msgstr "Attendere durante l'invio del comando.."
+msgstr "Attendere durante l'invio del comando..."
 
 #: ../data/glade/adhoc_commands_window.glade.h:8
 msgid "Please wait..."
@@ -565,7 +654,7 @@ msgstr "Attendere..."
 
 #: ../data/glade/adhoc_commands_window.glade.h:9
 msgid "This jabber entity does not expose any commands."
-msgstr "Questa entità jabber non mostra alcun comando."
+msgstr "Questa entità Jabber non mostra alcun comando."
 
 #: ../data/glade/advanced_configuration_window.glade.h:1
 msgid "<b>Description</b>"
@@ -573,7 +662,9 @@ msgstr "<b>Descrizione</b>"
 
 #: ../data/glade/advanced_configuration_window.glade.h:2
 msgid "<b>NOTE:</b> You should restart Gajim for some settings to take effect"
-msgstr "<b>NOTA:</b> È necessario riavviare Gajim perché alcune impostazioni abbiano effetto"
+msgstr ""
+"<b>NOTA:</b> È necessario riavviare Gajim perché alcune impostazioni abbiano "
+"effetto"
 
 #: ../data/glade/advanced_configuration_window.glade.h:3
 msgid "Advanced Configuration Editor"
@@ -592,44 +683,40 @@ msgid "Deletes Message of the Day"
 msgstr "Elimina il messaggio del giorno"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:3
-msgid "Sends a message to users currently connected to this server"
-msgstr "Invia un messaggio agli utenti attualmenti connessi a questo server"
+msgid "Edit _Privacy Lists..."
+msgstr "Modifica liste _privacy..."
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:4
-msgid "Set MOTD"
-msgstr "Imposta MOTD"
+msgid "Sends a message to users currently connected to this server"
+msgstr "Invia un messaggio agli utenti attualmenti connessi a questo server"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:5
+msgid "Set MOTD..."
+msgstr "Imposta MOTD..."
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:6
 msgid "Sets Message of the Day"
 msgstr "Imposta messaggio del giorno"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:6
+#: ../data/glade/advanced_menuitem_menu.glade.h:7
 msgid "Show _XML Console"
 msgstr "Mostra console _XML"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:7
-msgid "Update MOTD"
-msgstr "Aggiorna MOTD"
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:8
+msgid "Update MOTD..."
+msgstr "Aggiorna MOTD..."
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:9
 msgid "Updates Message of the Day"
 msgstr "Aggiorna il messaggio del giorno"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:9
+#: ../data/glade/advanced_menuitem_menu.glade.h:10
 msgid "_Administrator"
 msgstr "_Amministratore"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:10
-msgid "_Privacy Lists"
-msgstr "_Liste privacy"
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:11
-msgid "_Send Server Message"
-msgstr "_Invia messaggio server"
-
-#: ../data/glade/advanced_menuitem_menu.glade.h:12
-msgid "_Send Single Message"
-msgstr "_Invia messaggio singolo"
+msgid "_Send Server Message..."
+msgstr "_Invia messaggio server..."
 
 #: ../data/glade/advanced_notifications_window.glade.h:1
 msgid " a window/tab opened with that contact "
@@ -644,7 +731,7 @@ msgid "<b>Conditions</b>"
 msgstr "<b>Condizioni</b>"
 
 #: ../data/glade/advanced_notifications_window.glade.h:4
-#: ../data/glade/preferences_window.glade.h:10
+#: ../data/glade/preferences_window.glade.h:12
 msgid "<b>Sounds</b>"
 msgstr "<b>Suoni</b>"
 
@@ -654,14 +741,14 @@ msgstr "Azioni avanzate"
 
 #: ../data/glade/advanced_notifications_window.glade.h:6
 msgid "Advanced Notifications Control"
-msgstr "Controllo notifiche avanzato"
+msgstr "Gestione avanzata delle notifiche"
 
 #: ../data/glade/advanced_notifications_window.glade.h:7
 msgid "All statuses"
 msgstr "Tutti gli stati"
 
 #: ../data/glade/advanced_notifications_window.glade.h:8
-#: ../src/common/commands.py:91 ../src/common/helpers.py:243
+#: ../src/common/commands.py:91 ../src/common/helpers.py:246
 msgid "Away"
 msgstr "Assente"
 
@@ -678,7 +765,7 @@ msgid "Have "
 msgstr "Ho "
 
 #: ../data/glade/advanced_notifications_window.glade.h:12
-#: ../src/common/helpers.py:253
+#: ../src/common/helpers.py:256
 msgid "Invisible"
 msgstr "Invisibile"
 
@@ -687,7 +774,7 @@ msgid "Launch a command"
 msgstr "Lancia un comando"
 
 #: ../data/glade/advanced_notifications_window.glade.h:14
-#: ../src/common/helpers.py:226
+#: ../src/common/helpers.py:229
 msgid "Not Available"
 msgstr "Non disponibile"
 
@@ -701,7 +788,7 @@ msgstr "Online / Libero per chat"
 
 #: ../data/glade/advanced_notifications_window.glade.h:17
 msgid "Play a sound"
-msgstr "Riproduci suono"
+msgstr "Riproduci un suono"
 
 #: ../data/glade/advanced_notifications_window.glade.h:18
 msgid ""
@@ -752,7 +839,7 @@ msgstr "_Disabilita l'evento di apparizione nella lista contatti"
 
 #: ../data/glade/advanced_notifications_window.glade.h:32
 msgid "_Disable showing event in systray"
-msgstr "_Disabilita l'evento di apparizione nell'area di notifica"
+msgstr "_Disabilita la visualizzazione dell'evento nell'area di notifica"
 
 #: ../data/glade/advanced_notifications_window.glade.h:33
 msgid "_Inform me with a popup window"
@@ -768,11 +855,11 @@ msgstr "Mostra evento nella lista _contatti"
 
 #: ../data/glade/advanced_notifications_window.glade.h:36
 msgid "_Show event in systray"
-msgstr "Mostra evento nella s_ystray"
+msgstr "_Mostra evento nell'area di notifica"
 
 #: ../data/glade/advanced_notifications_window.glade.h:37
 msgid "and I "
-msgstr "ed io"
+msgstr "ed io "
 
 #: ../data/glade/advanced_notifications_window.glade.h:38
 msgid ""
@@ -793,38 +880,22 @@ msgid "when I'm in"
 msgstr "quando sono in"
 
 #: ../data/glade/atom_entry_window.glade.h:1
-msgid "2003-12-13T18:30:02Z"
-msgstr "2003-12-13T18:30:02Z"
-
-#: ../data/glade/atom_entry_window.glade.h:2
-msgid "<small>Romeo and Juliet</small>"
-msgstr "<small>Romeo e Giulietta</small>"
-
-#: ../data/glade/atom_entry_window.glade.h:3
 msgid "Entry:"
 msgstr "Voce:"
 
-#: ../data/glade/atom_entry_window.glade.h:4
+#: ../data/glade/atom_entry_window.glade.h:2
 msgid "Feed name:"
 msgstr "Nome feed:"
 
-#: ../data/glade/atom_entry_window.glade.h:5
+#: ../data/glade/atom_entry_window.glade.h:3
 msgid "Last modified:"
 msgstr "Ultima modifica:"
 
-#: ../data/glade/atom_entry_window.glade.h:6
+#: ../data/glade/atom_entry_window.glade.h:4
 msgid "New entry received"
 msgstr "Nuova voce ricevuta"
 
-#: ../data/glade/atom_entry_window.glade.h:7
-msgid "Old stories"
-msgstr "Vecchie storie"
-
-#: ../data/glade/atom_entry_window.glade.h:8
-msgid "Soliloquy"
-msgstr "Soliloquio"
-
-#: ../data/glade/atom_entry_window.glade.h:9
+#: ../data/glade/atom_entry_window.glade.h:5
 msgid "You have received new entry:"
 msgstr "Hai ricevuto un nuovo evento:"
 
@@ -857,15 +928,13 @@ msgid "Join _Group Chat"
 msgstr "Entra in chat di _gruppo"
 
 #: ../data/glade/chat_context_menu.glade.h:2
-#: ../data/glade/chat_control_popup_menu.glade.h:4
-#: ../data/glade/gc_occupants_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:10
-msgid "_Add to Roster"
-msgstr "_Aggiungi ai contatti"
+#: ../data/glade/roster_contact_context_menu.glade.h:12
+msgid "_Add to Roster..."
+msgstr "_Aggiungi ai contatti..."
 
 #: ../data/glade/chat_context_menu.glade.h:3
 msgid "_Copy JID/Email Address"
-msgstr "_Copia Indirizzo Email/JID"
+msgstr "_Copia JID/indirizzo email"
 
 #: ../data/glade/chat_context_menu.glade.h:4
 msgid "_Copy Link Location"
@@ -880,7 +949,6 @@ msgid "_Open Link in Browser"
 msgstr "_Apri il collegamento nel browser"
 
 #: ../data/glade/chat_context_menu.glade.h:7
-#: ../data/glade/roster_window.glade.h:20
 #: ../data/glade/subscription_request_popup_menu.glade.h:1
 #: ../data/glade/systray_context_menu.glade.h:7
 msgid "_Start Chat"
@@ -888,34 +956,43 @@ msgstr "_Inizia chat"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:1
 msgid "Click to see past conversations with this contact"
-msgstr "Cliccare per vedere le conversazioni precedenti con questo contatto"
+msgstr "Clicca per vedere le conversazioni precedenti con questo contatto"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Invite _Friends"
+msgstr "Invita _amici"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:3
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:4
 msgid "Send _File"
 msgstr "Invia _file"
 
-#: ../data/glade/chat_control_popup_menu.glade.h:3
-msgid "Toggle Open_PGP Encryption"
-msgstr "Attiva cifratura Open_PGP"
+#: ../data/glade/chat_control_popup_menu.glade.h:4
+msgid "Toggle End to End Encryption"
+msgstr "Attiva cifratura end-to-end"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:5
-#: ../data/glade/gc_control_popup_menu.glade.h:6
-msgid "_Compact View    Alt+C"
-msgstr "_Vista compatta    Alt+C"
+msgid "Toggle Open_PGP Encryption"
+msgstr "Attiva cifratura Open_PGP"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:4
+msgid "_Add to Roster"
+msgstr "_Aggiungi ai contatti"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:7
 #: ../data/glade/gc_control_popup_menu.glade.h:7
-#: ../data/glade/gc_occupants_menu.glade.h:5
-#: ../data/glade/roster_contact_context_menu.glade.h:13
+#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/roster_contact_context_menu.glade.h:16
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2567
 msgid "_History"
 msgstr "_Cronologia"
 
 #: ../data/glade/data_form_window.glade.h:1
 msgid "Fill in the form."
-msgstr "Completa nel form"
+msgstr "Completa nel form."
 
 #: ../data/glade/data_form_window.glade.h:2
 msgid "Room Configuration"
@@ -979,7 +1056,7 @@ msgid "When a file transfer is complete show a popup notification"
 msgstr ""
 "Mostra una notifica popup quando un trasferimento file viene completato"
 
-#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:769
+#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:774
 msgid "_Continue"
 msgstr "_Continua"
 
@@ -987,7 +1064,7 @@ msgstr "_Continua"
 msgid "_Notify me when a file transfer is complete"
 msgstr "_Notifica quando un trasferimento file viene completato"
 
-#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:190
+#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:186
 msgid "_Open Containing Folder"
 msgstr "_Apri cartella"
 
@@ -1048,16 +1125,16 @@ msgid ""
 "MUC\n"
 "Messages"
 msgstr ""
-"Messaggi\n"
-"MUC"
+"Messaggi di una\n"
+"chat di gruppo"
 
 #: ../data/glade/gajim_themes_window.glade.h:15
 msgid ""
 "MUC Directed\n"
 "Messages"
 msgstr ""
-"Messaggi diretti\n"
-"a MUC"
+"Messaggi inviati in\n"
+"una chat di gruppo"
 
 #: ../data/glade/gajim_themes_window.glade.h:17
 msgid "Paused"
@@ -1076,58 +1153,70 @@ msgid "_Background:"
 msgstr "_Sfondo:"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:1
-msgid "Change _Nickname"
-msgstr "Cambia _nickname"
+msgid "Change _Nickname..."
+msgstr "Cambia _nickname..."
 
 #: ../data/glade/gc_control_popup_menu.glade.h:2
-msgid "Change _Subject"
-msgstr "Cambia _oggetto"
+msgid "Change _Subject..."
+msgstr "Cambia _oggetto..."
 
 #: ../data/glade/gc_control_popup_menu.glade.h:3
 msgid "Click to see past conversation in this room"
-msgstr "Cliccare per vedere le conversazioni precedenti di questa stanza"
+msgstr "Clicca per vedere le conversazioni precedenti di questa stanza"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:4
-msgid "Configure _Room"
-msgstr "Configu_ra la stanza"
+msgid "Configure _Room..."
+msgstr "Configura la _stanza..."
 
 #: ../data/glade/gc_control_popup_menu.glade.h:5
-msgid "_Bookmark This Room"
-msgstr "Inserire un _segnalibro per questa stanza"
+msgid "_Bookmark"
+msgstr "Aggiungi _segnalibro"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:6
+msgid "_Destroy Room"
+msgstr "_Elimina stanza"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:8
+msgid "_Manage Room"
+msgstr "Gestisci stanza"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:9
+msgid "_Minimize on close"
+msgstr "_Minimizza alla chiusura"
 
 #: ../data/glade/gc_occupants_menu.glade.h:1
 msgid "Mo_derator"
 msgstr "Mo_deratore"
 
-#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:2
+msgid "Occupant Actions"
+msgstr "Azioni partecipante"
+
+#: ../data/glade/gc_occupants_menu.glade.h:5
 msgid "_Admin"
-msgstr "_Admin"
+msgstr "_Amministratore"
 
-#: ../data/glade/gc_occupants_menu.glade.h:4
+#: ../data/glade/gc_occupants_menu.glade.h:6
 msgid "_Ban"
 msgstr "_Bandisci"
 
-#: ../data/glade/gc_occupants_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:8
 msgid "_Kick"
 msgstr "_Caccia"
 
-#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:9
 msgid "_Member"
 msgstr "_Membro"
 
-#: ../data/glade/gc_occupants_menu.glade.h:8
-msgid "_Occupant Actions"
-msgstr "Azioni _partecipanti"
-
-#: ../data/glade/gc_occupants_menu.glade.h:9
+#: ../data/glade/gc_occupants_menu.glade.h:10
 msgid "_Owner"
 msgstr "_Proprietario"
 
-#: ../data/glade/gc_occupants_menu.glade.h:10
+#: ../data/glade/gc_occupants_menu.glade.h:11
 msgid "_Send Private Message"
 msgstr "_Invia messaggio privato"
 
-#: ../data/glade/gc_occupants_menu.glade.h:11
+#: ../data/glade/gc_occupants_menu.glade.h:12
 msgid "_Voice"
 msgstr "_Voce"
 
@@ -1135,7 +1224,7 @@ msgstr "_Voce"
 msgid "Create new post"
 msgstr "Crea nuovo post"
 
-#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:268
+#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:271
 msgid "From"
 msgstr "Da"
 
@@ -1155,15 +1244,15 @@ msgid ""
 "If you plan to do massive deletions, please make sure Gajim is not running. "
 "Generally avoid deletions with contacts you currently chat with."
 msgstr ""
-"<big><b>Benvenuti al gestore delle cronologie di Gajim</b></big>\n"
+"<big><b>Benvenuto nel gestore della cronologia di Gajim</b></big>\n"
 "\n"
-"Si possono selezionare elementi alla sinistra e/o cercare nella base dati da "
-"sotto.\n"
+"Puoi selezionare le conversazioni da sinistra e/o cercare nel database "
+"tramite il campo in basso.\n"
 "\n"
 "<b>ATTENZIONE:</B>\n"
-"Se si ha intenzione di cancellare molte cose, verificare che Gajim non sia "
-"in esecuzione. Generalmente evitare di eliminare dati sui contatti con cui "
-"si sta conversando."
+"Se hai intenzione di cancellare molte cose, verifica che Gajim non sia in "
+"esecuzione. Generalmente evita di eliminare conversazioni dei contatti con "
+"cui stai chattando."
 
 #: ../data/glade/history_manager.glade.h:7
 msgid "Delete"
@@ -1175,29 +1264,51 @@ msgstr "Esporta"
 
 #: ../data/glade/history_manager.glade.h:9
 msgid "Gajim History Logs Manager"
-msgstr "Gestore delle cronologie di Gajim"
+msgstr "Gestore cronologia di Gajim"
 
 #: ../data/glade/history_manager.glade.h:10
 msgid "_Search Database"
-msgstr "_Cerca base dati"
+msgstr "_Cerca nel database"
 
 #: ../data/glade/history_window.glade.h:1
+msgid "<b>History Viewer</b>"
+msgstr "<b>Gestore cronologia</b>"
+
+#: ../data/glade/history_window.glade.h:2
+msgid "<b>JID Selection</b>"
+msgstr "<b>Selezione JID</b>"
+
+#: ../data/glade/history_window.glade.h:3
 msgid "Build custom query"
 msgstr "Costruisci richiesta personalizzata"
 
-#: ../data/glade/history_window.glade.h:2
+#: ../data/glade/history_window.glade.h:4 ../src/history_window.py:199
 msgid "Conversation History"
 msgstr "Cronologia conversazione"
 
-#: ../data/glade/history_window.glade.h:3
+#: ../data/glade/history_window.glade.h:5
+msgid ""
+"Enter a contact jid or MUC jid here to view its history.\n"
+"If a contact is connected you can even enter his nick name.\n"
+msgstr ""
+"Inserisci il JID di un contatto o di una stanza di gruppo per visualizzarne "
+"la cronologia.\n"
+"Se il contatto è connesso puoi anche inserire il suo nickname.\n"
+
+#: ../data/glade/history_window.glade.h:8
 msgid "Query Builder..."
 msgstr "Costruttore richieste..."
 
-#: ../data/glade/history_window.glade.h:4
+#: ../data/glade/history_window.glade.h:9
 msgid "Search"
 msgstr "Cerca"
 
-#: ../data/glade/history_window.glade.h:5
+#: ../data/glade/history_window.glade.h:10
+#: ../data/glade/zeroconf_information_window.glade.h:10
+msgid "_Log conversation history"
+msgstr "_Memorizza cronologia conversazione"
+
+#: ../data/glade/history_window.glade.h:11 ../src/disco.py:1172
 msgid "_Search"
 msgstr "_Cerca"
 
@@ -1214,7 +1325,7 @@ msgstr "Nega"
 msgid "Invitation Received"
 msgstr "Invito ricevuto"
 
-#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1148
+#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1265
 msgid "Join Group Chat"
 msgstr "Entra in chat di gruppo"
 
@@ -1223,14 +1334,14 @@ msgid "Join this room automatically when I connect"
 msgstr "Entra automaticamente in questa stanza alla connessione"
 
 #: ../data/glade/join_groupchat_window.glade.h:3
-#: ../data/glade/manage_bookmarks_window.glade.h:4
-#: ../data/glade/profile_window.glade.h:23
-#: ../data/glade/vcard_information_window.glade.h:29
+#: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/profile_window.glade.h:24
+#: ../data/glade/vcard_information_window.glade.h:31
 msgid "Nickname:"
 msgstr "Nickname:"
 
 #: ../data/glade/join_groupchat_window.glade.h:4
-#: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/manage_bookmarks_window.glade.h:6
 msgid "Password:"
 msgstr "Password:"
 
@@ -1239,12 +1350,12 @@ msgid "Recently:"
 msgstr "Recenti:"
 
 #: ../data/glade/join_groupchat_window.glade.h:6
-#: ../data/glade/manage_bookmarks_window.glade.h:7
+#: ../data/glade/manage_bookmarks_window.glade.h:8
 msgid "Room:"
 msgstr "Stanza:"
 
-#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1163
-#: ../src/disco.py:1546
+#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1160
+#: ../src/disco.py:1615
 msgid "_Join"
 msgstr "_Entra"
 
@@ -1258,21 +1369,25 @@ msgstr "Partecipa automaticamente"
 
 #: ../data/glade/manage_bookmarks_window.glade.h:2
 msgid "If checked, Gajim will join this group chat on startup"
-msgstr "Se marcato, all'avvio Gajim entrerà in questa chat di gruppo"
+msgstr "Se marcato, Gajim entrerà in questa chat di gruppo all'avvio"
 
 #: ../data/glade/manage_bookmarks_window.glade.h:3
 msgid "Manage Bookmarks"
 msgstr "Gestisci segnalibri"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:4
+msgid "Minimize on Auto Join"
+msgstr "Minimizza automaticamente"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:7
 msgid "Print status:"
 msgstr "Scrivi stato:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:8
+#: ../data/glade/manage_bookmarks_window.glade.h:9
 msgid "Server:"
 msgstr "Server:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:9
+#: ../data/glade/manage_bookmarks_window.glade.h:10
 msgid "Title:"
 msgstr "Titolo:"
 
@@ -1285,46 +1400,59 @@ msgid "<b>Settings</b>"
 msgstr "<b>Impostazioni</b>"
 
 #: ../data/glade/manage_proxies_window.glade.h:3
-msgid "HTTP Connect"
-msgstr "Connessione HTTP"
+#, fuzzy
+msgid ""
+"HTTP Connect\n"
+"SOCKS5"
+msgstr ""
+"Connessione HTTP\n"
+"SOCKS5"
 
-#: ../data/glade/manage_proxies_window.glade.h:4
+#: ../data/glade/manage_proxies_window.glade.h:5
 msgid "Manage Proxy Profiles"
 msgstr "Gestisci profili proxy"
 
-#: ../data/glade/manage_proxies_window.glade.h:5
-#: ../data/glade/profile_window.glade.h:22
-#: ../data/glade/vcard_information_window.glade.h:28
+#: ../data/glade/manage_proxies_window.glade.h:6
+#: ../data/glade/profile_window.glade.h:23
+#: ../data/glade/vcard_information_window.glade.h:30
 msgid "Name:"
 msgstr "Nome:"
 
 #: ../data/glade/manage_proxies_window.glade.h:7
+msgid "Pass_word:"
+msgstr "Pass_word:"
+
+#: ../data/glade/manage_proxies_window.glade.h:8
 msgid "Type:"
 msgstr "Tipo:"
 
-#: ../data/glade/manage_proxies_window.glade.h:8
+#: ../data/glade/manage_proxies_window.glade.h:9
 msgid "Use authentication"
 msgstr "Usa autenticazione"
 
+#: ../data/glade/manage_proxies_window.glade.h:10
+msgid "_Host:"
+msgstr "_Host:"
+
 #: ../data/glade/message_window.glade.h:1
 msgid "Click to insert an emoticon (Alt+M)"
-msgstr "Cliccare per inserire un emoticon (Alt+M)"
+msgstr "Clicca per inserire un emoticon (Alt+M)"
 
-#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1109
+#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1213
 msgid "OpenPGP Encryption"
 msgstr "Cifratura OpenPGP"
 
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:4
-#: ../data/glade/roster_window.glade.h:10
+#: ../data/glade/roster_window.glade.h:12
 #: ../data/glade/subscription_request_window.glade.h:6
 msgid "_Actions"
-msgstr "A_zioni"
+msgstr "_Azioni"
 
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:6
 #: ../data/glade/xml_console_window.glade.h:11
-#: ../src/filetransfers_window.py:253
+#: ../src/filetransfers_window.py:243
 msgid "_Send"
 msgstr "_Invia"
 
@@ -1340,36 +1468,48 @@ msgstr "<b>Editor di configurazione avanzata</b>"
 msgid "<b>Applications</b>"
 msgstr "<b>Applicazioni</b>"
 
+#: ../data/glade/preferences_window.glade.h:3
+msgid "<b>Chat Appearance</b>"
+msgstr "<b>Aspetto della chat</b>"
+
 #. a header for custom browser/client/file manager. so translate sth like: Custom Settings
-#: ../data/glade/preferences_window.glade.h:4
+#: ../data/glade/preferences_window.glade.h:5
 msgid "<b>Custom</b>"
 msgstr "<b>Personalizzato</b>"
 
-#: ../data/glade/preferences_window.glade.h:5
+#: ../data/glade/preferences_window.glade.h:6
 msgid "<b>Format of a line</b>"
 msgstr "<b>Formato di una linea</b>"
 
-#: ../data/glade/preferences_window.glade.h:6
+#: ../data/glade/preferences_window.glade.h:7
 msgid "<b>GMail Options</b>"
 msgstr "<b>Opzioni GMail</b>"
 
-#: ../data/glade/preferences_window.glade.h:7
-msgid "<b>Interface Customization</b>"
-msgstr "<b>Personalizzazione dell'interfaccia</b>"
-
 #: ../data/glade/preferences_window.glade.h:9
 msgid "<b>Preset Status Messages</b>"
 msgstr "<b>Messaggi di stato predefiniti</b>"
 
+#: ../data/glade/preferences_window.glade.h:10
+msgid "<b>Privacy</b>"
+msgstr "<b>Privacy</b>"
+
 #: ../data/glade/preferences_window.glade.h:11
+msgid "<b>Roster Appearance</b>"
+msgstr "<b>Aspetto lista contatti</b>"
+
+#: ../data/glade/preferences_window.glade.h:13
+msgid "<b>Themes</b>"
+msgstr "<b>Temi</b>"
+
+#: ../data/glade/preferences_window.glade.h:14
 msgid "<b>Visual Notifications</b>"
 msgstr "<b>Notifiche visuali</b>"
 
-#: ../data/glade/preferences_window.glade.h:12
+#: ../data/glade/preferences_window.glade.h:15
 msgid "Advanced"
 msgstr "Avanzato"
 
-#: ../data/glade/preferences_window.glade.h:13
+#: ../data/glade/preferences_window.glade.h:16
 msgid ""
 "All chat states\n"
 "Composing only\n"
@@ -1379,45 +1519,41 @@ msgstr ""
 "Solo composizione\n"
 "Disattivato"
 
-#: ../data/glade/preferences_window.glade.h:16
+#: ../data/glade/preferences_window.glade.h:19
 msgid "Allow _OS information to be sent"
 msgstr "Consentire invio di informazioni sull'_OS"
 
-#: ../data/glade/preferences_window.glade.h:17
+#: ../data/glade/preferences_window.glade.h:20
 msgid "Allow popup/notifications when I'm _away/na/busy/invisible"
 msgstr "Consentire notifiche/popup quando _assente/nd/occupato/invisibile."
 
-#: ../data/glade/preferences_window.glade.h:18
-msgid "Also known as iChat style"
-msgstr "Conosciuto anche come stile iChat"
-
-#: ../data/glade/preferences_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:21
 msgid "Always check to see if Gajim is the _default Jabber client on startup"
 msgstr "Verifica sempre se Gajim è il client Jabber _predefinito all'avvio"
 
-#: ../data/glade/preferences_window.glade.h:20
+#: ../data/glade/preferences_window.glade.h:22
 msgid ""
 "An example: If you have enabled status message for away, Gajim won't ask you "
 "anymore for a status message when you change your status to away; it will "
 "use the default one set here"
 msgstr ""
 "Un esempio: se si ha abilitato il messaggio di stato per l'assenza, Gajim "
-"non chiederà più il messaggio di stato si diventa assente; verrà usato il "
-"valore predefinito impostato qui"
+"non chiederà più il messaggio di stato quando si diventa assente; verrà "
+"usato il valore predefinito impostato qui"
 
-#: ../data/glade/preferences_window.glade.h:21
+#: ../data/glade/preferences_window.glade.h:23
 msgid "Ask status message when I:"
 msgstr "Chiedi messaggio di stato per:"
 
-#: ../data/glade/preferences_window.glade.h:22
+#: ../data/glade/preferences_window.glade.h:24
 msgid "Auto _away after:"
 msgstr "_Assente automaticamente dopo:"
 
-#: ../data/glade/preferences_window.glade.h:23
+#: ../data/glade/preferences_window.glade.h:25
 msgid "Auto _not available after:"
-msgstr "N_on disponibile automaticamente dopo:"
+msgstr "_Non disponibile automaticamente dopo:"
 
-#: ../data/glade/preferences_window.glade.h:24
+#: ../data/glade/preferences_window.glade.h:26
 msgid ""
 "Autodetect on every Gajim startup\n"
 "Always use GNOME default applications\n"
@@ -1425,34 +1561,29 @@ msgid ""
 "Always use XFCE4 default applications\n"
 "Custom"
 msgstr ""
-"Ricerca in automatico ad ogni avvio di Gajim\n"
+"Rilevamento automatico ad ogni avvio di Gajim\n"
 "Usa sempre le applicazioni predefinite di GNOME\n"
 "Usa sempre le applicazioni predefinite di KDE\n"
 "Usa sempre le applicazioni predefinite XFCE4\n"
-"Personalizza"
-
-#: ../data/glade/preferences_window.glade.h:29 ../src/chat_control.py:852
-msgid "Chat"
-msgstr "Chat"
+"Personalizzate"
 
-#: ../data/glade/preferences_window.glade.h:30
+#: ../data/glade/preferences_window.glade.h:31
 msgid ""
 "Check this option, only if someone you don't have in the roster spams/annoys "
 "you. Use with caution, because it blocks all messages from any contact that "
 "is not in the roster"
-msgstr "Selezionare questa opzione solo se qualche utente fuori dalla lista contatti spamma o disturba. Usare con cautela: verranno bloccati tutti i messaggi ricevuti da chi non è membro della lista contatti."
+msgstr ""
+"Selezionare questa opzione solo se qualche utente fuori dalla lista contatti "
+"spamma o disturba. Usare con cautela, poiché verranno bloccati tutti i "
+"messaggi ricevuti da chi non è membro della lista contatti."
 
-#: ../data/glade/preferences_window.glade.h:31
+#: ../data/glade/preferences_window.glade.h:32
 msgid "Configure color and font of the interface"
 msgstr "Configura colore e tipo di carattere per l'interfaccia"
 
-#: ../data/glade/preferences_window.glade.h:32
-msgid "Default Status Messages"
-msgstr "Messaggio di stato"
-
 #: ../data/glade/preferences_window.glade.h:33
-msgid "Default status _iconset:"
-msgstr "_Icone stato predefinite:"
+msgid "Default Status Messages"
+msgstr "Messaggi di stato preimpostati"
 
 #: ../data/glade/preferences_window.glade.h:34
 msgid ""
@@ -1466,33 +1597,25 @@ msgstr ""
 
 #: ../data/glade/preferences_window.glade.h:37
 msgid "Display _extra email details"
-msgstr "Mostra _dettagli email extra"
+msgstr "Mostra dettagli email _extra"
 
 #: ../data/glade/preferences_window.glade.h:38
 msgid "Display a_vatars of contacts in roster"
-msgstr "Mostra gli a_vatar dei contatti nella lista"
+msgstr "Mostra gli a_vatar dei contatti nella lista contatti"
 
 #: ../data/glade/preferences_window.glade.h:39
 msgid "Display status _messages of contacts in roster"
-msgstr "Mostra i _messaggi di stato dei contatti nella lista"
+msgstr "Mostra i _messaggi di stato dei contatti nella lista contatti"
 
 #: ../data/glade/preferences_window.glade.h:40
-msgid "Displayed Chat state noti_fications:"
-msgstr "Noti_fiche dello stato di chat"
-
-#: ../data/glade/preferences_window.glade.h:41
-msgid "E_very 5 minutes"
-msgstr "_Ogni 5 minuti"
-
-#: ../data/glade/preferences_window.glade.h:42
 msgid "Emoticons:"
 msgstr "Emoticon:"
 
-#: ../data/glade/preferences_window.glade.h:43
+#: ../data/glade/preferences_window.glade.h:41
 msgid "Events"
 msgstr "Eventi"
 
-#: ../data/glade/preferences_window.glade.h:44
+#: ../data/glade/preferences_window.glade.h:42
 msgid ""
 "Gajim can send and receive meta-information related to a conversation you "
 "may have with a contact. Here you can specify which chatstates you want to "
@@ -1500,9 +1623,9 @@ msgid ""
 msgstr ""
 "Gajim può ricevere ed inviare meta-informazioni relative ad una "
 "conversazione con un contatto. Qui è possibile specificare che stati di chat "
-"si vogliono inviare al corrispondente."
+"si vogliono visualizzare nella finestra di chat."
 
-#: ../data/glade/preferences_window.glade.h:45
+#: ../data/glade/preferences_window.glade.h:43
 msgid ""
 "Gajim can send and receive meta-information related to a conversation you "
 "may have with a contact. Here you can specify which chatstates you want to "
@@ -1510,30 +1633,9 @@ msgid ""
 msgstr ""
 "Gajim può ricevere ed inviare meta-informazioni relative ad una "
 "conversazione con un contatto. Qui è possibile specificare che stati di chat "
-"si vogliono inviare al corrispondente."
-
-#: ../data/glade/preferences_window.glade.h:46
-msgid ""
-"Gajim will automatically show new events by popping up the relevant window"
-msgstr "Gajim mostrerà automaticamente i nuovi eventi sollevando la finestra relativa"
-
-#: ../data/glade/preferences_window.glade.h:47
-msgid ""
-"Gajim will notify you for new events via a popup in the bottom right of the "
-"screen"
-msgstr ""
-"Gajim notificherà i nuovi eventi tramite popup nell'angolo in fondo a destra "
-"dello schermo"
-
-#: ../data/glade/preferences_window.glade.h:48
-msgid ""
-"Gajim will notify you via a popup window in the bottom right of the screen "
-"about contacts that just signed in"
-msgstr ""
-"Gajim notificherà tramite popup nell'angolo in fondo a destra dello schermo "
-"quando un contatto si connette"
+"si vogliono inviare al contatto."
 
-#: ../data/glade/preferences_window.glade.h:49
+#: ../data/glade/preferences_window.glade.h:44
 msgid ""
 "Gajim will notify you via a popup window in the bottom right of the screen "
 "about contacts that just signed out"
@@ -1541,12 +1643,11 @@ msgstr ""
 "Gajim notificherà tramite popup nell'angolo in fondo a destra dello schermo "
 "quando un contatto si disconnette"
 
-#: ../data/glade/preferences_window.glade.h:50
-msgid ""
-"Gajim will only change the icon of the contact that triggered the new event"
-msgstr "Gajim cambierà solamente l'icona del contatto fonte del nuovo evento"
+#: ../data/glade/preferences_window.glade.h:46
+msgid "Hides buttons in chatwindows to "
+msgstr "Nasconde i pulsanti nella finestra di chat"
 
-#: ../data/glade/preferences_window.glade.h:52
+#: ../data/glade/preferences_window.glade.h:47
 msgid ""
 "If checked, Gajim will also include information about the sender of the new "
 "emails"
@@ -1554,7 +1655,7 @@ msgstr ""
 "Se selezionato, Gajim includerà informazioni riguardo al mittente delle "
 "nuove email"
 
-#: ../data/glade/preferences_window.glade.h:53
+#: ../data/glade/preferences_window.glade.h:48
 msgid ""
 "If checked, Gajim will display avatars of contacts in roster window and in "
 "group chats"
@@ -1562,7 +1663,7 @@ msgstr ""
 "Se marcato, Gajim mostrerà gli avatar dei contatti nella lista contatti e "
 "nelle chat di gruppo"
 
-#: ../data/glade/preferences_window.glade.h:54
+#: ../data/glade/preferences_window.glade.h:49
 msgid ""
 "If checked, Gajim will display status messages of contacts under the contact "
 "name in roster window and in group chats"
@@ -1570,25 +1671,17 @@ msgstr ""
 "Se marcato, Gajim mostrerà il messaggio di stato di ogni membro di lista "
 "contatti e chat di gruppo sotto il suo nome"
 
-#: ../data/glade/preferences_window.glade.h:55
-msgid ""
-"If checked, Gajim will remember the roster and chat window positions in the "
-"screen and the sizes of them next time you run it"
-msgstr ""
-"Se marcato, Gajim manterrà le posizioni delle finestre di chat e della lista "
-"contatti sullo schermo la prossima volta che verrà eseguito"
-
-#: ../data/glade/preferences_window.glade.h:56
+#: ../data/glade/preferences_window.glade.h:50
 msgid ""
 "If checked, Gajim will use protocol-specific status icons. (eg. A contact "
 "from MSN will have the equivalent msn icon for status online, away, busy, "
 "etc...)"
 msgstr ""
 "Se marcato, Gajim userà icone di stato specifiche per il protocollo usato. "
-"(es., un contatto MSN avrà l'icona MSN equivalente per gli stati online, "
+"(es. un contatto MSN avrà l'icona MSN equivalente per gli stati disponibile, "
 "assente, occupato, ecc...)"
 
-#: ../data/glade/preferences_window.glade.h:57
+#: ../data/glade/preferences_window.glade.h:51
 msgid ""
 "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent "
 "animated or static graphical emoticons"
@@ -1596,15 +1689,15 @@ msgstr ""
 "Se marcato, Gajim sostituirà gli smiley ASCII come ':)' con gli equivalenti "
 "emoticon grafici animati o statici"
 
-#: ../data/glade/preferences_window.glade.h:58
+#: ../data/glade/preferences_window.glade.h:52
 msgid "Ignore rich content in incoming messages"
-msgstr "Ignora il rich content dei messaggi ricevuti"
+msgstr "Ignora la formattazione dei messaggi ricevuti"
 
-#: ../data/glade/preferences_window.glade.h:59
+#: ../data/glade/preferences_window.glade.h:53
 msgid "Ma_nage..."
 msgstr "_Gestisci..."
 
-#: ../data/glade/preferences_window.glade.h:60
+#: ../data/glade/preferences_window.glade.h:54
 msgid ""
 "Never\n"
 "Always\n"
@@ -1616,211 +1709,197 @@ msgstr ""
 "Per account\n"
 "Per tipo"
 
-#: ../data/glade/preferences_window.glade.h:64
-msgid "Notify me about contacts that: "
-msgstr "Notificare i contatti che eseguono:"
+#: ../data/glade/preferences_window.glade.h:58
+msgid "Notify me about contacts that sign _in"
+msgstr "Mostra notifica per i contatti che si _connettono"
+
+#: ../data/glade/preferences_window.glade.h:59
+msgid "Notify me about contacts that sign _out"
+msgstr "Mostra notifica per i contatti che si _disconnettono"
 
-#: ../data/glade/preferences_window.glade.h:65
+#: ../data/glade/preferences_window.glade.h:60
 msgid "Notify on new _GMail email"
 msgstr "Notifica le nuove e-mail su _Gmail"
 
-#: ../data/glade/preferences_window.glade.h:66
-msgid "On every _message"
-msgstr "In _tutti i messaggi"
-
-#: ../data/glade/preferences_window.glade.h:67
-msgid "One message _window:"
-msgstr "Una _finestra messaggi:"
-
-#: ../data/glade/preferences_window.glade.h:68
-msgid "Outgoing Chat state noti_fications:"
-msgstr "Noti_fiche dello stato di chat"
-
-#: ../data/glade/preferences_window.glade.h:69
+#: ../data/glade/preferences_window.glade.h:61
 msgid "Play _sounds"
 msgstr "Riproduci _suoni"
 
-#: ../data/glade/preferences_window.glade.h:70
+#: ../data/glade/preferences_window.glade.h:62
+msgid ""
+"Pop it up\n"
+"Notify me about it\n"
+"Show only in roster"
+msgstr ""
+"Mostra immediatamente\n"
+"Mostra una notifica\n"
+"Mostra solo nella lista contatti"
+
+#: ../data/glade/preferences_window.glade.h:65
 msgid "Preferences"
 msgstr "Preferenze"
 
-#: ../data/glade/preferences_window.glade.h:71
-msgid "Print time:"
-msgstr "Scrivi ora:"
-
-#: ../data/glade/preferences_window.glade.h:72
-msgid "Save _position and size for roster and chat windows"
-msgstr "Salva _posizione e dimensione delle finestre di chat e lista contatti"
+#: ../data/glade/preferences_window.glade.h:66
+msgid "Privacy"
+msgstr "Privacy"
 
-#: ../data/glade/preferences_window.glade.h:73
+#: ../data/glade/preferences_window.glade.h:67
 msgid "Set status message to reflect currently playing _music track"
 msgstr ""
-"Imposta il messaggio di stato in modo che rifletta la traccia _musicale "
-"correntemente ascoltata"
-
-#: ../data/glade/preferences_window.glade.h:74
-msgid "Show only in _roster"
-msgstr "Mostra solo nella lista _contatti"
+"Imposta il messaggio di stato in modo che rifletta la traccia _musicale in "
+"riproduzione"
 
-#: ../data/glade/preferences_window.glade.h:75
+#: ../data/glade/preferences_window.glade.h:68
 msgid "Sign _in"
 msgstr "C_onnessione"
 
-#: ../data/glade/preferences_window.glade.h:76
+#: ../data/glade/preferences_window.glade.h:69
 msgid "Sign _out"
 msgstr "_Disconnessione"
 
-#: ../data/glade/preferences_window.glade.h:77
+#: ../data/glade/preferences_window.glade.h:70
 msgid ""
 "Some messages may include rich content (formatting, colors etc). If checked, "
 "Gajim will just display the raw message text."
 msgstr ""
-"Alcuni messaggi potrebbero includere con contenuto ricco (formattazione, "
-"colori, ecc.). Se selezionato, Gajim li mostrerà come messaggi semplici."
+"Alcuni messaggi potrebbero includere contenuto ricco (formattazione, colori, "
+"ecc.). Se selezionato, Gajim li mostrerà come messaggi semplici."
 
-#: ../data/glade/preferences_window.glade.h:78
+#: ../data/glade/preferences_window.glade.h:71
 msgid "Status"
 msgstr "Stato"
 
-#: ../data/glade/preferences_window.glade.h:79
+#: ../data/glade/preferences_window.glade.h:72
+msgid "Status _iconset:"
+msgstr "_Icone di stato:"
+
+#: ../data/glade/preferences_window.glade.h:73
 msgid "T_heme:"
 msgstr "T_ema:"
 
-#: ../data/glade/preferences_window.glade.h:80
+#: ../data/glade/preferences_window.glade.h:74
 msgid "The auto away status message"
 msgstr "Il messaggio di stato per l'assenza automatica"
 
-#: ../data/glade/preferences_window.glade.h:81
+#: ../data/glade/preferences_window.glade.h:75
 msgid "The auto not available status message"
 msgstr "Il messaggio di stato per il 'non disponibile' automatico"
 
-#: ../data/glade/preferences_window.glade.h:82
+#: ../data/glade/preferences_window.glade.h:76
 msgid "Treat all incoming messages as:"
 msgstr "Trattare tutti i messaggi in arrivo come:"
 
-#: ../data/glade/preferences_window.glade.h:83
+#: ../data/glade/preferences_window.glade.h:77
 msgid "Use _transports iconsets"
 msgstr "Usa le icone dei _trasporti"
 
-#: ../data/glade/preferences_window.glade.h:84
+#: ../data/glade/preferences_window.glade.h:78
+msgid "Use only one message _window:"
+msgstr "Usa solo una _finestra dei messaggi:"
+
+#: ../data/glade/preferences_window.glade.h:79
 msgid "Use system _default"
 msgstr "Usa il sistema _predefinito"
 
-#: ../data/glade/preferences_window.glade.h:85
-msgid "Use t_rayicon (aka. notification area icon)"
-msgstr "Usa _icona nell'area di notifica"
-
-#: ../data/glade/preferences_window.glade.h:86
-msgid ""
-"When a new event (message, file transfer request etc..) is received, the "
-"following methods may be used to inform you about it. Please note that "
-"events about new messages only occur if it is a new message from a contact "
-"you are not already chatting with"
-msgstr ""
-"Quando un nuovo evento (messaggio, richiesta di trasferimento file, ecc...) "
-"viene ricevuto, i seguenti metodi possono venire usati per informarti di "
-"ciò. Notare che gli eventi per i nuovi messaggi avverranno solo se si tratta "
-"di un nuovo messaggio da un contatto con cui non si sta già chattando"
-
-#: ../data/glade/preferences_window.glade.h:87
-msgid "When new event is received"
-msgstr "Quando si riceve un nuovo evento"
+#: ../data/glade/preferences_window.glade.h:80
+msgid "When new event is received:"
+msgstr "Quando si riceve un nuovo evento:"
 
-#: ../data/glade/preferences_window.glade.h:88
+#: ../data/glade/preferences_window.glade.h:81
 msgid ""
 "Works for Rhythmbox and Muine players. For more players, please visit http://"
 "trac.gajim.org/wiki/GajimAndMusicPlayer"
 msgstr ""
-"Funziona con Rhythmbox e Muine. Per altri player visita http://trac.gajim."
+"Funziona con Rhythmbox e Muine. Per altri player, visita http://trac.gajim."
 "org/wiki/GajimAndMusicPlayer"
 
-#: ../data/glade/preferences_window.glade.h:89
+#: ../data/glade/preferences_window.glade.h:82
 msgid "_Advanced Notifications Control..."
 msgstr "Controllo notifiche _avanzato..."
 
-#: ../data/glade/preferences_window.glade.h:90
+#: ../data/glade/preferences_window.glade.h:83
 msgid "_Browser:"
 msgstr "_Browser:"
 
-#: ../data/glade/preferences_window.glade.h:91
+#: ../data/glade/preferences_window.glade.h:84
+msgid "_Display chat state notifications:"
+msgstr "Notifica dello stato di chat in _entrata:"
+
+#: ../data/glade/preferences_window.glade.h:85
 msgid "_File manager:"
-msgstr "Gestore _file:"
+msgstr "_File manager:"
 
-#: ../data/glade/preferences_window.glade.h:92
+#: ../data/glade/preferences_window.glade.h:86
 msgid "_Font:"
 msgstr "_Carattere:"
 
-#: ../data/glade/preferences_window.glade.h:93
+#: ../data/glade/preferences_window.glade.h:87
 msgid "_Highlight misspelled words"
-msgstr "Evidenzia _parole scorrette"
+msgstr "_Evidenzia parole errate"
 
-#: ../data/glade/preferences_window.glade.h:94
+#: ../data/glade/preferences_window.glade.h:88
 msgid "_Ignore events from contacts not in the roster"
 msgstr "_Ignora gli eventi da contatti non appartenenti alla lista"
 
-#: ../data/glade/preferences_window.glade.h:95
+#: ../data/glade/preferences_window.glade.h:89
 msgid "_Incoming message:"
 msgstr "Messaggio in _arrivo:"
 
-#: ../data/glade/preferences_window.glade.h:96
+#: ../data/glade/preferences_window.glade.h:90
 msgid "_Log status changes of contacts"
 msgstr "_Registra i cambiamenti di stato dei contatti"
 
-#: ../data/glade/preferences_window.glade.h:97
+#: ../data/glade/preferences_window.glade.h:91
 msgid "_Mail client:"
-msgstr "_Client mail:"
-
-#: ../data/glade/preferences_window.glade.h:98
-msgid "_Never"
-msgstr "_Mai"
+msgstr "_Client di posta:"
 
-#: ../data/glade/preferences_window.glade.h:99
-msgid "_Notify me about it"
-msgstr "_Notifica"
+#: ../data/glade/preferences_window.glade.h:92
+msgid "_Make message windows compact"
+msgstr "Rendi compatta la finestra dei _messaggi"
 
-#: ../data/glade/preferences_window.glade.h:100
+#: ../data/glade/preferences_window.glade.h:93
 msgid "_Open..."
 msgstr "_Apri..."
 
-#: ../data/glade/preferences_window.glade.h:101
+#: ../data/glade/preferences_window.glade.h:94
 msgid "_Outgoing message:"
 msgstr "Messaggio in _uscita:"
 
-#: ../data/glade/preferences_window.glade.h:102
+#: ../data/glade/preferences_window.glade.h:95
 msgid "_Player:"
 msgstr "_Riproduttore:"
 
-#: ../data/glade/preferences_window.glade.h:103
-msgid "_Pop it up"
-msgstr "_Mostra"
-
-#: ../data/glade/preferences_window.glade.h:104
+#: ../data/glade/preferences_window.glade.h:96
 msgid "_Reset to Default Colors"
 msgstr "_Reimposta ai colori di default"
 
-#: ../data/glade/preferences_window.glade.h:105
+#: ../data/glade/preferences_window.glade.h:97
+msgid "_Send chat state notifications:"
+msgstr "Notifica dello stato di chat in usci_ta:"
+
+#: ../data/glade/preferences_window.glade.h:98
 msgid "_Sort contacts by status"
 msgstr "_Ordina i contatti per stato"
 
-#: ../data/glade/preferences_window.glade.h:106
+#: ../data/glade/preferences_window.glade.h:99
 msgid "_Status message:"
 msgstr "Messaggio di _stato:"
 
-#: ../data/glade/preferences_window.glade.h:107
+#: ../data/glade/preferences_window.glade.h:100
 msgid "_URL:"
 msgstr "_URL:"
 
-#: ../data/glade/preferences_window.glade.h:108
+#: ../data/glade/preferences_window.glade.h:101
 msgid "minutes"
 msgstr "minuti"
 
 #: ../data/glade/privacy_lists_window.glade.h:1
 msgid "Privacy Lists:"
-msgstr "Liste utenti bloccati:"
+msgstr "Liste privacy:"
 
 #: ../data/glade/privacy_list_window.glade.h:1
 msgid "<b>Add / Edit a rule</b>"
-msgstr "<b>Aggiungi/ modifica una regola</b>"
+msgstr "<b>Aggiungi/modifica una regola</b>"
 
 #: ../data/glade/privacy_list_window.glade.h:2
 msgid "<b>List of rules</b>"
@@ -1832,15 +1911,15 @@ msgstr "<i>Lista privacy</i>"
 
 #: ../data/glade/privacy_list_window.glade.h:4
 msgid "Active for this session"
-msgstr "Attivo per la sessione corrente"
+msgstr "Attiva per questa sessione"
 
 #: ../data/glade/privacy_list_window.glade.h:5
 msgid "Active on each startup"
-msgstr "Attivo ad ogni avvio di Gajim"
+msgstr "Attiva ad ogni avvio di Gajim"
 
 #: ../data/glade/privacy_list_window.glade.h:6
 msgid "All"
-msgstr "Tutti"
+msgstr "a tutti"
 
 #: ../data/glade/privacy_list_window.glade.h:7
 msgid "Allow"
@@ -1854,17 +1933,17 @@ msgstr "ID Jabber"
 msgid "Order:"
 msgstr "Ordine:"
 
-#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:1862
+#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2104
 msgid "Privacy List"
-msgstr "Lista utenti bloccati"
+msgstr "Lista privacy"
 
 #: ../data/glade/privacy_list_window.glade.h:12
 msgid "all by subscription"
-msgstr "tutti per abbonamento"
+msgstr "a tutti per abbonamento"
 
 #: ../data/glade/privacy_list_window.glade.h:13
 msgid "all in the group"
-msgstr "tutti nel gruppo"
+msgstr "a tutti nel gruppo"
 
 #: ../data/glade/privacy_list_window.glade.h:14
 msgid ""
@@ -1880,19 +1959,19 @@ msgstr ""
 
 #: ../data/glade/privacy_list_window.glade.h:18
 msgid "to send me messages"
-msgstr "invio di messaggi"
+msgstr "di inviarmi messaggi"
 
 #: ../data/glade/privacy_list_window.glade.h:19
 msgid "to send me queries"
-msgstr "invio di richieste"
+msgstr "di inviarmi richieste"
 
 #: ../data/glade/privacy_list_window.glade.h:20
 msgid "to send me status"
-msgstr "invio di stato"
+msgstr "di inviarmi uno stato"
 
 #: ../data/glade/privacy_list_window.glade.h:21
 msgid "to view my status"
-msgstr "vedere il mio stato"
+msgstr "di vedere il mio stato"
 
 #. "About" is the text of a tab of vcard window
 #: ../data/glade/profile_window.glade.h:2
@@ -1920,121 +1999,118 @@ msgid "City:"
 msgstr "Città:"
 
 #: ../data/glade/profile_window.glade.h:7
+msgid "Click to set your avatar"
+msgstr "Clicca per inserire l'avatar"
+
+#: ../data/glade/profile_window.glade.h:8
 #: ../data/glade/vcard_information_window.glade.h:10
 msgid "Company:"
 msgstr "Società:"
 
-#: ../data/glade/profile_window.glade.h:8
-#: ../data/glade/vcard_information_window.glade.h:13
-msgid "Country:"
-msgstr "Paese:"
-
 #: ../data/glade/profile_window.glade.h:9
 #: ../data/glade/vcard_information_window.glade.h:14
-msgid "Department:"
-msgstr "Dipartimento:"
+msgid "Country:"
+msgstr "Paese:"
 
 #: ../data/glade/profile_window.glade.h:10
 #: ../data/glade/vcard_information_window.glade.h:15
-#: ../data/glade/zeroconf_information_window.glade.h:2
-#: ../data/glade/zeroconf_properties_window.glade.h:5
-msgid "E-Mail:"
-msgstr "E-Mail:"
+msgid "Department:"
+msgstr "Dipartimento:"
 
-#: ../data/glade/profile_window.glade.h:11
-#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/profile_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:17
 msgid "Extra Address:"
 msgstr "Indirizzo extra:"
 
 #. Family Name
-#: ../data/glade/profile_window.glade.h:13
-#: ../data/glade/vcard_information_window.glade.h:18
+#: ../data/glade/profile_window.glade.h:14
+#: ../data/glade/vcard_information_window.glade.h:19
 msgid "Family:"
 msgstr "Cognome:"
 
 #. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly)
-#: ../data/glade/profile_window.glade.h:15
-#: ../data/glade/vcard_information_window.glade.h:20
+#: ../data/glade/profile_window.glade.h:16
+#: ../data/glade/vcard_information_window.glade.h:21
 msgid "Format: YYYY-MM-DD"
 msgstr "Formato: AAAA-MM-GG"
 
-#. Given Name
 #: ../data/glade/profile_window.glade.h:17
 #: ../data/glade/vcard_information_window.glade.h:22
+msgid "Full Name"
+msgstr "Nome completo"
+
+#. Given Name
+#: ../data/glade/profile_window.glade.h:19
+#: ../data/glade/vcard_information_window.glade.h:24
 msgid "Given:"
 msgstr "Nome:"
 
-#: ../data/glade/profile_window.glade.h:18
-#: ../data/glade/vcard_information_window.glade.h:23
+#: ../data/glade/profile_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:25
 msgid "Homepage:"
 msgstr "Homepage:"
 
 #. Middle Name
-#: ../data/glade/profile_window.glade.h:20
-#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/profile_window.glade.h:22
+#: ../data/glade/vcard_information_window.glade.h:28
 msgid "Middle:"
 msgstr "Secondo nome:"
 
-#: ../data/glade/profile_window.glade.h:21
-#: ../data/glade/vcard_information_window.glade.h:27
-msgid "More"
-msgstr "Ancora"
-
-#: ../data/glade/profile_window.glade.h:24
-#: ../data/glade/vcard_information_window.glade.h:31
+#: ../data/glade/profile_window.glade.h:25
+#: ../data/glade/vcard_information_window.glade.h:34
 msgid "Personal Info"
 msgstr "Informazioni personali"
 
-#: ../data/glade/profile_window.glade.h:26
-#: ../data/glade/vcard_information_window.glade.h:32
+#: ../data/glade/profile_window.glade.h:27
+#: ../data/glade/vcard_information_window.glade.h:35
 msgid "Phone No.:"
 msgstr "Telefono:"
 
-#: ../data/glade/profile_window.glade.h:27
-#: ../data/glade/vcard_information_window.glade.h:33
+#: ../data/glade/profile_window.glade.h:28
+#: ../data/glade/vcard_information_window.glade.h:36
 msgid "Position:"
 msgstr "Titolo:"
 
-#: ../data/glade/profile_window.glade.h:28
-#: ../data/glade/vcard_information_window.glade.h:34
+#: ../data/glade/profile_window.glade.h:29
+#: ../data/glade/vcard_information_window.glade.h:37
 msgid "Postal Code:"
 msgstr "Codice postale:"
 
 #. Prefix in Name
-#: ../data/glade/profile_window.glade.h:30
-#: ../data/glade/vcard_information_window.glade.h:36
+#: ../data/glade/profile_window.glade.h:31
+#: ../data/glade/vcard_information_window.glade.h:39
 msgid "Prefix:"
 msgstr "Prefisso:"
 
-#: ../data/glade/profile_window.glade.h:31
-#: ../data/glade/vcard_information_window.glade.h:38 ../src/vcard.py:273
+#: ../data/glade/profile_window.glade.h:32
+#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:302
 msgid "Role:"
 msgstr "Ruolo:"
 
-#: ../data/glade/profile_window.glade.h:32
-#: ../data/glade/vcard_information_window.glade.h:39
+#: ../data/glade/profile_window.glade.h:33
+#: ../data/glade/vcard_information_window.glade.h:42
 msgid "State:"
 msgstr "Regione:"
 
-#: ../data/glade/profile_window.glade.h:33
-#: ../data/glade/vcard_information_window.glade.h:41
+#: ../data/glade/profile_window.glade.h:34
+#: ../data/glade/vcard_information_window.glade.h:44
 msgid "Street:"
 msgstr "Via:"
 
 #. Suffix in Name
-#: ../data/glade/profile_window.glade.h:35
-#: ../data/glade/vcard_information_window.glade.h:45
+#: ../data/glade/profile_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:48
 msgid "Suffix:"
 msgstr "Suffisso:"
 
-#: ../data/glade/profile_window.glade.h:36
-#: ../data/glade/vcard_information_window.glade.h:46
+#: ../data/glade/profile_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:50
 msgid "Work"
 msgstr "Lavoro"
 
 #: ../data/glade/remove_account_window.glade.h:1
 msgid "<b>What do you want to do?</b>"
-msgstr "<b>Cosa fare?</b>"
+msgstr "<b>Cosa vuoi fare?</b>"
 
 #: ../data/glade/remove_account_window.glade.h:2
 msgid "Remove account _only from Gajim"
@@ -2042,135 +2118,165 @@ msgstr "Rimuovi l'account solo da _Gajim"
 
 #: ../data/glade/remove_account_window.glade.h:3
 msgid "Remove account from Gajim and from _server"
-msgstr "Eliminare l'account da Gajim e dal _server"
+msgstr "Rimuovi l'account da Gajim e dal _server"
+
+#. Remove
+#. Remove group
+#. Remove
+#: ../data/glade/remove_account_window.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../src/roster_window.py:2524 ../src/roster_window.py:2734
+#: ../src/roster_window.py:2870
+msgid "_Remove"
+msgstr "_Elimina"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:1
 msgid "A_sk to see his/her status"
 msgstr "_Chiedi di poter vedere il suo stato"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:2
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
-msgid "Add Special _Notification"
-msgstr "Crea _notifica speciale"
+msgid "Add Special _Notification..."
+msgstr "Aggiungi _notifica speciale..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:3
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
-msgid "Assign Open_PGP Key"
-msgstr "Assegna chiave Open_PGP"
+msgid "Assign Open_PGP Key..."
+msgstr "Assegna chiave Open_PGP..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:4
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
-#: ../src/roster_window.py:2076
-msgid "Edit _Groups"
-msgstr "Modifica _gruppi"
+msgid "Edit _Groups..."
+msgstr "Modifica _gruppi..."
 
+#. Execute Command
 #: ../data/glade/roster_contact_context_menu.glade.h:5
-#: ../src/roster_window.py:2211
+#: ../src/roster_window.py:2827
 msgid "Execute Command..."
-msgstr "Esegui Comando..."
+msgstr "Esegui comando..."
 
+#. Invite to Groupchat
 #: ../data/glade/roster_contact_context_menu.glade.h:6
-#: ../src/roster_window.py:2034
+#: ../src/roster_window.py:2440
 msgid "In_vite to"
 msgstr "In_vita a "
 
+#. Send Custom Status
 #: ../data/glade/roster_contact_context_menu.glade.h:7
-#: ../data/glade/systray_context_menu.glade.h:2
-msgid "Send Single _Message"
-msgstr "Invia _messaggio singolo"
+#: ../src/roster_window.py:2664 ../src/roster_window.py:2798
+msgid "Send Cus_tom Status"
+msgstr "Invia s_tato personalizzato"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Send Single _Message..."
+msgstr "Invia _messaggio singolo..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:9
+msgid "Send _File..."
+msgstr "Invia _file..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:10
+msgid "Set Custom _Avatar..."
+msgstr "Imposta _avatar personalizzato..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:11
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:5
 msgid "Start _Chat"
 msgstr "Inizia _chat"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:11
+#: ../data/glade/roster_contact_context_menu.glade.h:13
 msgid "_Allow him/her to see my status"
 msgstr "Permetti di _vedere il mio stato"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:12
-msgid "_Forbid him/her to see my status"
-msgstr "_Proibisci di vedere il mio stato"
-
-#. Remove group
 #: ../data/glade/roster_contact_context_menu.glade.h:14
-#: ../src/roster_window.py:2028 ../src/roster_window.py:2125
-#: ../src/roster_window.py:2232
-msgid "_Remove from Roster"
-msgstr "_Elimina dai contatti"
+#: ../src/roster_window.py:2514 ../src/roster_window.py:2725
+msgid "_Block"
+msgstr "_Blocca"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:15
+msgid "_Forbid him/her to see my status"
+msgstr "_Proibisci di vedere il mio stato"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:17
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7
-#: ../src/roster_window.py:2220
-msgid "_Rename"
-msgstr "_Rinomina"
+msgid "_Manage Contact"
+msgstr "_Gestisci contatto"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/roster_contact_context_menu.glade.h:19
+msgid "_Rename..."
+msgstr "_Rinomina..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:20
 msgid "_Subscription"
 msgstr "_Abbonamento"
 
+#: ../data/glade/roster_contact_context_menu.glade.h:21
+#: ../src/roster_window.py:2508 ../src/roster_window.py:2719
+msgid "_Unblock"
+msgstr "_Sblocca"
+
 #: ../data/glade/roster_window.glade.h:1
 msgid "A_ccounts"
 msgstr "_Account"
 
 #: ../data/glade/roster_window.glade.h:2
-msgid "Add _Contact"
-msgstr "Aggiungi _contatto"
+msgid "Add _Contact..."
+msgstr "Aggiungi _contatto......"
 
 #: ../data/glade/roster_window.glade.h:3
+msgid "Fea_tures"
+msgstr "Fun_zioni"
+
+#: ../data/glade/roster_window.glade.h:4
 msgid "File _Transfers"
 msgstr "_Trasferimenti file"
 
-#: ../data/glade/roster_window.glade.h:4
+#: ../data/glade/roster_window.glade.h:5
 msgid "Frequently Asked Questions (online)"
 msgstr "Domande frequenti (online)"
 
-#: ../data/glade/roster_window.glade.h:6
+#: ../data/glade/roster_window.glade.h:7
 msgid "Help online"
 msgstr "Aiuto online"
 
-#: ../data/glade/roster_window.glade.h:7
+#: ../data/glade/roster_window.glade.h:9
 msgid "Profile, A_vatar"
 msgstr "Profilo, a_vatar"
 
-#: ../data/glade/roster_window.glade.h:8
+#: ../data/glade/roster_window.glade.h:10
 msgid "Show Trans_ports"
 msgstr "Mostra tras_porti"
 
-#: ../data/glade/roster_window.glade.h:9
+#: ../data/glade/roster_window.glade.h:11
 msgid "Show _Offline Contacts"
 msgstr "Mostra contatti _offline"
 
-#: ../data/glade/roster_window.glade.h:12
+#: ../data/glade/roster_window.glade.h:14
 msgid "_Contents"
 msgstr "_Contenuti"
 
-#: ../data/glade/roster_window.glade.h:13
-msgid "_Discover Services"
-msgstr "_Ricerca servizi"
-
-#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1284
-#: ../src/roster_window.py:2203
+#: ../data/glade/roster_window.glade.h:16 ../src/disco.py:1348
 msgid "_Edit"
 msgstr "_Modifica"
 
-#: ../data/glade/roster_window.glade.h:15
+#: ../data/glade/roster_window.glade.h:17
 msgid "_FAQ"
 msgstr "_Domande frequenti"
 
-#: ../data/glade/roster_window.glade.h:17
+#: ../data/glade/roster_window.glade.h:18
 msgid "_Help"
 msgstr "_Aiuto"
 
-#: ../data/glade/roster_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:19
 msgid "_Preferences"
 msgstr "_Preferenze"
 
-#: ../data/glade/roster_window.glade.h:19
+#: ../data/glade/roster_window.glade.h:20
 msgid "_Quit"
 msgstr "_Esci"
 
 #: ../data/glade/roster_window.glade.h:21
+msgid "_Send Single Message..."
+msgstr "Invia _messaggio singolo..."
+
+#: ../data/glade/roster_window.glade.h:23
 msgid "_View"
 msgstr "_Visualizza"
 
@@ -2182,10 +2288,6 @@ msgstr "_Vai"
 msgid "_Address:"
 msgstr "_Indirizzo:"
 
-#: ../data/glade/service_discovery_window.glade.h:3
-msgid "_Filter:"
-msgstr "_Filtro:"
-
 #: ../data/glade/service_registration_window.glade.h:1
 msgid "Register to"
 msgstr "Registra a"
@@ -2250,7 +2352,8 @@ msgstr "Autorizza il contatto affinché sappia quando sei connesso"
 msgid ""
 "Deny authorization from contact so he or she cannot know when you're "
 "connected"
-msgstr "Nega l'autorizzazione al contatto cosicché non sappia quando sei connesso"
+msgstr ""
+"Nega l'autorizzazione al contatto cosicché non sappia quando sei connesso"
 
 #: ../data/glade/subscription_request_window.glade.h:4
 msgid "Subscription Request"
@@ -2264,6 +2367,10 @@ msgstr "_Nega"
 msgid "Mute Sounds"
 msgstr "Disabilita suoni"
 
+#: ../data/glade/systray_context_menu.glade.h:2
+msgid "Send Single _Message"
+msgstr "Invia _messaggio singolo"
+
 #: ../data/glade/systray_context_menu.glade.h:3
 msgid "Show All Pending _Events"
 msgstr "Mostra tutti gli _eventi in attesa"
@@ -2276,6 +2383,10 @@ msgstr "Mostra lista _contatti"
 msgid "Sta_tus"
 msgstr "Sta_to"
 
+#: ../data/glade/systray_context_menu.glade.h:6
+msgid "_Group Chat"
+msgstr "Chat di _gruppo"
+
 #. Given Name
 #: ../data/glade/vcard_information_window.glade.h:5
 msgid "Ask:"
@@ -2290,43 +2401,44 @@ msgid "Comments"
 msgstr "Commenti"
 
 #: ../data/glade/vcard_information_window.glade.h:11
+msgid "Configured avatar:"
+msgstr "Avatar personalizzato:"
+
+#: ../data/glade/vcard_information_window.glade.h:12
 #: ../data/glade/zeroconf_information_window.glade.h:1
 msgid "Contact"
 msgstr "Contatto"
 
-#: ../data/glade/vcard_information_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:13
 msgid "Contact Information"
 msgstr "Informazioni sul contatto"
 
-#: ../data/glade/vcard_information_window.glade.h:24
-#: ../data/glade/zeroconf_information_window.glade.h:4
-#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:416
-msgid "Jabber ID:"
-msgstr "ID Jabber: "
+#: ../data/glade/vcard_information_window.glade.h:29
+msgid "More"
+msgstr "Ancora"
 
-#: ../data/glade/vcard_information_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:33
 msgid "OS:"
 msgstr "OS:"
 
-#: ../data/glade/vcard_information_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:40
 #: ../data/glade/zeroconf_information_window.glade.h:8
 msgid "Resource:"
 msgstr "Risorsa:"
 
-#: ../data/glade/vcard_information_window.glade.h:40
+#: ../data/glade/vcard_information_window.glade.h:43
 #: ../data/glade/zeroconf_information_window.glade.h:9
 msgid "Status:"
 msgstr "Stato:"
 
 #. Family Name
-#: ../data/glade/vcard_information_window.glade.h:43
+#: ../data/glade/vcard_information_window.glade.h:46
 msgid "Subscription:"
 msgstr "Abbonamento:"
 
-#: ../data/glade/vcard_information_window.glade.h:47
-#: ../data/glade/zeroconf_information_window.glade.h:10
-msgid "_Log conversation history"
-msgstr "_Memorizza cronologia conversazione"
+#: ../data/glade/vcard_information_window.glade.h:49
+msgid "User avatar:"
+msgstr "Avatar dell'utente:"
 
 #: ../data/glade/xml_console_window.glade.h:1
 msgid "<b>Jabber Traffic</b>"
@@ -2336,11 +2448,6 @@ msgstr "<b>Traffico Jabber</b>"
 msgid "<b>XML Input</b>"
 msgstr "<b>Inserimento XML</b>"
 
-#. XML Console enable checkbutton
-#: ../data/glade/xml_console_window.glade.h:4
-msgid "Enable"
-msgstr "Abilita"
-
 #. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem)
 #: ../data/glade/xml_console_window.glade.h:6
 msgid "Info/Query"
@@ -2349,7 +2456,7 @@ msgstr "Info/Richiesta (Info/Query)"
 #. Info/Query: all(?) jabber xml start with <iq Leaving it _IQ is not a bad idea unless you are sure your lang has this somehow else translated (NOTE: xml still will still say <iq in your language (of course))
 #: ../data/glade/xml_console_window.glade.h:8
 msgid "_IQ"
-msgstr "I_Q"
+msgstr "_IQ"
 
 #: ../data/glade/xml_console_window.glade.h:9
 msgid "_Message"
@@ -2359,42 +2466,42 @@ msgstr "_Messaggio"
 msgid "_Presence"
 msgstr "_Presenza"
 
-#: ../data/glade/zeroconf_information_window.glade.h:3
-#: ../data/glade/zeroconf_properties_window.glade.h:6
-msgid "First Name:"
-msgstr "Nome:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
+msgid "Add Special _Notification"
+msgstr "Crea _notifica speciale"
 
-#: ../data/glade/zeroconf_information_window.glade.h:5
-#: ../data/glade/zeroconf_properties_window.glade.h:14
-msgid "Last Name:"
-msgstr "Cognome:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
+msgid "Assign Open_PGP Key"
+msgstr "Assegna chiave Open_PGP"
+
+#. Edit Groups
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
+#: ../src/roster_window.py:2497
+msgid "Edit _Groups"
+msgstr "Modifica _gruppi"
+
+#. Rename
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:8
+#: ../src/roster_window.py:2854
+msgid "_Rename"
+msgstr "_Rinomina"
+
+#: ../data/glade/zeroconf_context_menu.glade.h:1
+msgid "_Modify Account..."
+msgstr "_Modifica account..."
 
 #: ../data/glade/zeroconf_information_window.glade.h:6
 msgid "Local jid:"
-msgstr "Jid locale:"
+msgstr "JID locale:"
 
 #: ../data/glade/zeroconf_information_window.glade.h:7
 msgid "Personal"
 msgstr "Informazioni personali"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:11
-msgid ""
-"If the default port that is used for incoming messages is unfitting for your "
-"setup you can select another one here.\n"
-"You might consider to change possible firewall settings."
-msgstr ""
-"Se la porta predefinita usata per i messaggi in ricezione non si adatta alle "
-"tue configurazioni puoi selezionarne un'altra qui.\n"
-"Potresti considerare di cambiare la configurazione del firewall"
-
 #: ../data/glade/zeroconf_properties_window.glade.h:15
 msgid "Modify Account"
 msgstr "Modifica account"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:21
-msgid "Use custom port:"
-msgstr "Usa porta personalizzata:"
-
 #. For i18n
 #: ../src/advanced.py:51
 msgid "Activated"
@@ -2447,205 +2554,241 @@ msgstr "Nascosta"
 #. #!/bin/sh
 #. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
 #. echo "{_('en'):'en'",$LANG"}"
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "English"
 msgstr "Inglese"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Belarusian"
 msgstr "Bielorusso"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Bulgarian"
 msgstr "Bulgaro"
 
-#: ../src/chat_control.py:52
-msgid "Briton"
+#: ../src/chat_control.py:55
+msgid "Breton"
 msgstr "Bretone"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Czech"
 msgstr "Ceco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "German"
 msgstr "Tedesco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Greek"
 msgstr "Greco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "British"
 msgstr "Britannico"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Esperanto"
 msgstr "Esperanto"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Spanish"
 msgstr "Spagnolo"
 
-#: ../src/chat_control.py:52
-msgid "Basc"
+#: ../src/chat_control.py:55
+msgid "Basque"
 msgstr "Basco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "French"
 msgstr "Francese"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Croatian"
 msgstr "Croato"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Italian"
 msgstr "Italiano"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Norwegian (b)"
 msgstr "Norvegese (b)"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Dutch"
 msgstr "Olandese"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Norwegian"
 msgstr "Norvegese"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Polish"
 msgstr "Polacco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Portuguese"
 msgstr "Portoghese"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Brazilian Portuguese"
 msgstr "Brasiliano"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Russian"
 msgstr "Russo"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
+msgid "Serbian"
+msgstr "Serbo"
+
+#: ../src/chat_control.py:55
 msgid "Slovak"
 msgstr "Slovacco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Swedish"
 msgstr "Svedese"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:55
 msgid "Chinese (Ch)"
 msgstr "Cinese (Ch)"
 
-#: ../src/chat_control.py:208 ../src/dialogs.py:1516
-msgid ""
-"If that is not your language for which you want to highlight misspelled "
-"words, then please set your $LANG as appropriate. Eg. for French do export "
-"LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to make it "
-"global in /etc/profile.\n"
-"\n"
-"Highlighting misspelled words feature will not be used"
-msgstr ""
-"Se questa non è la lingua per cui si vogliono evidenziare le parole "
-"scorrette, impostare $LANG in maniera appropriata. Per esempio, per "
-"l'italiano eseguire \"export LANG=it_IT\" o \"export LANG=it_IT.UTF-8\" in "
-"~/.bash_profile o, per rendere la modifica globale, in /etc/profile.\n"
-"\n"
-"Non verrà usata la caratteristica di evidenziatura parole scorrette"
-
-#: ../src/chat_control.py:247
+#: ../src/chat_control.py:283
 msgid "Spelling language"
 msgstr "Lingua per la correzione ortografica"
 
 #. we are not connected
-#: ../src/chat_control.py:270 ../src/chat_control.py:476
+#: ../src/chat_control.py:306 ../src/chat_control.py:512
 msgid "A connection is not available"
 msgstr "Nessuna connessione disponibile"
 
-#: ../src/chat_control.py:271 ../src/chat_control.py:477
-msgid "Your message can not be sent until you are connected."
-msgstr "Il messaggio non può venire inviato finché non si è connessi."
+#: ../src/chat_control.py:307 ../src/chat_control.py:513
+msgid "Your message can not be sent until you are connected."
+msgstr "Il messaggio non può venire inviato finché non si è connessi."
+
+#: ../src/chat_control.py:1139
+#, python-format
+msgid "%(nickname)s from group chat %(room_name)s"
+msgstr "%(nickname)s della chat di gruppo %(room_name)s"
+
+#. we talk about a contact here
+#: ../src/chat_control.py:1227
+#, python-format
+msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
+msgstr ""
+"%s non ha annunciato una chiave OpenPGP e non gliene è stata assegnata una"
+
+#: ../src/chat_control.py:1266 ../src/groupchat_control.py:1411
+#, python-format
+msgid "No such command: /%s (if you want to send this, prefix it with /say)"
+msgstr "Comando inesistente: /%s (per inviarlo, scrivere /say prima di esso)"
+
+#: ../src/chat_control.py:1273 ../src/groupchat_control.py:1434
+#, python-format
+msgid "Commands: %s"
+msgstr "Comandi: %s"
+
+#: ../src/chat_control.py:1276 ../src/groupchat_control.py:1448
+#, python-format
+msgid "Usage: /%s, clears the text window."
+msgstr "Utilizzo: /%s, pulisce la finestra di testo."
+
+#: ../src/chat_control.py:1279 ../src/groupchat_control.py:1453
+#, python-format
+msgid "Usage: /%s, hide the chat buttons."
+msgstr "Utilizzo: /%s, nasconde i pulsanti di chat."
+
+#: ../src/chat_control.py:1282 ../src/groupchat_control.py:1469
+#, python-format
+msgid ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+msgstr ""
+"Utilizzo: /%s <azione>, invia l'azione alla stanza corrente. Usare la terza "
+"persona (esempio: /%s esplode)."
 
-#: ../src/chat_control.py:852
-msgid "Chats"
-msgstr "Chat"
+#: ../src/chat_control.py:1286
+#, python-format
+msgid "Usage: /%s, sends a ping to the contact"
+msgstr "Utilizzo: /%s, invia un ping al contatto"
 
-#: ../src/chat_control.py:1034
+#: ../src/chat_control.py:1289
 #, python-format
-msgid "%(nickname)s from group chat %(room_name)s"
-msgstr "%(nickname)s della chat di gruppo %(room_name)s"
+msgid "Usage: /%s, send the message to the contact"
+msgstr "Utilizzo: /%s, invia il messaggio al contatto"
 
-#. we talk about a contact here
-#: ../src/chat_control.py:1123
+#: ../src/chat_control.py:1292 ../src/groupchat_control.py:1492
 #, python-format
-msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
-msgstr ""
-"%s non ha annunciato una chiave OpenPGP e non gliene è stata assegnata una"
+msgid "No help info for /%s"
+msgstr "Non esiste aiuto per /%s"
 
-#: ../src/chat_control.py:1259
+#: ../src/chat_control.py:1430 ../src/chat_control.py:1456
 msgid "Encryption enabled"
 msgstr "Cifratura attivata"
 
-#: ../src/chat_control.py:1264
+#: ../src/chat_control.py:1435
+msgid "Session WILL be logged"
+msgstr "La sessione SARÀ registrata"
+
+#: ../src/chat_control.py:1437
+msgid "Session WILL NOT be logged"
+msgstr "La sessione NON SARÀ registrata"
+
+#: ../src/chat_control.py:1444
+msgid "The following message was NOT encrypted"
+msgstr "Il seguente messaggio NON è stato cifrato"
+
+#: ../src/chat_control.py:1448 ../src/chat_control.py:1461
+#: ../src/chat_control.py:2090
 msgid "Encryption disabled"
 msgstr "Cifratura disattivata"
 
 #. add_to_roster_menuitem
-#: ../src/chat_control.py:1406 ../src/conversation_textview.py:493
-#: ../src/dialogs.py:629 ../src/gajim.py:842 ../src/gajim.py:843
-#: ../src/gajim.py:1187 ../src/roster_window.py:332
-#: ../src/roster_window.py:410 ../src/roster_window.py:1498
-#: ../src/roster_window.py:1508 ../src/roster_window.py:1684
-#: ../src/roster_window.py:1890 ../src/roster_window.py:2475
-#: ../src/roster_window.py:3900 ../src/roster_window.py:3902
-#: ../src/common/contacts.py:73 ../src/common/helpers.py:43
-#: ../src/common/helpers.py:255
+#: ../src/chat_control.py:1618 ../src/conversation_textview.py:562
+#: ../src/dialogs.py:674 ../src/gajim.py:894 ../src/gajim.py:895
+#: ../src/gajim.py:1369 ../src/gajim.py:1662 ../src/roster_window.py:345
+#: ../src/roster_window.py:429 ../src/roster_window.py:1790
+#: ../src/roster_window.py:1800 ../src/roster_window.py:2039
+#: ../src/roster_window.py:2277 ../src/roster_window.py:3125
+#: ../src/roster_window.py:3351 ../src/roster_window.py:4711
+#: ../src/roster_window.py:4713 ../src/common/contacts.py:84
+#: ../src/common/helpers.py:44 ../src/common/helpers.py:258
 msgid "Not in Roster"
 msgstr "Non nei contatti"
 
 #. %s is being replaced in the code with JID
-#: ../src/chat_control.py:1550
+#: ../src/chat_control.py:1762
 #, python-format
 msgid "You just received a new message from \"%s\""
 msgstr "Hai appena ricevuto un nuovo messaggio da \"%s\""
 
-#: ../src/chat_control.py:1551
+#: ../src/chat_control.py:1763
 msgid ""
 "If you close this tab and you have history disabled, this message will be "
 "lost."
 msgstr ""
-"Se questa scheda viene chiusa e la cronologia è disabilitata, questo "
-"messaggio verrà perso."
+"Se chiudi questa scheda e la cronologia è disabilitata, questo messaggio "
+"verrà perso."
 
-#: ../src/config.py:137 ../src/config.py:588
+#: ../src/config.py:122 ../src/config.py:544
 msgid "Disabled"
 msgstr "Disabilitato"
 
-#: ../src/config.py:231
-#, python-format
-msgid "Every %s _minutes"
-msgstr "Ogni %s _minuti"
-
-#: ../src/config.py:353
+#: ../src/config.py:288
 msgid "Active"
 msgstr "Attivo"
 
-#: ../src/config.py:361
+#: ../src/config.py:296
 msgid "Event"
 msgstr "Evento"
 
-#: ../src/config.py:684 ../src/gajim.py:2222
+#: ../src/config.py:617 ../src/dialogs.py:958
 #, python-format
 msgid "Dictionary for lang %s not available"
 msgstr "Dizionario per lingua %s non disponibile"
 
-#: ../src/config.py:685 ../src/gajim.py:2223
+#: ../src/config.py:618
 #, python-format
 msgid ""
 "You have to install %s dictionary to use spellchecking, or choose another "
@@ -2654,249 +2797,256 @@ msgstr ""
 "E' necessario installare il dizionario %s per usare il controllo "
 "ortografico, o configurare un'altra lingua nelle opzioni speller_language"
 
-#: ../src/config.py:1009
+#: ../src/config.py:969
 msgid "status message title"
 msgstr "titolo del messaggio di stato"
 
-#: ../src/config.py:1009
+#: ../src/config.py:969
 msgid "status message text"
 msgstr "testo del messaggio di stato"
 
-#: ../src/config.py:1045
+#: ../src/config.py:1005
 msgid "First Message Received"
 msgstr "Primo messaggio ricevuto"
 
-#: ../src/config.py:1046
+#: ../src/config.py:1006
 msgid "Next Message Received"
 msgstr "Prossimo messaggio ricevuto"
 
-#: ../src/config.py:1047
+#: ../src/config.py:1007
 msgid "Contact Connected"
 msgstr "Contatto connesso"
 
-#: ../src/config.py:1048
+#: ../src/config.py:1008
 msgid "Contact Disconnected"
 msgstr "Contatto disconnesso"
 
-#: ../src/config.py:1049
+#: ../src/config.py:1009
 msgid "Message Sent"
 msgstr "Messaggio inviato"
 
-#: ../src/config.py:1050
+#: ../src/config.py:1010
 msgid "Group Chat Message Highlight"
 msgstr "Evidenziatura messaggi in chat di gruppo"
 
-#: ../src/config.py:1051
+#: ../src/config.py:1011
 msgid "Group Chat Message Received"
 msgstr "Messaggio ricevuto in chat di gruppo"
 
-#: ../src/config.py:1058
+#: ../src/config.py:1018
 msgid "GMail Email Received"
 msgstr "Email GMail ricevuta"
 
-#: ../src/config.py:1261
+#. Name column
+#: ../src/config.py:1287 ../src/dialogs.py:1397 ../src/dialogs.py:1461
+#: ../src/disco.py:736 ../src/disco.py:1559 ../src/disco.py:1805
+#: ../src/history_window.py:108
+msgid "Name"
+msgstr "Nome"
+
+#: ../src/config.py:1395 ../src/common/config.py:375
+msgid "Be right back."
+msgstr "Torno subito."
+
+#: ../src/config.py:1399
+msgid "Relogin now?"
+msgstr "Effettuare un nuovo login?"
+
+#: ../src/config.py:1400
+msgid "If you want all the changes to apply instantly, you must relogin."
+msgstr ""
+"Se si vogliono applicare subito i cambiamenti, è necessario effettuare un "
+"nuovo login."
+
+#: ../src/config.py:1495 ../src/config.py:1594
 msgid "OpenPGP is not usable in this computer"
 msgstr "Non è possibile usare OpenPGP su questo computer"
 
-#: ../src/config.py:1307
+#: ../src/config.py:1630 ../src/config.py:1674
+msgid "Unread events"
+msgstr "Eventi non letti"
+
+#: ../src/config.py:1631
+msgid "Read all pending events before removing this account."
+msgstr "Leggere tutti gli eventi in attesa prima di rimuovere questo account."
+
+#: ../src/config.py:1660
+#, python-format
+msgid "You have opened chat in account %s"
+msgstr "Hai aperto una chat nell'account %s"
+
+#: ../src/config.py:1661
+msgid "All chat and groupchat windows will be closed. Do you want to continue?"
+msgstr ""
+"Tutte le finestre di chat e le chat di gruppo saranno chiuse. Desideri "
+"continuare?"
+
+#: ../src/config.py:1670
 msgid "You are currently connected to the server"
 msgstr "Si è ora connessi al server"
 
-#: ../src/config.py:1308
+#: ../src/config.py:1671
 msgid "To change the account name, you must be disconnected."
 msgstr "Per cambiare nome account, è necessario disconnettersi."
 
-#: ../src/config.py:1311 ../src/config.py:1905
-msgid "Unread events"
-msgstr "Eventi non letti"
-
-#: ../src/config.py:1312
+#: ../src/config.py:1675
 msgid "To change the account name, you must read all pending events."
-msgstr "Per cambiare nome account, è necessario leggere tutti gli eventi in attesa."
+msgstr ""
+"Per cambiare nome account, è necessario leggere tutti gli eventi in attesa."
 
-#: ../src/config.py:1316
+#: ../src/config.py:1681
 msgid "Account Name Already Used"
 msgstr "Nome account già in uso"
 
-#: ../src/config.py:1317
+#: ../src/config.py:1682
 msgid ""
 "This name is already used by another of your accounts. Please choose another "
 "name."
 msgstr "Questo nome è già usato da un altro account. Scegliere un altro nome."
 
-#: ../src/config.py:1321 ../src/config.py:1325
+#: ../src/config.py:1686 ../src/config.py:1690
 msgid "Invalid account name"
 msgstr "Il nome account non è valido"
 
-#: ../src/config.py:1322
+#: ../src/config.py:1687
 msgid "Account name cannot be empty."
 msgstr "Il nome account non può essere vuoto."
 
-#: ../src/config.py:1326
+#: ../src/config.py:1691
 msgid "Account name cannot contain spaces."
 msgstr "Il nome account non può contenere spazi."
 
-#: ../src/config.py:1334 ../src/config.py:1340 ../src/config.py:1350
-#: ../src/config.py:3008
+#: ../src/config.py:1755
+msgid "Rename Account"
+msgstr "Rinomina account"
+
+#: ../src/config.py:1756
+#, python-format
+msgid "Enter a new name for account %s"
+msgstr "Inserisci un nuovo nome per l'account %s"
+
+#: ../src/config.py:1774 ../src/config.py:1782 ../src/config.py:1822
+#: ../src/config.py:3048
 msgid "Invalid Jabber ID"
 msgstr "ID Jabber non valido"
 
-#: ../src/config.py:1341
+#: ../src/config.py:1783
 msgid "A Jabber ID must be in the form \"user@servername\"."
 msgstr "Un ID Jabber deve essere nella forma \"utente@nomeserver\"."
 
-#: ../src/config.py:1400
+#: ../src/config.py:1968 ../src/config.py:3119
 msgid "Invalid entry"
 msgstr "Voce non valida"
 
-#: ../src/config.py:1401
+#: ../src/config.py:1969 ../src/config.py:3120
 msgid "Custom port must be a port number."
 msgstr "Si deve scegliere un numero di porta."
 
-#: ../src/config.py:1529 ../src/common/config.py:366
-msgid "Be right back."
-msgstr "Torno subito."
+#: ../src/config.py:1990
+msgid "Failed to get secret keys"
+msgstr "Fallimento nella ricezione delle chiavi segrete"
 
-#: ../src/config.py:1539
-msgid "Relogin now?"
-msgstr "Effettuare un nuovo login?"
+#: ../src/config.py:1991
+msgid "There was a problem retrieving your OpenPGP secret keys."
+msgstr "C'è stato un problema nel recuperare le chiavi segrete OpenPGP."
 
-#: ../src/config.py:1540
-msgid "If you want all the changes to apply instantly, you must relogin."
-msgstr ""
-"Se si vogliono applicare subito i cambiamenti, è necessario effettuare un "
-"nuovo login."
+#: ../src/config.py:1994
+msgid "OpenPGP Key Selection"
+msgstr "Scelta chiave OpenPGP"
 
-#: ../src/config.py:1566
+#: ../src/config.py:1995
+msgid "Choose your OpenPGP key"
+msgstr "Scegliere la chiave OpenPGP"
+
+#: ../src/config.py:2052
 msgid "No such account available"
 msgstr "Questo account non è disponibile"
 
-#: ../src/config.py:1567
+#: ../src/config.py:2053
 msgid "You must create your account before editing your personal information."
 msgstr ""
 "È necessario creare un nuovo account prima di poter modificare le "
 "informazioni personali."
 
-#: ../src/config.py:1574 ../src/dialogs.py:1130 ../src/dialogs.py:1316
-#: ../src/disco.py:419 ../src/profile_window.py:313
+#: ../src/config.py:2060 ../src/dialogs.py:1244 ../src/dialogs.py:1385
+#: ../src/dialogs.py:1565 ../src/disco.py:420 ../src/profile_window.py:325
 msgid "You are not connected to the server"
 msgstr "Non si è connessi al server"
 
-#: ../src/config.py:1575
+#: ../src/config.py:2061
 msgid "Without a connection, you can not edit your personal information."
 msgstr ""
 "Senza una connessione, non è possibile modificare le informazioni personali."
 
-#: ../src/config.py:1579
+#: ../src/config.py:2065
 msgid "Your server doesn't support Vcard"
 msgstr "Il server non supporta Vcard"
 
-#: ../src/config.py:1580
+#: ../src/config.py:2066
 msgid "Your server can't save your personal information."
 msgstr "Il server non può salvare le informazioni personali."
 
-#: ../src/config.py:1604 ../src/config.py:3396
-msgid "Failed to get secret keys"
-msgstr "Fallimento nella ricezione delle chiavi segrete"
-
-#: ../src/config.py:1605 ../src/config.py:3397
-msgid "There was a problem retrieving your OpenPGP secret keys."
-msgstr "C'è stato un problema nel recuperare le chiavi segrete OpenPGP."
-
-#: ../src/config.py:1608 ../src/config.py:3400
-msgid "OpenPGP Key Selection"
-msgstr "Scelta chiave OpenPGP"
-
-#: ../src/config.py:1609 ../src/config.py:3401
-msgid "Choose your OpenPGP key"
-msgstr "Scegliere la chiave OpenPGP"
-
-#. Name column
-#: ../src/config.py:1839 ../src/disco.py:740 ../src/disco.py:1495
-#: ../src/disco.py:1733 ../src/history_window.py:78
-msgid "Name"
-msgstr "Nome"
-
-#: ../src/config.py:1842
-msgid "Server"
-msgstr "Server"
-
-#: ../src/config.py:1906
-msgid "Read all pending events before removing this account."
-msgstr "Leggere tutti gli eventi in attesa prima di rimuovere questo account."
-
-#: ../src/config.py:1943
-#, python-format
-msgid "You have opened chat in account %s"
-msgstr "Hai aperto una chat nell'account %s"
-
-#: ../src/config.py:1944
-msgid "All chat and groupchat windows will be closed. Do you want to continue?"
-msgstr ""
-"Tutte le finestre di chat e le chat di gruppo saranno chiuse. Desideri "
-"continuare?"
-
-#: ../src/config.py:2003
+#: ../src/config.py:2097
 msgid "Account Local already exists."
 msgstr "Nome account già in uso"
 
-#: ../src/config.py:2004
+#: ../src/config.py:2098
 msgid "Please rename or remove it before enabling link-local messaging."
 msgstr ""
 "Per favore rinominalo o rimuovilo prima di abilitare la messaggistica sulla "
 "rete locale."
 
-#: ../src/config.py:2238
+#: ../src/config.py:2274
 #, python-format
 msgid "Edit %s"
 msgstr "Modifica %s"
 
-#: ../src/config.py:2240
+#: ../src/config.py:2276
 #, python-format
 msgid "Register to %s"
 msgstr "Registra a %s"
 
 #. list at the beginning
-#: ../src/config.py:2306
+#: ../src/config.py:2312
 msgid "Ban List"
 msgstr "Lista utenti bloccati"
 
-#: ../src/config.py:2307
+#: ../src/config.py:2313
 msgid "Member List"
 msgstr "Lista membri"
 
-#: ../src/config.py:2308
+#: ../src/config.py:2314
 msgid "Owner List"
 msgstr "Lista proprietari"
 
-#: ../src/config.py:2309
+#: ../src/config.py:2315
 msgid "Administrator List"
 msgstr "Lista amministratori"
 
 #. Address column
 #. holds JID (who said this)
-#: ../src/config.py:2342 ../src/disco.py:747 ../src/history_manager.py:155
+#: ../src/config.py:2364 ../src/disco.py:743 ../src/history_manager.py:155
 msgid "JID"
 msgstr "JID"
 
-#: ../src/config.py:2350
+#: ../src/config.py:2372
 msgid "Reason"
 msgstr "Motivo"
 
-#: ../src/config.py:2355
+#: ../src/config.py:2377
 msgid "Nick"
 msgstr "Nickname"
 
-#: ../src/config.py:2359
+#: ../src/config.py:2381
 msgid "Role"
 msgstr "Ruolo"
 
-#: ../src/config.py:2380
+#: ../src/config.py:2406
 msgid "Banning..."
 msgstr "Sto bloccando..."
 
 #. You can move '\n' before user@domain if that line is TOO BIG
-#: ../src/config.py:2382
+#: ../src/config.py:2408
 msgid ""
 "<b>Whom do you want to ban?</b>\n"
 "\n"
@@ -2904,11 +3054,11 @@ msgstr ""
 "<b>Chi si vuole bloccare?</b>\n"
 "\n"
 
-#: ../src/config.py:2384
+#: ../src/config.py:2410
 msgid "Adding Member..."
 msgstr "Aggiunta membro..."
 
-#: ../src/config.py:2385
+#: ../src/config.py:2411
 msgid ""
 "<b>Whom do you want to make a member?</b>\n"
 "\n"
@@ -2916,11 +3066,11 @@ msgstr ""
 "<b>Chi si vuole rendere membro?</b>\n"
 "\n"
 
-#: ../src/config.py:2387
+#: ../src/config.py:2413
 msgid "Adding Owner..."
 msgstr "Aggiunta proprietario..."
 
-#: ../src/config.py:2388
+#: ../src/config.py:2414
 msgid ""
 "<b>Whom do you want to make an owner?</b>\n"
 "\n"
@@ -2928,11 +3078,11 @@ msgstr ""
 "<b>Chi si vuole rendere proprietario?</b>\n"
 "\n"
 
-#: ../src/config.py:2390
+#: ../src/config.py:2416
 msgid "Adding Administrator..."
 msgstr "Aggiunta amministratore..."
 
-#: ../src/config.py:2391
+#: ../src/config.py:2417
 msgid ""
 "<b>Whom do you want to make an administrator?</b>\n"
 "\n"
@@ -2940,7 +3090,7 @@ msgstr ""
 "<b>Chi si vuole rendere amministratore?</b>\n"
 "\n"
 
-#: ../src/config.py:2392
+#: ../src/config.py:2418
 msgid ""
 "Can be one of the following:\n"
 "1. user@domain/resource (only that resource matches).\n"
@@ -2957,124 +3107,119 @@ msgstr ""
 "4. dominio (il dominio corrisponde, così come qualsiasi utente@dominio,\n"
 "dominio/risorsa, o indirizzo contenente un sottodominio)."
 
-#: ../src/config.py:2497
+#: ../src/config.py:2522
 #, python-format
 msgid "Removing %s account"
 msgstr "Eliminazione account %s"
 
-#: ../src/config.py:2514 ../src/roster_window.py:2733
+#: ../src/config.py:2539 ../src/gajim.py:1312 ../src/roster_window.py:3410
 msgid "Password Required"
 msgstr "Password richiesta"
 
-#: ../src/config.py:2515 ../src/roster_window.py:2729
+#: ../src/config.py:2540 ../src/roster_window.py:3406
 #, python-format
 msgid "Enter your password for account %s"
 msgstr "Inserire la password per l'account %s"
 
-#: ../src/config.py:2516 ../src/roster_window.py:2734
+#: ../src/config.py:2541 ../src/roster_window.py:3411
 msgid "Save password"
 msgstr "Memorizza password"
 
-#: ../src/config.py:2530
+#: ../src/config.py:2555
 #, python-format
 msgid "Account \"%s\" is connected to the server"
 msgstr "L'account \"%s\" è connesso al server"
 
-#: ../src/config.py:2531
+#: ../src/config.py:2556
 msgid "If you remove it, the connection will be lost."
 msgstr "Se viene rimosso, la connessione verrà persa."
 
-#: ../src/config.py:2616
+#: ../src/config.py:2649
 msgid "Default"
 msgstr "Predefinito"
 
-#: ../src/config.py:2616
+#: ../src/config.py:2649
 msgid "?print_status:All"
 msgstr "?print_status:Tutti"
 
-#: ../src/config.py:2617
+#: ../src/config.py:2650
 msgid "Enter and leave only"
 msgstr "Solo ingresso ed uscita"
 
-#: ../src/config.py:2618
+#: ../src/config.py:2651
 msgid "?print_status:None"
 msgstr "Nessuno"
 
-#: ../src/config.py:2686
+#: ../src/config.py:2720
 msgid "New Group Chat"
 msgstr "Nuova chat di gruppo"
 
-#: ../src/config.py:2719
+#: ../src/config.py:2753
 msgid "This bookmark has invalid data"
 msgstr "Questo segnalibro contiene dati non validi"
 
-#: ../src/config.py:2720
+#: ../src/config.py:2754
 msgid ""
 "Please be sure to fill out server and room fields or remove this bookmark."
 msgstr ""
 "Controllare di avere compilato i campi server e stanza, o eliminare questo "
 "segnalibro."
 
-#: ../src/config.py:2983
+#: ../src/config.py:3031
 msgid "Invalid username"
 msgstr "Nome utente non valido"
 
-#: ../src/config.py:2984
+#: ../src/config.py:3033
 msgid "You must provide a username to configure this account."
 msgstr "È necessario inserire un nome utente per configurare questo account."
 
-#: ../src/config.py:2994 ../src/dialogs.py:1335
-msgid "Invalid password"
-msgstr "Password non valida"
-
-#: ../src/config.py:2995
-msgid "You must enter a password for the new account."
-msgstr "È necessario inserire una password per il nuovo account."
-
-#: ../src/config.py:2999 ../src/dialogs.py:1340
-msgid "Passwords do not match"
-msgstr "Le password non coincidono"
-
-#: ../src/config.py:3000 ../src/dialogs.py:1341
-msgid "The passwords typed in both fields must be identical."
-msgstr "Le password immesse nei due campi devono essere identiche."
-
-#: ../src/config.py:3019
+#: ../src/config.py:3059
 msgid "Duplicate Jabber ID"
 msgstr "ID Jabber duplicato"
 
-#: ../src/config.py:3020
+#: ../src/config.py:3060
 msgid "This account is already configured in Gajim."
 msgstr "Questo account è già configurato in Gajim."
 
-#: ../src/config.py:3037
+#: ../src/config.py:3077
 msgid "Account has been added successfully"
 msgstr "L'account è stato aggiunto con successo"
 
-#: ../src/config.py:3038 ../src/config.py:3073
+#: ../src/config.py:3078 ../src/config.py:3223
 msgid ""
 "You can set advanced account options by pressing the Advanced button, or "
 "later by choosing the Accounts menuitem under the Edit menu from the main "
 "window."
-msgstr "È possibile impostare ora le opzioni avanzate premendo il pulsante \"Avanzate\", o farlo più tardi scegliendo la voce \"Account\" nel menu \"Modifica\" della finestra principale."
+msgstr ""
+"È possibile impostare ora le opzioni avanzate premendo il pulsante \"Avanzate"
+"\", o farlo più tardi scegliendo la voce \"Account\" nel menu \"Modifica\" "
+"della finestra principale."
 
-#: ../src/config.py:3072
-msgid "Your new account has been created successfully"
-msgstr "Il nuovo account è stato creato con successo"
+#: ../src/config.py:3095
+msgid "Invalid server"
+msgstr "Server non valido"
+
+#: ../src/config.py:3096
+msgid "Please provide a server on which you want to register."
+msgstr "Per favore fornire il server su cui vuoi registrarti."
 
-#: ../src/config.py:3090
+#: ../src/config.py:3202 ../src/config.py:3241
 msgid "An error occurred during account creation"
 msgstr "Si è verificato un errore durante la creazione dell'account"
 
-#: ../src/config.py:3148
+#: ../src/config.py:3222
+msgid "Your new account has been created successfully"
+msgstr "Il nuovo account è stato creato con successo"
+
+#: ../src/config.py:3327
 msgid "Account name is in use"
 msgstr "Il nome account è già in uso"
 
-#: ../src/config.py:3149
+#: ../src/config.py:3328
 msgid "You already have an account using this name."
 msgstr "Esiste già un account con lo stesso nome"
 
-#: ../src/conversation_textview.py:271
+#: ../src/conversation_textview.py:337
 msgid ""
 "Text below this line is what has been said since the last time you paid "
 "attention to this group chat"
@@ -3082,518 +3227,583 @@ msgstr ""
 "Il testo sotto a questa riga è quanto è stato detto dall'ultima volta che si "
 "è prestata attenzione a questa chat di gruppo"
 
-#: ../src/conversation_textview.py:340
+#: ../src/conversation_textview.py:409
 #, python-format
 msgid "_Actions for \"%s\""
 msgstr "_Azioni per \"%s\""
 
-#: ../src/conversation_textview.py:352
+#: ../src/conversation_textview.py:421
 msgid "Read _Wikipedia Article"
 msgstr "Leggi l'articolo di _Wikipedia"
 
-#: ../src/conversation_textview.py:357
+#: ../src/conversation_textview.py:426
 msgid "Look it up in _Dictionary"
 msgstr "Controlla nel _Dizionario"
 
 #. we must have %s in the url if not WIKTIONARY
-#: ../src/conversation_textview.py:373
+#: ../src/conversation_textview.py:442
 #, python-format
 msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
 msgstr "Manca un \"%s\" nell'URL del Dizionario e questo non è WIKTIONARY"
 
 #. we must have %s in the url
-#: ../src/conversation_textview.py:386
+#: ../src/conversation_textview.py:455
 #, python-format
 msgid "Web Search URL is missing an \"%s\""
 msgstr "Manca un \"%s\" nell'URL di ricerca su web"
 
-#: ../src/conversation_textview.py:389
+#: ../src/conversation_textview.py:458
 msgid "Web _Search for it"
 msgstr "_Cercalo nel Web"
 
-#: ../src/conversation_textview.py:395
+#: ../src/conversation_textview.py:464
 msgid "Open as _Link"
 msgstr "Apri come _Link"
 
-#: ../src/conversation_textview.py:752
+#: ../src/conversation_textview.py:929
 msgid "Yesterday"
 msgstr "Ieri"
 
 #. the number is >= 2
 #. %i is day in year (1-365), %d (1-31) we want %i
-#: ../src/conversation_textview.py:756
+#: ../src/conversation_textview.py:933
 #, python-format
 msgid "%i days ago"
 msgstr "%i giorni fa"
 
 #. if we have subject, show it too!
-#: ../src/conversation_textview.py:790
+#: ../src/conversation_textview.py:967
 #, python-format
 msgid "Subject: %s\n"
 msgstr "Oggetto: %s\n"
 
-#: ../src/dialogs.py:59
+#: ../src/dialogs.py:64
 #, python-format
 msgid "Contact name: <i>%s</i>"
 msgstr "Nome contatto: <i>%s</i>"
 
-#: ../src/dialogs.py:61
+#: ../src/dialogs.py:66
 #, python-format
 msgid "Jabber ID: <i>%s</i>"
 msgstr "ID Jabber: <i>%s</i>"
 
-#: ../src/dialogs.py:211
+#: ../src/dialogs.py:216
 msgid "Group"
 msgstr "Gruppo"
 
-#: ../src/dialogs.py:218
+#: ../src/dialogs.py:223
 msgid "In the group"
 msgstr "Nel gruppo"
 
-#: ../src/dialogs.py:269
+#: ../src/dialogs.py:274
 msgid "KeyID"
 msgstr "KeyID"
 
-#: ../src/dialogs.py:272
+#: ../src/dialogs.py:277
 msgid "Contact name"
 msgstr "Nome contatto"
 
-#: ../src/dialogs.py:318
+#: ../src/dialogs.py:323
 #, python-format
 msgid "%s Status Message"
 msgstr "Messaggio di stato %s"
 
-#: ../src/dialogs.py:320
+#: ../src/dialogs.py:325
 msgid "Status Message"
 msgstr "Messaggio di stato"
 
-#: ../src/dialogs.py:395
+#: ../src/dialogs.py:425
 msgid "Save as Preset Status Message"
 msgstr "Salva come messaggio di stato predefinito"
 
-#: ../src/dialogs.py:396
+#: ../src/dialogs.py:426
 msgid "Please type a name for this status message"
 msgstr "Inserire un nome per questo messaggio di stato"
 
-#: ../src/dialogs.py:417
+#: ../src/dialogs.py:437
+msgid "Overwrite Status Message?"
+msgstr "Sovrascrivere messaggio di stato?"
+
+#: ../src/dialogs.py:438
+msgid ""
+"This name is already used. Do you want to overwrite this status message?"
+msgstr ""
+"Questo nome è già stato utilizzato. Vuoi sovrascrivere questo messaggio di "
+"stato?"
+
+#: ../src/dialogs.py:454
 msgid "AIM Address:"
 msgstr "Indirizzo AIM:"
 
-#: ../src/dialogs.py:418
+#: ../src/dialogs.py:455
 msgid "GG Number:"
 msgstr "Numero GG:"
 
-#: ../src/dialogs.py:419
+#: ../src/dialogs.py:456
 msgid "ICQ Number:"
 msgstr "Numero ICQ:"
 
-#: ../src/dialogs.py:420
+#: ../src/dialogs.py:457
 msgid "MSN Address:"
 msgstr "Indirizzo MSN:"
 
-#: ../src/dialogs.py:421
+#: ../src/dialogs.py:458
 msgid "Yahoo! Address:"
 msgstr "Indirizzo Yahoo!:"
 
-#: ../src/dialogs.py:457
+#: ../src/dialogs.py:495
 #, python-format
 msgid "Please fill in the data of the contact you want to add in account %s"
 msgstr "Inserire i dati del contatto che si vuole aggiungere all'account %s"
 
-#: ../src/dialogs.py:459
+#: ../src/dialogs.py:497
 msgid "Please fill in the data of the contact you want to add"
 msgstr "Inserire i dati del contatto che si vuole aggiungere"
 
-#: ../src/dialogs.py:609 ../src/dialogs.py:615
+#: ../src/dialogs.py:654 ../src/dialogs.py:660
 msgid "Invalid User ID"
 msgstr "ID utente non valido"
 
-#: ../src/dialogs.py:616
+#: ../src/dialogs.py:661
 msgid "The user ID must not contain a resource."
 msgstr "L'identificatore dell'utente deve non contenere una risorsa."
 
-#: ../src/dialogs.py:630
+#: ../src/dialogs.py:675
 msgid "Contact already in roster"
-msgstr "Contatto già presente nella lista"
+msgstr "Contatto già presente nella lista contatti"
 
-#: ../src/dialogs.py:631
+#: ../src/dialogs.py:676
 msgid "This contact is already listed in your roster."
-msgstr "Questo contatto è già presente nella lista."
+msgstr "Questo contatto è già presente nella lista contatti."
 
-#: ../src/dialogs.py:668
+#: ../src/dialogs.py:712
 msgid "User ID:"
 msgstr "ID utente:"
 
-#: ../src/dialogs.py:731
+#: ../src/dialogs.py:774
 msgid "A GTK+ jabber client"
 msgstr "Un client jabber GTK+"
 
-#: ../src/dialogs.py:732
+#: ../src/dialogs.py:775
 msgid "GTK+ Version:"
 msgstr "Versione di GTK+:"
 
-#: ../src/dialogs.py:733
+#: ../src/dialogs.py:776
 msgid "PyGTK Version:"
 msgstr "Versione di PyGTK:"
 
-#: ../src/dialogs.py:747
+#: ../src/dialogs.py:790
 msgid "Current Developers:"
 msgstr "Sviluppatori attuali:"
 
-#: ../src/dialogs.py:749
+#: ../src/dialogs.py:792
 msgid "Past Developers:"
 msgstr "Sviluppatori precedenti:"
 
-#: ../src/dialogs.py:759
+#: ../src/dialogs.py:802
 msgid "THANKS:"
 msgstr "GRAZIE:"
 
 #. remove one english sentence
 #. and add it manually as translatable
-#: ../src/dialogs.py:765
+#: ../src/dialogs.py:808
 msgid "Last but not least, we would like to thank all the package maintainers."
 msgstr "Dulcis in fundo, ringraziamo tutti i gestori dei pacchetti"
 
 #. here you write your name in the form Name FamilyName <someone@somewhere>
-#: ../src/dialogs.py:778
+#: ../src/dialogs.py:821
 msgid "translator-credits"
 msgstr ""
 "Mauro Brenna <malloblenne@gmail.com>\n"
 "Andrea Ratti <scimiot@yahoo.it>\n"
-"Matteo Dell'Amico <della@linux.it>"
+"Matteo Dell'Amico <della@linux.it>\n"
+"Daniel Coppi <neoex.dc@gmail.com>"
 
-#: ../src/dialogs.py:908
+#: ../src/dialogs.py:951
 #, python-format
 msgid "Unable to bind to port %s."
 msgstr "Non è possibile fare il bind alla porta %s"
 
-#: ../src/dialogs.py:909
+#: ../src/dialogs.py:952
 msgid ""
 "Maybe you have another running instance of Gajim. File Transfer will be "
 "cancelled."
-msgstr "Potrebbe essere in esecuzione un altra istanza di Gajim. Il trasferimento file verrà annullato."
+msgstr ""
+"Potrebbe essere in esecuzione un altra istanza di Gajim. Il trasferimento "
+"file verrà annullato."
+
+#: ../src/dialogs.py:959
+#, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option.\n"
+"\n"
+"Highlighting misspelled words feature will not be used"
+msgstr ""
+"E' necessario installare il dizionario %s per usare il controllo "
+"ortografico, o configurare un'altra lingua nelle opzioni speller_language.\n"
+"\n"
+"L'evidenziazione delle parole errate non verrà usata"
 
-#: ../src/dialogs.py:1060
+#: ../src/dialogs.py:1173
 #, python-format
 msgid "Subscription request for account %s from %s"
 msgstr "Richiesta di abbonamento per l'account %s da %s"
 
-#: ../src/dialogs.py:1063
+#: ../src/dialogs.py:1176
 #, python-format
 msgid "Subscription request from %s"
 msgstr "Richiesta di abbonamento da %s"
 
-#: ../src/dialogs.py:1123 ../src/roster_window.py:687
+#: ../src/dialogs.py:1237 ../src/roster_window.py:763
 #, python-format
 msgid "You are already in group chat %s"
 msgstr "Si è già nella stanza %s"
 
-#: ../src/dialogs.py:1131
+#: ../src/dialogs.py:1245
 msgid "You can not join a group chat unless you are connected."
 msgstr "Non è possibile unirsi a chat di gruppo quando non si è connessi."
 
-#: ../src/dialogs.py:1146
+#: ../src/dialogs.py:1263
 #, python-format
 msgid "Join Group Chat with account %s"
 msgstr "Entra in chat di gruppo con l'account %s"
 
-#: ../src/dialogs.py:1214 ../src/dialogs.py:1220
+#: ../src/dialogs.py:1333 ../src/dialogs.py:1339
+#: ../src/groupchat_control.py:1662
 msgid "Invalid group chat Jabber ID"
 msgstr "ID Jabber non valido"
 
-#: ../src/dialogs.py:1215 ../src/dialogs.py:1221
+#: ../src/dialogs.py:1334 ../src/dialogs.py:1340
+#: ../src/groupchat_control.py:1663
 msgid "The group chat Jabber ID has not allowed characters."
 msgstr "Il nome della stanza o del server contiene caratteri non permessi."
 
-#: ../src/dialogs.py:1227
+#: ../src/dialogs.py:1346
 msgid "This is not a group chat"
 msgstr "Questa non è una chat di gruppo"
 
-#: ../src/dialogs.py:1228
+#: ../src/dialogs.py:1347
 #, python-format
 msgid "%s is not the name of a group chat."
 msgstr "%s non è il nome di una chat di gruppo"
 
-#: ../src/dialogs.py:1267
+#: ../src/dialogs.py:1386
+msgid "Without a connection, you can not synchronise your contacts."
+msgstr "Senza una connessione, non puoi sincronizzare i tuoi contatti."
+
+#: ../src/dialogs.py:1400
+msgid "Server"
+msgstr "Server"
+
+#: ../src/dialogs.py:1433
+msgid "This account is not connected to the server"
+msgstr "Questo account non è connesso al server"
+
+#: ../src/dialogs.py:1434
+msgid "You cannot synchronize with an account unless it is connected."
+msgstr "Non puoi sincronizzarti con un account a meno che non sia connesso."
+
+#: ../src/dialogs.py:1458
+msgid "Synchronise"
+msgstr "Sincronizza"
+
+#: ../src/dialogs.py:1516
 #, python-format
 msgid "Start Chat with account %s"
 msgstr "Inizia chat con l'account %s"
 
-#: ../src/dialogs.py:1269
+#: ../src/dialogs.py:1518
 msgid "Start Chat"
 msgstr "Inizia chat"
 
-#: ../src/dialogs.py:1270
+#: ../src/dialogs.py:1519
 msgid ""
 "Fill in the nickname or the Jabber ID of the contact you would like\n"
 "to send a chat message to:"
 msgstr "Introdurre il nickname o l'ID del contatto con cui chattare:"
 
 #. if offline or connecting
-#: ../src/dialogs.py:1295 ../src/dialogs.py:1654 ../src/dialogs.py:1785
+#: ../src/dialogs.py:1544 ../src/dialogs.py:1891 ../src/dialogs.py:2027
 msgid "Connection not available"
 msgstr "Connessione non disponibile"
 
-#: ../src/dialogs.py:1296 ../src/dialogs.py:1655 ../src/dialogs.py:1786
+#: ../src/dialogs.py:1545 ../src/dialogs.py:1892 ../src/dialogs.py:2028
 #, python-format
 msgid "Please make sure you are connected with \"%s\"."
 msgstr "Assicurarsi di essere connesso con \"%s\"."
 
-#: ../src/dialogs.py:1305 ../src/dialogs.py:1308
+#: ../src/dialogs.py:1554 ../src/dialogs.py:1557
 msgid "Invalid JID"
 msgstr "ID Jabber non valido"
 
-#: ../src/dialogs.py:1308
+#: ../src/dialogs.py:1557
 #, python-format
 msgid "Unable to parse \"%s\"."
 msgstr "Impossibile processare \"%s\"."
 
-#: ../src/dialogs.py:1317
+#: ../src/dialogs.py:1566
 msgid "Without a connection, you can not change your password."
 msgstr "Senza una connessione, non è possibile cambiare la password."
 
-#: ../src/dialogs.py:1336
+#: ../src/dialogs.py:1584
+msgid "Invalid password"
+msgstr "Password non valida"
+
+#: ../src/dialogs.py:1585
 msgid "You must enter a password."
 msgstr "È necessario inserire una password."
 
+#: ../src/dialogs.py:1589
+msgid "Passwords do not match"
+msgstr "Le password non coincidono"
+
+#: ../src/dialogs.py:1590
+msgid "The passwords typed in both fields must be identical."
+msgstr "Le password immesse nei due campi devono essere identiche."
+
 #. img to display
 #. default value
-#: ../src/dialogs.py:1383 ../src/notify.py:212 ../src/notify.py:416
+#: ../src/dialogs.py:1632 ../src/notify.py:219 ../src/notify.py:429
 msgid "Contact Signed In"
 msgstr "Contatto connesso"
 
-#: ../src/dialogs.py:1385 ../src/notify.py:220 ../src/notify.py:418
+#: ../src/dialogs.py:1634 ../src/notify.py:227 ../src/notify.py:431
 msgid "Contact Signed Out"
 msgstr "Contatto disconnesso"
 
 #. chat message
-#: ../src/dialogs.py:1387 ../src/notify.py:239 ../src/notify.py:420
+#: ../src/dialogs.py:1636 ../src/notify.py:250 ../src/notify.py:433
 msgid "New Message"
 msgstr "Nuovo messaggio"
 
 #. single message
-#: ../src/dialogs.py:1387 ../src/notify.py:224 ../src/notify.py:420
+#: ../src/dialogs.py:1636 ../src/notify.py:231 ../src/notify.py:433
 msgid "New Single Message"
 msgstr "Nuovo messaggio singolo"
 
 #. private message
-#: ../src/dialogs.py:1388 ../src/notify.py:231 ../src/notify.py:421
+#: ../src/dialogs.py:1637 ../src/notify.py:238 ../src/notify.py:434
 msgid "New Private Message"
 msgstr "Nuovo messaggio privato"
 
-#: ../src/dialogs.py:1388 ../src/gajim.py:1282 ../src/notify.py:429
+#: ../src/dialogs.py:1637 ../src/gajim.py:1465 ../src/notify.py:442
 msgid "New E-mail"
 msgstr "Nuova e-mail"
 
-#: ../src/dialogs.py:1390 ../src/gajim.py:1435 ../src/notify.py:423
+#: ../src/dialogs.py:1639 ../src/gajim.py:1682 ../src/notify.py:436
 msgid "File Transfer Request"
 msgstr "Richiesta di trasferimento file"
 
-#: ../src/dialogs.py:1392 ../src/gajim.py:1254 ../src/gajim.py:1411
-#: ../src/notify.py:425
+#: ../src/dialogs.py:1641 ../src/gajim.py:1437 ../src/gajim.py:1649
+#: ../src/notify.py:438
 msgid "File Transfer Error"
 msgstr "Errore nel trasferimento file"
 
-#: ../src/dialogs.py:1394 ../src/gajim.py:1474 ../src/gajim.py:1496
-#: ../src/gajim.py:1513 ../src/notify.py:427
+#: ../src/dialogs.py:1643 ../src/gajim.py:1721 ../src/gajim.py:1743
+#: ../src/gajim.py:1760 ../src/notify.py:440
 msgid "File Transfer Completed"
 msgstr "Trasferimento file completato"
 
-#: ../src/dialogs.py:1395 ../src/gajim.py:1477 ../src/notify.py:427
+#: ../src/dialogs.py:1644 ../src/gajim.py:1724 ../src/notify.py:440
 msgid "File Transfer Stopped"
 msgstr "Trasferimento file fermato"
 
-#: ../src/dialogs.py:1397 ../src/gajim.py:1151 ../src/notify.py:431
+#: ../src/dialogs.py:1646 ../src/gajim.py:1333 ../src/notify.py:444
 msgid "Groupchat Invitation"
 msgstr "Invito a chat di gruppo"
 
-#: ../src/dialogs.py:1399 ../src/notify.py:204 ../src/notify.py:433
+#: ../src/dialogs.py:1648 ../src/notify.py:211 ../src/notify.py:446
 msgid "Contact Changed Status"
 msgstr "Stato Contatto Cambiato"
 
-#: ../src/dialogs.py:1584
+#: ../src/dialogs.py:1821
 #, python-format
 msgid "Single Message using account %s"
 msgstr "Messaggio singolo con l'account %s"
 
-#: ../src/dialogs.py:1586
+#: ../src/dialogs.py:1823
 #, python-format
 msgid "Single Message in account %s"
 msgstr "Messaggio singolo nell'account %s"
 
-#: ../src/dialogs.py:1588
+#: ../src/dialogs.py:1825
 msgid "Single Message"
 msgstr "Messaggio singolo"
 
 #. prepare UI for Sending
-#: ../src/dialogs.py:1591
+#: ../src/dialogs.py:1828
 #, python-format
 msgid "Send %s"
 msgstr "Invia %s"
 
 #. prepare UI for Receiving
-#: ../src/dialogs.py:1614
+#: ../src/dialogs.py:1851
 #, python-format
 msgid "Received %s"
 msgstr "Ricevuto %s"
 
 #. we create a new blank window to send and we preset RE: and to jid
-#: ../src/dialogs.py:1686
+#: ../src/dialogs.py:1928
 #, python-format
 msgid "RE: %s"
 msgstr "RE: %s"
 
-#: ../src/dialogs.py:1687
+#: ../src/dialogs.py:1929
 #, python-format
 msgid "%s wrote:\n"
 msgstr "%s ha scritto:\n"
 
-#: ../src/dialogs.py:1731
+#: ../src/dialogs.py:1973
 #, python-format
 msgid "XML Console for %s"
 msgstr "Console XML per %s"
 
-#: ../src/dialogs.py:1733
+#: ../src/dialogs.py:1975
 msgid "XML Console"
 msgstr "Console XML"
 
-#: ../src/dialogs.py:1856
+#: ../src/dialogs.py:2098
 #, python-format
 msgid "Privacy List <b><i>%s</i></b>"
 msgstr "Lista privacy <b><i>%s</i></b>"
 
-#: ../src/dialogs.py:1860
+#: ../src/dialogs.py:2102
 #, python-format
 msgid "Privacy List for %s"
 msgstr "Lista privacy per %s"
 
-#: ../src/dialogs.py:1908
+#: ../src/dialogs.py:2158
 #, python-format
 msgid "Order: %s, action: %s, type: %s, value: %s"
 msgstr "Ordine: %s, azione: %s, tipo: %s, valore: %s"
 
-#: ../src/dialogs.py:1911
+#: ../src/dialogs.py:2161
 #, python-format
 msgid "Order: %s, action: %s"
 msgstr "Ordine: %s, azione: %s"
 
-#: ../src/dialogs.py:1953
+#: ../src/dialogs.py:2203
 msgid "<b>Edit a rule</b>"
 msgstr "<b>Modifica una regola</b>"
 
-#: ../src/dialogs.py:2040
+#: ../src/dialogs.py:2290
 msgid "<b>Add a rule</b>"
 msgstr "<b>Aggiungi una regola</b>"
 
-#: ../src/dialogs.py:2136
+#: ../src/dialogs.py:2386
 #, python-format
 msgid "Privacy Lists for %s"
 msgstr "Lista privacy per %s"
 
-#: ../src/dialogs.py:2138
+#: ../src/dialogs.py:2388
 msgid "Privacy Lists"
 msgstr "Liste privacy"
 
-#: ../src/dialogs.py:2208
+#: ../src/dialogs.py:2458
 msgid "Invalid List Name"
 msgstr "Nome lista non valido"
 
-#: ../src/dialogs.py:2209
+#: ../src/dialogs.py:2459
 msgid "You must enter a name to create a privacy list."
 msgstr "È necessario inserire una nome per creare una lista privacy"
 
-#. Don't translate $Contact
-#: ../src/dialogs.py:2243
+#: ../src/dialogs.py:2496
+msgid "$Contact has invited you to join a discussion"
+msgstr "$Contact ti ha invitato a partecipare a una discussione"
+
+#: ../src/dialogs.py:2498
 #, python-format
 msgid "$Contact has invited you to group chat %(room_jid)s"
 msgstr "$Contact ti ha invitato alla chat di gruppo %(room_jid)s"
 
 #. only if not None and not ''
-#: ../src/dialogs.py:2255
+#: ../src/dialogs.py:2510
 #, python-format
 msgid "Comment: %s"
 msgstr "Commento: %s"
 
-#: ../src/dialogs.py:2317
+#: ../src/dialogs.py:2576
 msgid "Choose Sound"
 msgstr "Scegliere il suono"
 
-#: ../src/dialogs.py:2327 ../src/dialogs.py:2372
+#: ../src/dialogs.py:2586 ../src/dialogs.py:2634
 msgid "All files"
 msgstr "Tutti i file"
 
-#: ../src/dialogs.py:2332
+#: ../src/dialogs.py:2591
 msgid "Wav Sounds"
 msgstr "Suoni Wav"
 
-#: ../src/dialogs.py:2362
+#: ../src/dialogs.py:2624
 msgid "Choose Image"
 msgstr "Scegli immagine"
 
-#: ../src/dialogs.py:2377
+#: ../src/dialogs.py:2639
 msgid "Images"
 msgstr "Immagini"
 
-#: ../src/dialogs.py:2434
+#: ../src/dialogs.py:2703
 #, python-format
 msgid "When %s becomes:"
 msgstr "Quando %s diventa:"
 
-#: ../src/dialogs.py:2436
+#: ../src/dialogs.py:2705
 #, python-format
 msgid "Adding Special Notification for %s"
 msgstr "Creazione notifica speciale per %s"
 
 #. # means number
-#: ../src/dialogs.py:2507
+#: ../src/dialogs.py:2776
 msgid "#"
 msgstr "#"
 
-#: ../src/dialogs.py:2513
+#: ../src/dialogs.py:2782
 msgid "Condition"
 msgstr "Condizione"
 
-#: ../src/dialogs.py:2634
+#: ../src/dialogs.py:2900
 msgid "when I am "
 msgstr "quando io sono "
 
-#: ../src/disco.py:103
+#: ../src/disco.py:104
 msgid "Others"
 msgstr "Altri"
 
-#: ../src/disco.py:104 ../src/disco.py:105 ../src/disco.py:1281
-#: ../src/gajim.py:596 ../src/roster_window.py:271 ../src/roster_window.py:329
-#: ../src/roster_window.py:368 ../src/roster_window.py:451
-#: ../src/roster_window.py:483 ../src/roster_window.py:485
-#: ../src/roster_window.py:3896 ../src/roster_window.py:3898
-#: ../src/common/contacts.py:267 ../src/common/helpers.py:43
+#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1345
+#: ../src/gajim.py:644 ../src/roster_window.py:282 ../src/roster_window.py:342
+#: ../src/roster_window.py:382 ../src/roster_window.py:490
+#: ../src/roster_window.py:522 ../src/roster_window.py:524
+#: ../src/roster_window.py:4707 ../src/roster_window.py:4709
+#: ../src/common/contacts.py:290 ../src/common/contacts.py:305
+#: ../src/common/helpers.py:44
 msgid "Transports"
 msgstr "Trasporti"
 
 #. conference is a category for listing mostly groupchats in service discovery
-#: ../src/disco.py:107
+#: ../src/disco.py:108
 msgid "Conference"
 msgstr "Conferenze"
 
-#: ../src/disco.py:420
+#: ../src/disco.py:421
 msgid "Without a connection, you can not browse available services"
 msgstr ""
 "Senza una connessione, non è possibile consultare i servizi disponibili"
 
-#: ../src/disco.py:499
+#: ../src/disco.py:495
 #, python-format
 msgid "Service Discovery using account %s"
 msgstr "Ricerca servizi usando l'account %s"
 
-#: ../src/disco.py:501
+#: ../src/disco.py:497
 msgid "Service Discovery"
 msgstr "Ricerca servizi"
 
-#: ../src/disco.py:641
+#: ../src/disco.py:637
 msgid "The service could not be found"
 msgstr "Il servizio non è stato trovato"
 
-#: ../src/disco.py:642
+#: ../src/disco.py:638
 msgid ""
 "There is no service at the address you entered, or it is not responding. "
 "Check the address and try again."
@@ -3601,64 +3811,72 @@ msgstr ""
 "Il servizio all'indirizzo immesso non risponde o è inesistente. Controllare "
 "l'indirizzo e riprovare."
 
-#: ../src/disco.py:646 ../src/disco.py:927
+#: ../src/disco.py:642 ../src/disco.py:923
 msgid "The service is not browsable"
 msgstr "Non è possibile consultare il servizio"
 
-#: ../src/disco.py:647
+#: ../src/disco.py:643
 msgid "This type of service does not contain any items to browse."
 msgstr "Questo tipo di servizio non contiene oggetti da consultare."
 
-#: ../src/disco.py:727
+#: ../src/disco.py:723
 #, python-format
 msgid "Browsing %s using account %s"
 msgstr "Consulta %s usando l'account %s"
 
-#: ../src/disco.py:766
+#: ../src/disco.py:762
 msgid "_Browse"
 msgstr "C_onsulta"
 
-#: ../src/disco.py:928
+#: ../src/disco.py:924
 msgid "This service does not contain any items to browse."
 msgstr "Questo servizio non contiene oggetti da consultare."
 
-#: ../src/disco.py:1155 ../src/disco.py:1286
+#: ../src/disco.py:1142
+msgid "_Execute Command"
+msgstr "_Esegui comando"
+
+#: ../src/disco.py:1152 ../src/disco.py:1350
 msgid "Re_gister"
 msgstr "_Registra"
 
-#: ../src/disco.py:1323
+#: ../src/disco.py:1387
 #, python-format
 msgid "Scanning %d / %d.."
 msgstr "Analisi %d / %d..."
 
 #. Users column
-#: ../src/disco.py:1504
+#: ../src/disco.py:1569
 msgid "Users"
 msgstr "Utenti"
 
 #. Description column
-#: ../src/disco.py:1511
+#: ../src/disco.py:1577
 msgid "Description"
 msgstr "Descrizione"
 
 #. Id column
-#: ../src/disco.py:1518
+#: ../src/disco.py:1585
 msgid "Id"
 msgstr "Id"
 
-#: ../src/disco.py:1741
+#: ../src/disco.py:1814
 msgid "Subscribed"
 msgstr "Abbonati"
 
-#: ../src/disco.py:1767
+#: ../src/disco.py:1822
+msgid "Node"
+msgstr "Nodo"
+
+#: ../src/disco.py:1879
 msgid "New post"
 msgstr "Nuovo post"
 
-#: ../src/disco.py:1773
+#: ../src/disco.py:1885
 msgid "_Subscribe"
 msgstr "A_bbonati"
 
-#: ../src/disco.py:1779
+#: ../src/disco.py:1891
 msgid "_Unsubscribe"
 msgstr "Disa_bbonati"
 
@@ -3674,102 +3892,102 @@ msgstr "Tempo"
 msgid "Progress"
 msgstr "Progresso"
 
-#: ../src/filetransfers_window.py:163 ../src/filetransfers_window.py:223
+#: ../src/filetransfers_window.py:159 ../src/filetransfers_window.py:213
 #, python-format
 msgid "Filename: %s"
 msgstr "Nome file: %s"
 
-#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:298
+#: ../src/filetransfers_window.py:160 ../src/filetransfers_window.py:288
 #, python-format
 msgid "Size: %s"
 msgstr "Dimensione: %s"
 
 #. You is a reply of who sent a file
 #. You is a reply of who received a file
-#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:183
+#: ../src/filetransfers_window.py:169 ../src/filetransfers_window.py:179
 #: ../src/history_manager.py:463
 msgid "You"
 msgstr "Tu"
 
-#: ../src/filetransfers_window.py:174
+#: ../src/filetransfers_window.py:170
 #, python-format
 msgid "Sender: %s"
 msgstr "Mittente: %s"
 
-#: ../src/filetransfers_window.py:175 ../src/filetransfers_window.py:572
-#: ../src/tooltips.py:573
+#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:577
+#: ../src/tooltips.py:586
 msgid "Recipient: "
 msgstr "Destinatario: "
 
-#: ../src/filetransfers_window.py:186
+#: ../src/filetransfers_window.py:182
 #, python-format
 msgid "Saved in: %s"
 msgstr "Memorizzato in: %s"
 
-#: ../src/filetransfers_window.py:188
+#: ../src/filetransfers_window.py:184
 msgid "File transfer completed"
 msgstr "Trasferimento file completato"
 
-#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:212
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:204
 msgid "File transfer cancelled"
 msgstr "Trasferimento file annullato"
 
-#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:213
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:205
 msgid "Connection with peer cannot be established."
 msgstr "La connessione non può essere stabilita."
 
-#: ../src/filetransfers_window.py:224
+#: ../src/filetransfers_window.py:214
 #, python-format
 msgid "Recipient: %s"
 msgstr "Destinatario: %s"
 
-#: ../src/filetransfers_window.py:226
+#: ../src/filetransfers_window.py:216
 #, python-format
 msgid "Error message: %s"
 msgstr "Messaggio di errore: %s"
 
-#: ../src/filetransfers_window.py:227
+#: ../src/filetransfers_window.py:217
 msgid "File transfer stopped by the contact at the other end"
 msgstr "Trasferimento file fermato dal contatto dall'altra parte"
 
-#: ../src/filetransfers_window.py:244
+#: ../src/filetransfers_window.py:234
 msgid "Choose File to Send..."
 msgstr "Scegliere il file da inviare..."
 
-#: ../src/filetransfers_window.py:263
+#: ../src/filetransfers_window.py:253
 msgid "Gajim cannot access this file"
 msgstr "Gajim non riesce a leggere questo file"
 
-#: ../src/filetransfers_window.py:264
+#: ../src/filetransfers_window.py:254
 msgid "This file is being used by another process."
 msgstr "Questo file è in uso da un altro processo."
 
-#: ../src/filetransfers_window.py:296
+#: ../src/filetransfers_window.py:286
 #, python-format
 msgid "File: %s"
 msgstr "File: %s"
 
-#: ../src/filetransfers_window.py:301
+#: ../src/filetransfers_window.py:291
 #, python-format
 msgid "Type: %s"
 msgstr "Tipo: %s"
 
-#: ../src/filetransfers_window.py:303
+#: ../src/filetransfers_window.py:293
 #, python-format
 msgid "Description: %s"
 msgstr "Descrizione: %s"
 
-#: ../src/filetransfers_window.py:304
+#: ../src/filetransfers_window.py:294
 #, python-format
 msgid "%s wants to send you a file:"
 msgstr "%s vuole inviarti un file:"
 
-#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:747
+#: ../src/filetransfers_window.py:308 ../src/gtkgui_helpers.py:767
 #, python-format
 msgid "Cannot overwrite existing file \"%s\""
 msgstr "Non è possibile sovrascrivere il file esistente \"%s\""
 
-#: ../src/filetransfers_window.py:319 ../src/gtkgui_helpers.py:749
+#: ../src/filetransfers_window.py:309 ../src/gtkgui_helpers.py:769
 msgid ""
 "A file with this name already exists and you do not have permission to "
 "overwrite it."
@@ -3777,31 +3995,31 @@ msgstr ""
 "Un file con lo stesso nome è già presente e non si ha il permesso per "
 "sovrascriverlo"
 
-#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:753
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:773
 msgid "This file already exists"
 msgstr "Questo file esiste già"
 
-#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:753
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:773
 msgid "What do you want to do?"
 msgstr "Cosa fare?"
 
-#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:763
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:783
 #, python-format
 msgid "Directory \"%s\" is not writable"
 msgstr "La cartella \"%s\" non è scrivibile."
 
-#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:764
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:784
 msgid "You do not have permission to create files in this directory."
 msgstr "Non si ha il permesso di creare file in questa cartella."
 
-#: ../src/filetransfers_window.py:348
+#: ../src/filetransfers_window.py:338
 msgid "Save File as..."
 msgstr "Salva file come..."
 
 #. Print remaining time in format 00:00:00
 #. You can change the places of (hours), (minutes), (seconds) -
 #. they are not translatable.
-#: ../src/filetransfers_window.py:429
+#: ../src/filetransfers_window.py:419
 #, python-format
 msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
@@ -3809,65 +4027,66 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 #. This should make the string Kb/s,
 #. where 'Kb' part is taken from %s.
 #. Only the 's' after / (which means second) should be translated.
-#: ../src/filetransfers_window.py:505
+#: ../src/filetransfers_window.py:508
 #, python-format
 msgid "(%(filesize_unit)s/s)"
 msgstr "(%(filesize_unit)s/s)"
 
-#: ../src/filetransfers_window.py:544 ../src/filetransfers_window.py:547
+#: ../src/filetransfers_window.py:547 ../src/filetransfers_window.py:550
 msgid "Invalid File"
 msgstr "File non valido"
 
-#: ../src/filetransfers_window.py:544
+#: ../src/filetransfers_window.py:547
 msgid "File: "
 msgstr "File: "
 
-#: ../src/filetransfers_window.py:548
+#: ../src/filetransfers_window.py:551
 msgid "It is not possible to send empty files"
 msgstr "Non è possibile inviare file vuoti"
 
-#: ../src/filetransfers_window.py:568 ../src/tooltips.py:563
+#: ../src/filetransfers_window.py:573 ../src/tooltips.py:576
 msgid "Name: "
 msgstr "Nome: "
 
-#: ../src/filetransfers_window.py:570 ../src/tooltips.py:567
+#: ../src/filetransfers_window.py:575 ../src/tooltips.py:580
 msgid "Sender: "
 msgstr "Mittente: "
 
-#: ../src/filetransfers_window.py:758
+#: ../src/filetransfers_window.py:763
 msgid "Pause"
 msgstr "Pausa"
 
-#: ../src/gajim.py:47
+#: ../src/gajim.py:50
 #, python-format
 msgid "%s is not a valid loglevel"
 msgstr "%s non è un livello di log valido"
 
-#: ../src/gajim.py:122
+#: ../src/gajim.py:143
 msgid "Gajim needs X server to run. Quiting..."
 msgstr "Gajim ha bisogno di un server X per essere eseguito. Uscita..."
 
-#: ../src/gajim.py:126
+#: ../src/gajim.py:147
 msgid "Gajim needs PyGTK 2.8 or above"
 msgstr "Gajim ha bisogno di PyGTK 2.8 o superiore"
 
-#: ../src/gajim.py:127
+#: ../src/gajim.py:148
 msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
-msgstr "Gajim ha bisogno di PyGTK 2.8 o superiore per essere eseguito. Uscita..."
+msgstr ""
+"Gajim ha bisogno di PyGTK 2.8 o superiore per essere eseguito. Uscita..."
 
-#: ../src/gajim.py:129
+#: ../src/gajim.py:150
 msgid "Gajim needs GTK 2.8 or above"
 msgstr "Gajim ha bisogno di GTK2.8 o superiore"
 
-#: ../src/gajim.py:130
+#: ../src/gajim.py:151
 msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
 msgstr "Gajim ha bisogno di GTK2.8 o superiore per essere eseguito. Uscita..."
 
-#: ../src/gajim.py:135
+#: ../src/gajim.py:156
 msgid "GTK+ runtime is missing libglade support"
 msgstr "Supporto libglade mancante nel runtime GTK+"
 
-#: ../src/gajim.py:137
+#: ../src/gajim.py:158
 #, python-format
 msgid ""
 "Please remove your current GTK+ runtime and install the latest stable "
@@ -3876,20 +4095,20 @@ msgstr ""
 "Eliminare il runtime GTK+ corrente ed installare l'ultima versione stabile "
 "da %s"
 
-#: ../src/gajim.py:139
+#: ../src/gajim.py:160
 msgid ""
 "Please make sure that GTK+ and PyGTK have libglade support in your system."
 msgstr "Verificare che GTK+ e PyGTK abbiano supporto libglade sul sistema."
 
-#: ../src/gajim.py:144
+#: ../src/gajim.py:165
 msgid "Gajim needs PySQLite2 to run"
 msgstr "Gajim ha bisogno di PySQLite2 per essere eseguito"
 
-#: ../src/gajim.py:152
+#: ../src/gajim.py:173
 msgid "Gajim needs pywin32 to run"
 msgstr "Gajim ha bisogno di pywin32 per essere eseguito"
 
-#: ../src/gajim.py:153
+#: ../src/gajim.py:174
 #, python-format
 msgid ""
 "Please make sure that Pywin32 is installed on your system. You can get it at "
@@ -3899,11 +4118,11 @@ msgstr ""
 "%s"
 
 #. set the icon to all newly opened wind
-#: ../src/gajim.py:296
+#: ../src/gajim.py:317
 msgid "Gajim is already running"
 msgstr "Gajim è già in esecuzione"
 
-#: ../src/gajim.py:297
+#: ../src/gajim.py:318
 msgid ""
 "Another instance of Gajim seems to be running\n"
 "Run anyway?"
@@ -3911,83 +4130,140 @@ msgstr ""
 "Un'altra istanza di Gajim sembra essere in esecuzione\n"
 "Continuare comunque?"
 
-#: ../src/gajim.py:403
+#: ../src/gajim.py:341 ../src/common/connection_handlers.py:896
+#: ../src/common/connection_handlers.py:1597
+#: ../src/common/connection_handlers.py:1626
+#: ../src/common/connection_handlers.py:1636
+#: ../src/common/connection_handlers.py:1655
+#: ../src/common/connection_handlers.py:1892
+#: ../src/common/connection_handlers.py:2004 ../src/common/connection.py:925
+msgid "Disk Write Error"
+msgstr "Errore di scrittura su disco"
+
+#: ../src/gajim.py:434
+msgid "Do you accept this request?"
+msgstr "Accettare questa richiesta?"
+
+#: ../src/gajim.py:437
 #, python-format
 msgid "HTTP (%s) Authorization for %s (id: %s)"
 msgstr "Autorizzazione HTTP (%s) per %s (id: %s)"
 
-#: ../src/gajim.py:404
-msgid "Do you accept this request?"
-msgstr "Accettare questa richiesta?"
-
-#: ../src/gajim.py:450 ../src/notify.py:435
+#: ../src/gajim.py:484 ../src/notify.py:448
 msgid "Connection Failed"
 msgstr "Connessione fallita"
 
-#: ../src/gajim.py:767
+#: ../src/gajim.py:817
 #, python-format
 msgid "Subject: %s"
 msgstr "Oggetto: %s"
 
 #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
-#: ../src/gajim.py:812 ../src/gajim.py:825
+#: ../src/gajim.py:864 ../src/gajim.py:877
 #, python-format
 msgid "error while sending %s ( %s )"
 msgstr "errore durante l'invio di %s ( %s )"
 
-#: ../src/gajim.py:858
+#: ../src/gajim.py:910
 msgid "Authorization accepted"
 msgstr "Autorizzazione accettata"
 
-#: ../src/gajim.py:859
+#: ../src/gajim.py:911
 #, python-format
 msgid "The contact \"%s\" has authorized you to see his or her status."
 msgstr "Il contatto \"%s\" ti ha autorizzato a vedere il suo stato."
 
-#: ../src/gajim.py:867
+#: ../src/gajim.py:919
 #, python-format
 msgid "Contact \"%s\" removed subscription from you"
 msgstr "Il contatto \"%s\" ha eliminato il tuo abbonamento verso di lui"
 
-#: ../src/gajim.py:868
+#: ../src/gajim.py:920
 msgid "You will always see him or her as offline."
 msgstr "Lo vedrai sempre come offline."
 
-#: ../src/gajim.py:911
+#: ../src/gajim.py:964
 #, python-format
 msgid "Contact with \"%s\" cannot be established"
 msgstr "Non si può contattare \"%s\""
 
-#: ../src/gajim.py:912 ../src/common/connection.py:417
+#: ../src/gajim.py:965 ../src/common/connection.py:466
 msgid "Check your connection or try again later."
 msgstr "Controllare la connessione o riprovare più tardi."
 
-#: ../src/gajim.py:1061 ../src/roster_window.py:1218
+#: ../src/gajim.py:1136 ../src/roster_window.py:1348
 #, python-format
 msgid "%s is now %s (%s)"
 msgstr "%s è ora %s (%s)"
 
 #. No status message
-#: ../src/gajim.py:1064 ../src/groupchat_control.py:944
-#: ../src/roster_window.py:1221
+#: ../src/gajim.py:1139 ../src/groupchat_control.py:1120
+#: ../src/roster_window.py:1351
 #, python-format
 msgid "%s is now %s"
 msgstr "%s è ora %s"
 
-#: ../src/gajim.py:1161
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/gajim.py:1260 ../src/groupchat_control.py:932
+msgid "Any occupant is allowed to see your full JID"
+msgstr "Tutti i partecipanti possono vedere il tuo JID"
+
+#: ../src/gajim.py:1263
+msgid "Room now shows unavailable member"
+msgstr "La stanza ora mostra i membri non disponibili"
+
+#: ../src/gajim.py:1265
+msgid "room now does not show unavailable members"
+msgstr "la stanza ora non mostra i membri non disponibili"
+
+#: ../src/gajim.py:1268
+msgid "A non-privacy-related room configuration change has occurred"
+msgstr ""
+"E' stata effettuata una modifica alla configurazione della stanza che non "
+"riguarda la privacy"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#: ../src/gajim.py:1271
+msgid "Room logging is now enabled"
+msgstr "La registrazione dei messaggi della stanza è stata attivata"
+
+#: ../src/gajim.py:1273
+msgid "Room logging is now disabled"
+msgstr "La registrazione dei messaggi della stanza è stata disattivata"
+
+#: ../src/gajim.py:1275
+msgid "Room is now non-anonymous"
+msgstr "La stanza è ora completamente non anonima"
+
+#: ../src/gajim.py:1278
+msgid "Room is now semi-anonymous"
+msgstr "La stanza è ora semi-anonima"
+
+#: ../src/gajim.py:1281
+msgid "Room is now fully-anonymous"
+msgstr "La stanza è ora completamente anonima"
+
+#: ../src/gajim.py:1313
+#, python-format
+msgid "A Password is required to join the room %s. Please type it"
+msgstr ""
+"È necessaria una password per entrare nella stanza %s. Inserisci la password"
+
+#: ../src/gajim.py:1343
 msgid "Your passphrase is incorrect"
 msgstr "Passphrase errata"
 
-#: ../src/gajim.py:1162
+#: ../src/gajim.py:1344
 msgid "You are currently connected without your OpenPGP key."
-msgstr "Si è connessi senza la chiave OpenPGP"
+msgstr "Sei connesso senza la chiave OpenPGP."
 
-#: ../src/gajim.py:1265
+#: ../src/gajim.py:1448
 #, python-format
 msgid "New mail on %(gmail_mail_address)s"
 msgstr "Nuova e-mail su %(gmail_mail_address)s"
 
-#: ../src/gajim.py:1267
+#: ../src/gajim.py:1450
 #, python-format
 msgid "You have %d new mail conversation"
 msgid_plural "You have %d new mail conversations"
@@ -3997,7 +4273,7 @@ msgstr[1] "Ci sono %d nuove conversazioni in e-mail"
 #. FIXME: emulate Gtalk client popups. find out what they parse and how
 #. they decide what to show
 #. each message has a 'From', 'Subject' and 'Snippet' field
-#: ../src/gajim.py:1276
+#: ../src/gajim.py:1459
 #, python-format
 msgid ""
 "\n"
@@ -4006,52 +4282,126 @@ msgstr ""
 "\n"
 "Da: %(from_address)s"
 
-#: ../src/gajim.py:1432
+#: ../src/gajim.py:1679
 #, python-format
 msgid "%s wants to send you a file."
 msgstr "%s vuole inviarti un file."
 
-#: ../src/gajim.py:1497
+#: ../src/gajim.py:1744
 #, python-format
 msgid "You successfully received %(filename)s from %(name)s."
 msgstr "%(filename)s ricevuto con successo da %(name)s."
 
 #. ft stopped
-#: ../src/gajim.py:1501
+#: ../src/gajim.py:1748
 #, python-format
 msgid "File transfer of %(filename)s from %(name)s stopped."
 msgstr "Il trasferimento file di %(filename)s da %(name)s è fermo."
 
-#: ../src/gajim.py:1514
+#: ../src/gajim.py:1761
 #, python-format
 msgid "You successfully sent %(filename)s to %(name)s."
 msgstr "Invio di %(filename)s a %(name)s effettuato con successo."
 
 #. ft stopped
-#: ../src/gajim.py:1518
+#: ../src/gajim.py:1765
 #, python-format
 msgid "File transfer of %(filename)s to %(name)s stopped."
 msgstr "Trasferimento file di %(filename)s a %(name)s fermato."
 
-#: ../src/gajim.py:1631
+#: ../src/gajim.py:1860
+msgid "Session negotiation cancelled"
+msgstr "Negoziazione della sessione annullata"
+
+#: ../src/gajim.py:1861
+#, python-format
+msgid "The client at %s cancelled the session negotiation."
+msgstr "Il client a %s ha annullato la negoziazione della sessione."
+
+#: ../src/gajim.py:1901 ../src/gajim.py:1942
+msgid "Confirm these session options"
+msgstr "Conferma queste opzioni di sessione"
+
+#: ../src/gajim.py:1902
+#, python-format
+msgid ""
+"The remote client wants to negotiate an session with these features:\n"
+"\n"
+"\t%s\n"
+"\n"
+"\tAre these options acceptable?"
+msgstr ""
+"Il client remoto vuole negoziare una sessione con queste caratteristiche:\n"
+"\n"
+"\t%s\n"
+"\n"
+"\tQueste opzioni sono accettabili?"
+
+#: ../src/gajim.py:1943
+#, python-format
+msgid ""
+"The remote client selected these options:\n"
+"\n"
+"%s\n"
+"\n"
+"Continue with the session?"
+msgstr ""
+"Il client remoto ha selezionato queste opzioni:\n"
+"\n"
+"%s\n"
+"\n"
+"Continuare la sessione?"
+
+#: ../src/gajim.py:2055
 msgid "Username Conflict"
 msgstr "Conflitto di nomi utenti"
 
-#: ../src/gajim.py:1632
+#: ../src/gajim.py:2056
 msgid "Please type a new username for your local account"
 msgstr "Inserire un nuovo nome utente per l'account locale"
 
+#: ../src/gajim.py:2073
+msgid "Ping?"
+msgstr "Ping?"
+
+#: ../src/gajim.py:2081
+#, python-format
+msgid "Pong! (%s s.)"
+msgstr "Pong! (%s s.)"
+
+#: ../src/gajim.py:2087
+msgid "Error."
+msgstr "Errore."
+
+#: ../src/gajim.py:2112
+msgid "Resource Conflict"
+msgstr "Conflitto tra risorse"
+
+#: ../src/gajim.py:2113
+msgid ""
+"You are already connected to this account with the same resource. Please "
+"type a new one"
+msgstr ""
+"Sei già connesso a questo account con la stessa risorsa. Inseriscine un'altra"
+
 #. it is good to notify the user
 #. in case he or she cannot see the output of the console
-#: ../src/gajim.py:1972
+#: ../src/gajim.py:2475
 msgid "Could not save your settings and preferences"
 msgstr "Impossibile salvare impostazioni e preferenze"
 
-#: ../src/gajim.py:2170
+#. sorted alphanum
+#: ../src/gajim.py:2610 ../src/common/config.py:86 ../src/common/config.py:395
+#: ../src/common/optparser.py:194 ../src/common/optparser.py:412
+#: ../src/common/optparser.py:446
+msgid "default"
+msgstr "predefinito"
+
+#: ../src/gajim.py:2697
 msgid "Network Manager support not available"
 msgstr "Supporto Network Manager non disponibile"
 
-#: ../src/gajim.py:2249
+#: ../src/gajim.py:2798
 msgid "Session Management support not available (missing gnome.ui module)"
 msgstr "Supporto gestione sessioni non disponibile (modulo gnome.ui mancante)"
 
@@ -4084,11 +4434,11 @@ msgstr "Scrive la lista contatti. Ogni contatto appare su una linea separata"
 
 #: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99
 #: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122
-#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:157
-#: ../src/gajim-remote.py:187 ../src/gajim-remote.py:196
-#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210
-#: ../src/gajim-remote.py:221 ../src/gajim-remote.py:237
-#: ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:145
+#: ../src/gajim-remote.py:166 ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:205 ../src/gajim-remote.py:212
+#: ../src/gajim-remote.py:219 ../src/gajim-remote.py:230
+#: ../src/gajim-remote.py:246 ../src/gajim-remote.py:255
 msgid "account"
 msgstr "account"
 
@@ -4115,7 +4465,7 @@ msgstr ""
 "uno fra: offline, online, chat, assente, xa, non disturbare, invisibile"
 
 #: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119
-#: ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:133 ../src/gajim-remote.py:144
 msgid "message"
 msgstr "messaggio"
 
@@ -4140,7 +4490,7 @@ msgstr "Mostra la finestra di chat per mandare messaggi ad un contatto"
 msgid "JID of the contact that you want to chat with"
 msgstr "JID del contatto con cui si vuole chattare"
 
-#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:187
+#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:196
 msgid "if specified, contact is taken from the contact list of this account"
 msgstr ""
 "se specificato, il contatto è preso dalla lista contatti di questo account"
@@ -4160,6 +4510,7 @@ msgid "JID of the contact that will receive the message"
 msgstr "JID del contatto che riceverà il messaggio"
 
 #: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:144
 msgid "message contents"
 msgstr "contenuti messaggi"
 
@@ -4173,6 +4524,7 @@ msgstr ""
 "se specificato, il messaggio verrà cifrato usando questa chiave pubblica"
 
 #: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136
+#: ../src/gajim-remote.py:145
 msgid "if specified, the message will be sent using this account"
 msgstr "se specificato, il messaggio verrà inviato usando questo account"
 
@@ -4195,121 +4547,129 @@ msgid "message subject"
 msgstr "oggetto del messaggio "
 
 #: ../src/gajim-remote.py:141
+msgid "Sends new message to a groupchat you've joined."
+msgstr "Invia nuovi messaggi alla chat di gruppo in cui sei entrato."
+
+#: ../src/gajim-remote.py:143
+msgid "JID of the room that will receive the message"
+msgstr "JID della stanza che riceverà il messaggio"
+
+#: ../src/gajim-remote.py:150
 msgid "Gets detailed info on a contact"
 msgstr "Ottiene informazioni dettagliate su un contatto"
 
-#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156
-#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:152 ../src/gajim-remote.py:165
+#: ../src/gajim-remote.py:195 ../src/gajim-remote.py:204
 msgid "JID of the contact"
 msgstr "JID del contatto"
 
-#: ../src/gajim-remote.py:147
+#: ../src/gajim-remote.py:156
 msgid "Gets detailed info on a account"
 msgstr "Ottiene informazioni dettagliate su un contatto"
 
-#: ../src/gajim-remote.py:149
+#: ../src/gajim-remote.py:158
 msgid "Name of the account"
 msgstr "Nome dell'account"
 
-#: ../src/gajim-remote.py:153
+#: ../src/gajim-remote.py:162
 msgid "Sends file to a contact"
 msgstr "Invia file ad un contatto"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:164
 msgid "file"
 msgstr "file"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:164
 msgid "File path"
 msgstr "Percorso file"
 
-#: ../src/gajim-remote.py:157
+#: ../src/gajim-remote.py:166
 msgid "if specified, file will be sent using this account"
 msgstr "se specificato, il file verrà inviato usando questo account"
 
-#: ../src/gajim-remote.py:162
+#: ../src/gajim-remote.py:171
 msgid "Lists all preferences and their values"
 msgstr "Mostra tutte le preferenze ed i relativi valori"
 
-#: ../src/gajim-remote.py:166
+#: ../src/gajim-remote.py:175
 msgid "Sets value of 'key' to 'value'."
 msgstr "Imposta il valore di 'chiave' a 'valore'."
 
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:177
 msgid "key=value"
 msgstr "chiave=valore"
 
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:177
 msgid "'key' is the name of the preference, 'value' is the value to set it to"
 msgstr ""
 "'chiave' è il nome della preferenza, 'valore' è il valore a cui impostarla"
 
-#: ../src/gajim-remote.py:173
+#: ../src/gajim-remote.py:182
 msgid "Deletes a preference item"
 msgstr "Elimina un oggetto dalle preferenze"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:184
 msgid "key"
 msgstr "chiave"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:184
 msgid "name of the preference to be deleted"
 msgstr "nome della preferenza da eliminare"
 
-#: ../src/gajim-remote.py:179
+#: ../src/gajim-remote.py:188
 msgid "Writes the current state of Gajim preferences to the .config file"
 msgstr "Scrive lo stato corrente delle preferenze di Gajim nel file .config"
 
-#: ../src/gajim-remote.py:184
+#: ../src/gajim-remote.py:193
 msgid "Removes contact from roster"
 msgstr "Elimina il contatto dalla lista"
 
-#: ../src/gajim-remote.py:193
+#: ../src/gajim-remote.py:202
 msgid "Adds contact to roster"
 msgstr "Aggiunge il contatto alla lista"
 
-#: ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:204
 msgid "jid"
 msgstr "jid"
 
-#: ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:205
 msgid "Adds new contact to this account"
 msgstr "Aggiunge un nuovo contatto a questo account"
 
-#: ../src/gajim-remote.py:201
+#: ../src/gajim-remote.py:210
 msgid "Returns current status (the global one unless account is specified)"
 msgstr ""
 "Restituisce lo stato corrente (quello globale se non è specificato un "
 "account)"
 
-#: ../src/gajim-remote.py:208
+#: ../src/gajim-remote.py:217
 msgid ""
 "Returns current status message(the global one unless account is specified)"
 msgstr ""
 "Restituisce il messaggio di stato corrente (quello globale se non è "
 "specificato un account)"
 
-#: ../src/gajim-remote.py:215
+#: ../src/gajim-remote.py:224
 msgid "Returns number of unread messages"
 msgstr "Restituisce il numero di messaggi non letti"
 
-#: ../src/gajim-remote.py:219
+#: ../src/gajim-remote.py:228
 msgid "Opens 'Start Chat' dialog"
 msgstr "Apre la finestra di inizio chat"
 
-#: ../src/gajim-remote.py:221
+#: ../src/gajim-remote.py:230
 msgid "Starts chat, using this account"
 msgstr "Inizia chat usando questo account"
 
-#: ../src/gajim-remote.py:225
+#: ../src/gajim-remote.py:234
 msgid "Sends custom XML"
 msgstr "Invia XML personalizzato"
 
-#: ../src/gajim-remote.py:227
+#: ../src/gajim-remote.py:236
 msgid "XML to send"
 msgstr "XML da inviare"
 
-#: ../src/gajim-remote.py:228
+#: ../src/gajim-remote.py:237
 msgid ""
 "Account in which the xml will be sent; if not specified, xml will be sent to "
 "all accounts"
@@ -4317,35 +4677,35 @@ msgstr ""
 "L'account al quale l'xml è inviato; se non specificato, l'xml sarà spedito a "
 "tutti gli account."
 
-#: ../src/gajim-remote.py:234
+#: ../src/gajim-remote.py:243
 msgid "Handle a xmpp:/ uri"
 msgstr "Gestisci un uri xmpp:/"
 
-#: ../src/gajim-remote.py:236
+#: ../src/gajim-remote.py:245
 msgid "uri"
 msgstr "uri"
 
-#: ../src/gajim-remote.py:241
+#: ../src/gajim-remote.py:250
 msgid "Join a MUC room"
 msgstr "Entra in una stanza MUC"
 
-#: ../src/gajim-remote.py:243
+#: ../src/gajim-remote.py:252
 msgid "room"
 msgstr "stanza"
 
-#: ../src/gajim-remote.py:244
+#: ../src/gajim-remote.py:253
 msgid "nick"
 msgstr "nickname"
 
-#: ../src/gajim-remote.py:245
+#: ../src/gajim-remote.py:254
 msgid "password"
 msgstr "password"
 
-#: ../src/gajim-remote.py:268
+#: ../src/gajim-remote.py:277
 msgid "Missing argument \"contact_jid\""
 msgstr "Parametro mancante \"contact_jid\""
 
-#: ../src/gajim-remote.py:287
+#: ../src/gajim-remote.py:296
 #, python-format
 msgid ""
 "'%s' is not in your roster.\n"
@@ -4354,38 +4714,38 @@ msgstr ""
 "'%s' non appartiene alla lista contatti.\n"
 "Specificare l'account per l'invio del messaggio."
 
-#: ../src/gajim-remote.py:290
+#: ../src/gajim-remote.py:299
 msgid "You have no active account"
 msgstr "Non ci sono account attivi"
 
-#: ../src/gajim-remote.py:354
+#: ../src/gajim-remote.py:363
 #, python-format
 msgid ""
 "Usage: %s %s %s \n"
 "\t %s"
 msgstr ""
-"Uso: %s %s %s \n"
+"Utilizzo: %s %s %s \n"
 "\t %s"
 
-#: ../src/gajim-remote.py:357
+#: ../src/gajim-remote.py:366
 msgid "Arguments:"
 msgstr "Parametri:"
 
-#: ../src/gajim-remote.py:361
+#: ../src/gajim-remote.py:370
 #, python-format
 msgid "%s not found"
 msgstr "%s non trovato"
 
-#: ../src/gajim-remote.py:365
+#: ../src/gajim-remote.py:374
 #, python-format
 msgid ""
 "Usage: %s command [arguments]\n"
 "Command is one of:\n"
 msgstr ""
-"Uso: %s comando [parametri]\n"
+"Utilizzo: %s comando [parametri]\n"
 "Il comando è uno fra:\n"
 
-#: ../src/gajim-remote.py:438
+#: ../src/gajim-remote.py:447
 #, python-format
 msgid ""
 "Too many arguments. \n"
@@ -4394,7 +4754,7 @@ msgstr ""
 "Troppi parametri. \n"
 "Scrivere \"%s help %s\" per maggiori informazioni"
 
-#: ../src/gajim-remote.py:442
+#: ../src/gajim-remote.py:451
 #, python-format
 msgid ""
 "Argument \"%s\" is not specified. \n"
@@ -4403,131 +4763,160 @@ msgstr ""
 "Il parametro \"%s\" non è specificato. \n"
 "Scrivere\"%s help %s\" per maggiori informazioni"
 
-#: ../src/gajim-remote.py:460
+#: ../src/gajim-remote.py:469
 msgid "Wrong uri"
-msgstr "Uri errato"
+msgstr "URI errato"
 
-#: ../src/gajim_themes_window.py:60
+#: ../src/gajim_themes_window.py:62
 msgid "Theme"
 msgstr "Tema"
 
+#: ../src/gajim_themes_window.py:100
+msgid "You cannot make changes to the default theme"
+msgstr "Non è possibile modificare il tema di default"
+
+#: ../src/gajim_themes_window.py:101
+msgid "Please create a clean new theme with your desired name."
+msgstr "Creare un nuovo tema con il nome desiderato."
+
 #. don't confuse translators
-#: ../src/gajim_themes_window.py:155
+#: ../src/gajim_themes_window.py:175
 msgid "theme name"
 msgstr "nome del tema"
 
-#: ../src/gajim_themes_window.py:172
+#: ../src/gajim_themes_window.py:192
 msgid "You cannot delete your current theme"
 msgstr "Non è possibile eliminare il tema corrente"
 
-#: ../src/gajim_themes_window.py:173
+#: ../src/gajim_themes_window.py:193
 msgid "Please first choose another for your current theme."
 msgstr "Scegliere prima un altro tema."
 
-#: ../src/groupchat_control.py:106
-msgid "Private Chat"
-msgstr "Chat privata"
-
-#: ../src/groupchat_control.py:106
-msgid "Private Chats"
-msgstr "Chat private"
-
-#: ../src/groupchat_control.py:123
+#: ../src/groupchat_control.py:134
 msgid "Sending private message failed"
 msgstr "Invio messaggio privato fallito"
 
 #. in second %s code replaces with nickname
-#: ../src/groupchat_control.py:125
+#: ../src/groupchat_control.py:136
 #, python-format
 msgid "You are no longer in group chat \"%s\" or \"%s\" has left."
 msgstr "Non sei più nella stanza \"%s\" o \"%s\" è uscito."
 
-#: ../src/groupchat_control.py:144
-msgid "Group Chat"
-msgstr "Chat di gruppo"
-
-#: ../src/groupchat_control.py:144
-msgid "Group Chats"
-msgstr "Chat di gruppo"
-
-#: ../src/groupchat_control.py:318
+#: ../src/groupchat_control.py:343
 msgid "Insert Nickname"
 msgstr "Inserisci nickname"
 
+#: ../src/groupchat_control.py:859
+msgid "Really send file?"
+msgstr ""
+
+#: ../src/groupchat_control.py:860
+#, python-format
+msgid "If you send a file to %s, he/she will know your real Jabber ID."
+msgstr ""
+
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/groupchat_control.py:935
+msgid "Room logging is enabled"
+msgstr "La registrazione dei messaggi della stanza è stata attivata"
+
+#: ../src/groupchat_control.py:937
+msgid "A new room has been created"
+msgstr "E' stata creata una nuova stanza"
+
+#: ../src/groupchat_control.py:940
+msgid "The server has assigned or modified your roomnick"
+msgstr "Il server ha assegnato o modificato il tuo nickname"
+
 #. do not print 'kicked by None'
-#: ../src/groupchat_control.py:829
+#: ../src/groupchat_control.py:946
 #, python-format
 msgid "%(nick)s has been kicked: %(reason)s"
 msgstr "%(nick)s è stato cacciato: %(reason)s"
 
-#: ../src/groupchat_control.py:833
+#: ../src/groupchat_control.py:950
 #, python-format
 msgid "%(nick)s has been kicked by %(who)s: %(reason)s"
 msgstr "%(nick)s è stato cacciato da %(who)s : %(reason)s"
 
 #. do not print 'banned by None'
-#: ../src/groupchat_control.py:840
+#: ../src/groupchat_control.py:957
 #, python-format
 msgid "%(nick)s has been banned: %(reason)s"
 msgstr "%(nick)s è stato bloccato: %(reason)s"
 
-#: ../src/groupchat_control.py:844
+#: ../src/groupchat_control.py:961
 #, python-format
 msgid "%(nick)s has been banned by %(who)s: %(reason)s"
 msgstr "%(nick)s è stato bloccato da %(who)s : %(reason)s"
 
-#: ../src/groupchat_control.py:852
+#. Someone changed his or her nick
+#. We changed our nick
+#: ../src/groupchat_control.py:968
 #, python-format
 msgid "You are now known as %s"
 msgstr "Sei ora conosciuto come %s"
 
-#: ../src/groupchat_control.py:854
+#: ../src/groupchat_control.py:970
 #, python-format
 msgid "%s is now known as %s"
 msgstr "%s è ora conosciuto come %s"
 
-#: ../src/groupchat_control.py:937
+#: ../src/groupchat_control.py:1003 ../src/groupchat_control.py:1007
+#: ../src/groupchat_control.py:1012
+#, python-format
+msgid "%(nick)s has been removed from the room (%(reason)s)"
+msgstr "%(nick)s è stato cacciato dalla stanza (%(reason)s)"
+
+#: ../src/groupchat_control.py:1004
+msgid "affiliation changed"
+msgstr "l'affiliazione è stata cambiata"
+
+#: ../src/groupchat_control.py:1009
+msgid "room configuration changed to members-only"
+msgstr "la stanza è ora accessibile solo ai membri"
+
+#: ../src/groupchat_control.py:1014
+#, fuzzy
+msgid "system shutdown"
+msgstr "spegnimento del sistema"
+
+#: ../src/groupchat_control.py:1113
 #, python-format
 msgid "%s has left"
 msgstr "%s se ne è andato"
 
-#: ../src/groupchat_control.py:942
+#: ../src/groupchat_control.py:1118
 #, python-format
 msgid "%s has joined the group chat"
 msgstr "%s è entrato nella chat di gruppo"
 
-#: ../src/groupchat_control.py:1063 ../src/groupchat_control.py:1081
-#: ../src/groupchat_control.py:1174 ../src/groupchat_control.py:1191
+#. Invalid Nickname
+#. invalid char
+#: ../src/groupchat_control.py:1231 ../src/groupchat_control.py:1510
+msgid "Invalid nickname"
+msgstr "Nickname non valido"
+
+#: ../src/groupchat_control.py:1232 ../src/groupchat_control.py:1511
+msgid "The nickname has not allowed characters."
+msgstr "Il nickname contiene caratteri non consentiti."
+
+#: ../src/groupchat_control.py:1255 ../src/groupchat_control.py:1273
+#: ../src/groupchat_control.py:1357 ../src/groupchat_control.py:1374
 #, python-format
 msgid "Nickname not found: %s"
 msgstr "Nickname non trovato: %s"
 
-#: ../src/groupchat_control.py:1097
+#: ../src/groupchat_control.py:1289
 msgid "This group chat has no subject"
 msgstr "Questa stanza non ha oggetto"
 
-#: ../src/groupchat_control.py:1110
+#: ../src/groupchat_control.py:1300
 #, python-format
 msgid "Invited %(contact_jid)s to %(room_jid)s."
 msgstr "Si è invitato %(contact_jid)s a %(room_jid)s."
 
-#. %s is something the user wrote but it is not a jid so we inform
-#: ../src/groupchat_control.py:1117 ../src/groupchat_control.py:1145
-#, python-format
-msgid "%s does not appear to be a valid JID"
-msgstr "%s non sembra essere un JID valido"
-
-#: ../src/groupchat_control.py:1228
-#, python-format
-msgid "No such command: /%s (if you want to send this, prefix it with /say)"
-msgstr "Comando inesistente: /%s (per inviarlo, scrivere /say prima di esso)"
-
-#: ../src/groupchat_control.py:1251
-#, python-format
-msgid "Commands: %s"
-msgstr "Comandi: %s"
-
-#: ../src/groupchat_control.py:1253
+#: ../src/groupchat_control.py:1437
 #, python-format
 msgid ""
 "Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
@@ -4535,176 +4924,174 @@ msgid ""
 "the JID is currently in the group chat, he/she/it will also be kicked. Does "
 "NOT support spaces in nickname."
 msgstr ""
-"Uso: /%s <nickname|JID> [motivo], bandisce il JID dalla stanza. Il nickname "
-"di un partecipante può venire usato al posto del JID, ma non se contiene \"@"
-"\". Se il JID è correntemente nella stanza, verrà anche cacciato. NON "
-"supporta la presenza di spazi nel nickname."
+"Utilizzo: /%s <nickname|JID> [motivo], bandisce il JID dalla stanza. Il "
+"nickname di un partecipante può venire usato al posto del JID, ma non se "
+"contiene \"@\". Se il JID è correntemente nella stanza, verrà anche "
+"cacciato. NON supporta la presenza di spazi nel nickname."
 
-#: ../src/groupchat_control.py:1260
+#: ../src/groupchat_control.py:1444
 #, python-format
 msgid ""
 "Usage: /%s <nickname>, opens a private chat window with the specified "
 "occupant."
 msgstr ""
-"Uso: /%s <nickname>, apre una finestra di chat privata al partecipante "
+"Utilizzo: /%s <nickname>, apre una finestra di chat privata al partecipante "
 "specificato."
 
-#: ../src/groupchat_control.py:1264
-#, python-format
-msgid "Usage: /%s, clears the text window."
-msgstr "Uso: /%s, pulisce la finestra di testo."
-
-#: ../src/groupchat_control.py:1266
+#: ../src/groupchat_control.py:1450
 #, python-format
 msgid ""
 "Usage: /%s [reason], closes the current window or tab, displaying reason if "
 "specified."
 msgstr ""
-"Uso: /%s [motivo], chiude la finestra oi scheda corrente, mostrando il "
+"Utilizzo: /%s [motivo], chiude la finestra oi scheda corrente, mostrando il "
 "motivo se specificato."
 
-#: ../src/groupchat_control.py:1269
-#, python-format
-msgid "Usage: /%s, hide the chat buttons."
-msgstr "Uso: /%s, nasconde i pulsanti di chat."
-
-#: ../src/groupchat_control.py:1272
+#: ../src/groupchat_control.py:1456
 #, python-format
 msgid ""
 "Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
 "providing a reason."
 msgstr ""
-"Uso: /%s <JID> [motivo], invita JID alla stanza corrente, opzionalmente "
+"Utilizzo: /%s <JID> [motivo], invita JID alla stanza corrente, opzionalmente "
 "fornendo un motivo."
 
-#: ../src/groupchat_control.py:1276
+#: ../src/groupchat_control.py:1460
 #, python-format
 msgid ""
 "Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
 "using specified nickname."
 msgstr ""
-"Uso: /%s <stanza>@<server>[/nickname], offre la possibilità di entrare in "
-"stanza@server, opzionalmente usando il nickname specificato."
+"Utilizzo: /%s <stanza>@<server>[/nickname], offre la possibilità di entrare "
+"in stanza@server, opzionalmente usando il nickname specificato."
 
-#: ../src/groupchat_control.py:1280
+#: ../src/groupchat_control.py:1464
 #, python-format
 msgid ""
 "Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
 "from the group chat and optionally displays a reason. Does NOT support "
 "spaces in nickname."
 msgstr ""
-"Uso: /%s <nickname> [motivo], rimuove il partecipante specificato per "
+"Utilizzo: /%s <nickname> [motivo], rimuove il partecipante specificato per "
 "nickname dalla stanza e opzionalmente mostra un motivo. NON supporta la "
 "presenza di spazi nel nickname."
 
-#: ../src/groupchat_control.py:1285
-#, python-format
-msgid ""
-"Usage: /%s <action>, sends action to the current group chat. Use third "
-"person. (e.g. /%s explodes.)"
-msgstr ""
-"Uso: /%s <azione>, invia l'azione alla stanza corrente. Usare la terza "
-"persona (esempio: /%s esplode)."
-
-#: ../src/groupchat_control.py:1289
+#: ../src/groupchat_control.py:1473
 #, python-format
 msgid ""
 "Usage: /%s <nickname> [message], opens a private message window and sends "
 "message to the occupant specified by nickname."
 msgstr ""
-"Uso: /%s <nickname> [messaggio], apre una finestra di messaggi privati ed "
-"invia il messaggio al partecipante specificato per nickname."
+"Utilizzo: /%s <nickname> [messaggio], apre una finestra di messaggi privati "
+"ed invia il messaggio al partecipante specificato per nickname."
 
-#: ../src/groupchat_control.py:1294
+#: ../src/groupchat_control.py:1478
 #, python-format
 msgid "Usage: /%s <nickname>, changes your nickname in current group chat."
-msgstr "Uso: /%s <nickname>, cambia il tuo nickname nella stanza corrente."
+msgstr ""
+"Utilizzo: /%s <nickname>, cambia il tuo nickname nella stanza corrente."
 
-#: ../src/groupchat_control.py:1298
+#: ../src/groupchat_control.py:1482
 #, python-format
 msgid "Usage: /%s , display the names of group chat occupants."
 msgstr ""
-"Uso: /%s [argomento], mostra o aggiorna l'argomento della stanza corrente."
+"Utilizzo: /%s [argomento], mostra o aggiorna l'argomento della stanza "
+"corrente."
 
-#: ../src/groupchat_control.py:1302
+#: ../src/groupchat_control.py:1486
 #, python-format
 msgid "Usage: /%s [topic], displays or updates the current group chat topic."
 msgstr ""
-"Uso: /%s [argomento], mostra o aggiorna l'argomento della stanza corrente."
+"Utilizzo: /%s [argomento], mostra o aggiorna l'argomento della stanza "
+"corrente."
 
-#: ../src/groupchat_control.py:1305
+#: ../src/groupchat_control.py:1489
 #, python-format
 msgid ""
 "Usage: /%s <message>, sends a message without looking for other commands."
 msgstr ""
-"Uso: /%s <messaggio>, invia un messaggio senza considerare gli altri comandi."
-
-#: ../src/groupchat_control.py:1308
-#, python-format
-msgid "No help info for /%s"
-msgstr "Non esiste aiuto per /%s"
+"Utilizzo: /%s <messaggio>, invia un messaggio senza considerare gli altri "
+"comandi."
 
-#: ../src/groupchat_control.py:1359
+#: ../src/groupchat_control.py:1584
 #, python-format
 msgid "Are you sure you want to leave group chat \"%s\"?"
 msgstr "Si è sicuri di voler uscire dalla stanza \"%s\"?"
 
-#: ../src/groupchat_control.py:1361
+#: ../src/groupchat_control.py:1586
 msgid ""
 "If you close this window, you will be disconnected from this group chat."
 msgstr "Chiudendo questa finestra, si verrà disconnessi da questa stanza."
 
-#: ../src/groupchat_control.py:1365 ../src/roster_window.py:4036
+#: ../src/groupchat_control.py:1590 ../src/roster_window.py:4855
 msgid "Do _not ask me again"
 msgstr "_Non chiederlo più"
 
-#: ../src/groupchat_control.py:1399
+#: ../src/groupchat_control.py:1624
 msgid "Changing Subject"
 msgstr "Cambio oggetto"
 
-#: ../src/groupchat_control.py:1400
+#: ../src/groupchat_control.py:1625
 msgid "Please specify the new subject:"
 msgstr "Specificare il nuovo oggetto:"
 
-#: ../src/groupchat_control.py:1409
+#: ../src/groupchat_control.py:1634
 msgid "Changing Nickname"
 msgstr "Cambio nickname"
 
-#: ../src/groupchat_control.py:1410
+#: ../src/groupchat_control.py:1635
 msgid "Please specify the new nickname you want to use:"
 msgstr "Specificare il nuovo nickname da usare:"
 
-#: ../src/groupchat_control.py:1435
+#. Ask for a reason
+#: ../src/groupchat_control.py:1650
+#, python-format
+msgid "Destroying %s"
+msgstr "Eliminazione %s"
+
+#: ../src/groupchat_control.py:1651
+msgid ""
+"You are going to definitively destroy this room.\n"
+"You may specify a reason below:"
+msgstr ""
+"Stai per cancellare definitivamente questa stanza.\n"
+"Puoi specificare il motivo qui sotto:"
+
+#: ../src/groupchat_control.py:1653
+msgid "You may also enter an alternate venue:"
+msgstr "Puoi anche inserire un nome alternativo:"
+
+#: ../src/groupchat_control.py:1684
 msgid "Bookmark already set"
 msgstr "Segnalibro già impostato"
 
-#: ../src/groupchat_control.py:1436
+#: ../src/groupchat_control.py:1685
 #, python-format
 msgid "Group Chat \"%s\" is already in your bookmarks."
 msgstr "La stanza \"%s\" è già tra i segnalibri."
 
-#: ../src/groupchat_control.py:1445
+#: ../src/groupchat_control.py:1694
 msgid "Bookmark has been added successfully"
 msgstr "Il segnalibro è stato aggiunto con successo"
 
-#: ../src/groupchat_control.py:1446
+#: ../src/groupchat_control.py:1695
 msgid "You can manage your bookmarks via Actions menu in your roster."
 msgstr ""
 "È possibile gestire i segnalibri attraverso il menu Azioni nella finestra "
 "della lista contatti."
 
 #. ask for reason
-#: ../src/groupchat_control.py:1574
+#: ../src/groupchat_control.py:1847
 #, python-format
 msgid "Kicking %s"
 msgstr "Sto cacciando %s"
 
-#: ../src/groupchat_control.py:1575 ../src/groupchat_control.py:1858
+#: ../src/groupchat_control.py:1848 ../src/groupchat_control.py:2148
 msgid "You may specify a reason below:"
 msgstr "Specifica un motivo qui sotto:"
 
 #. ask for reason
-#: ../src/groupchat_control.py:1857
+#: ../src/groupchat_control.py:2147
 #, python-format
 msgid "Banning %s"
 msgstr "Sto bandendo %s"
@@ -4730,56 +5117,56 @@ msgid "Details"
 msgstr "Dettagli"
 
 #. we talk about file
-#: ../src/gtkgui_helpers.py:156 ../src/gtkgui_helpers.py:171
+#: ../src/gtkgui_helpers.py:157 ../src/gtkgui_helpers.py:172
 #, python-format
 msgid "Error: cannot open %s for reading"
 msgstr "Errore: impossibile aprire %s in lettura"
 
-#: ../src/gtkgui_helpers.py:336
+#: ../src/gtkgui_helpers.py:337
 msgid "Error reading file:"
 msgstr "Errore leggendo il file:"
 
-#: ../src/gtkgui_helpers.py:339
+#: ../src/gtkgui_helpers.py:340
 msgid "Error parsing file:"
 msgstr "Errore processando il file:"
 
 #. do not traceback (could be a permission problem)
 #. we talk about a file here
-#: ../src/gtkgui_helpers.py:376
+#: ../src/gtkgui_helpers.py:377
 #, python-format
 msgid "Could not write to %s. Session Management support will not work"
 msgstr ""
 "Non si è potuto scrivere su %s. Il supporto gestione sessioni non funzionerà"
 
 #. xmpp: is currently handled by another program, so ask the user
-#: ../src/gtkgui_helpers.py:691
+#: ../src/gtkgui_helpers.py:711
 msgid "Gajim is not the default Jabber client"
 msgstr "Gajim non è il client Jabber predefinito"
 
-#: ../src/gtkgui_helpers.py:692
+#: ../src/gtkgui_helpers.py:712
 msgid "Would you like to make Gajim the default Jabber client?"
 msgstr "Si vuole rendere Gajim il client Jabber predefinito?"
 
-#: ../src/gtkgui_helpers.py:693
+#: ../src/gtkgui_helpers.py:713
 msgid "Always check to see if Gajim is the default Jabber client on startup"
 msgstr "Verifica sempre se Gajim è il client Jabber predefinito all'avvio"
 
-#: ../src/gtkgui_helpers.py:792
+#: ../src/gtkgui_helpers.py:812
 msgid "Extension not supported"
 msgstr "Dbus non è supportato."
 
-#: ../src/gtkgui_helpers.py:793
+#: ../src/gtkgui_helpers.py:813
 #, python-format
 msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
 msgstr ""
 "L'immagine non può essere salvata in formato %(type)s. Salvarla come %"
 "(new_filename)s?"
 
-#: ../src/gtkgui_helpers.py:802
+#: ../src/gtkgui_helpers.py:822
 msgid "Save Image as..."
 msgstr "Salva immagine come..."
 
-#: ../src/history_manager.py:65
+#: ../src/history_manager.py:68
 msgid "Cannot find history logs database"
 msgstr "Impossibile trovare la base dati delle cronologie"
 
@@ -4790,7 +5177,7 @@ msgstr "Contatti"
 
 #. holds time
 #: ../src/history_manager.py:121 ../src/history_manager.py:161
-#: ../src/history_window.py:86
+#: ../src/history_window.py:116
 msgid "Date"
 msgstr "Data"
 
@@ -4801,7 +5188,7 @@ msgstr "Nickname"
 
 #. holds message
 #: ../src/history_manager.py:135 ../src/history_manager.py:167
-#: ../src/history_window.py:94
+#: ../src/history_window.py:124
 msgid "Message"
 msgstr "Messaggio"
 
@@ -4853,71 +5240,96 @@ msgid_plural "Do you really want to delete the selected messages?"
 msgstr[0] "Si vuole davvero eliminare il messaggio selezionato?"
 msgstr[1] "Si vogliono davvero eliminare i messaggi selezionati?"
 
-#: ../src/history_window.py:103 ../src/history_window.py:105
+#: ../src/history_window.py:185 ../src/history_window.py:187
 #, python-format
 msgid "Conversation History with %s"
 msgstr "Cronologia conversazione con %s"
 
-#: ../src/history_window.py:258
+#: ../src/history_window.py:332
 #, python-format
 msgid "%(nick)s is now %(status)s: %(status_msg)s"
 msgstr "%(nick)s ora è %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:262 ../src/notify.py:199
+#: ../src/history_window.py:336 ../src/notify.py:206
 #, python-format
 msgid "%(nick)s is now %(status)s"
 msgstr "%(nick)s è ora %(status)s"
 
-#: ../src/history_window.py:268
+#: ../src/history_window.py:342
 #, python-format
 msgid "Status is now: %(status)s: %(status_msg)s"
 msgstr "Lo stato ora è: %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:271
+#: ../src/history_window.py:345
 #, python-format
 msgid "Status is now: %(status)s"
 msgstr "Lo stato ora è: %(status)s"
 
-#: ../src/message_window.py:273
+#: ../src/htmltextview.py:583 ../src/htmltextview.py:594
+msgid "Timeout loading image"
+msgstr "Impossibile caricare l'immagine"
+
+#: ../src/htmltextview.py:604
+msgid "Image is too big"
+msgstr "L'immagine è troppo grande"
+
+#: ../src/message_window.py:288
+msgid "Chats"
+msgstr "Chat"
+
+#: ../src/message_window.py:290
+msgid "Group Chats"
+msgstr "Chat di gruppo"
+
+#: ../src/message_window.py:292
+msgid "Private Chats"
+msgstr "Chat private"
+
+#: ../src/message_window.py:294
 msgid "Messages"
 msgstr "Messaggi"
 
-#: ../src/message_window.py:274
+#: ../src/message_window.py:295
 #, python-format
 msgid "%s - Gajim"
 msgstr "%s - Gajim"
 
-#: ../src/notify.py:197
+#: ../src/notify.py:204
 #, python-format
 msgid "%(nick)s Changed Status"
 msgstr "%(nick)s ha cambiato stato"
 
-#: ../src/notify.py:207
+#: ../src/notify.py:214
 #, python-format
 msgid "%(nickname)s Signed In"
 msgstr "%(nickname)s connesso"
 
-#: ../src/notify.py:215
+#: ../src/notify.py:222
 #, python-format
 msgid "%(nickname)s Signed Out"
 msgstr "%(nickname)s disconnesso"
 
-#: ../src/notify.py:227
+#: ../src/notify.py:234
 #, python-format
 msgid "New Single Message from %(nickname)s"
 msgstr "Nuovo messaggio singolo da %(nickname)s"
 
-#: ../src/notify.py:235
+#: ../src/notify.py:242
 #, python-format
 msgid "New Private Message from group chat %s"
 msgstr "Nuovo messaggio privato dalla stanza %s"
 
-#: ../src/notify.py:236
+#: ../src/notify.py:244
 #, python-format
 msgid "%(nickname)s: %(message)s"
 msgstr "%(nickname)s: %(message)s"
 
-#: ../src/notify.py:242
+#: ../src/notify.py:247
+#, python-format
+msgid "Messaged by %(nickname)s"
+msgstr "Messaggio inviato da %(nickname)s"
+
+#: ../src/notify.py:253
 #, python-format
 msgid "New Message from %(nickname)s"
 msgstr "Nuovo messaggio da %(nickname)s"
@@ -4926,37 +5338,42 @@ msgstr "Nuovo messaggio da %(nickname)s"
 msgid "Retrieving profile..."
 msgstr "Recupero profilo..."
 
-#: ../src/profile_window.py:107 ../src/profile_window.py:210
-#: ../src/profile_window.py:219
-msgid "Click to set your avatar"
-msgstr "Cliccare per inserire l'avatar"
+#: ../src/profile_window.py:123 ../src/roster_window.py:1882
+msgid "File is empty"
+msgstr "Il file è vuoto"
+
+#: ../src/profile_window.py:126 ../src/roster_window.py:1885
+msgid "File does not exist"
+msgstr "Il file non esiste"
 
 #. keep identation
-#: ../src/profile_window.py:137
+#. unknown format
+#: ../src/profile_window.py:140 ../src/profile_window.py:156
+#: ../src/roster_window.py:1887 ../src/roster_window.py:1898
 msgid "Could not load image"
 msgstr "Impossibile caricare l'immagine"
 
-#: ../src/profile_window.py:245
+#: ../src/profile_window.py:257
 msgid "Information received"
-msgstr "Informazione ricevuta"
+msgstr "Informazioni ricevute"
 
-#: ../src/profile_window.py:314
+#: ../src/profile_window.py:326
 msgid "Without a connection you can not publish your contact information."
 msgstr "Senza una connessione non è possibile pubblicare i dati personali."
 
-#: ../src/profile_window.py:326
+#: ../src/profile_window.py:338
 msgid "Sending profile..."
 msgstr "Invio del profilo..."
 
-#: ../src/profile_window.py:341
+#: ../src/profile_window.py:353
 msgid "Information NOT published"
 msgstr "Informazione NON pubblicata"
 
-#: ../src/profile_window.py:348
+#: ../src/profile_window.py:360
 msgid "vCard publication failed"
 msgstr "Pubblicazione della vCard fallita"
 
-#: ../src/profile_window.py:349
+#: ../src/profile_window.py:361
 msgid ""
 "There was an error while publishing your personal information, try again "
 "later."
@@ -4964,89 +5381,105 @@ msgstr ""
 "C'è stato un errore nella pubblicazione delle informazioni personali, "
 "riprovare più tardi."
 
-#: ../src/roster_window.py:171 ../src/roster_window.py:226
+#: ../src/roster_window.py:182 ../src/roster_window.py:237
 msgid "Merged accounts"
 msgstr "Account uniti"
 
-#: ../src/roster_window.py:344 ../src/common/helpers.py:43
+#: ../src/roster_window.py:357 ../src/roster_window.py:622
+#: ../src/roster_window.py:2110 ../src/common/contacts.py:307
+#: ../src/common/helpers.py:44
 msgid "Observers"
 msgstr "Osservatori"
 
-#: ../src/roster_window.py:692 ../src/roster_window.py:3201
+#. Make special context menu if group is Groupchats
+#: ../src/roster_window.py:441 ../src/roster_window.py:446
+#: ../src/roster_window.py:1935 ../src/roster_window.py:1938
+#: ../src/roster_window.py:2607 ../src/roster_window.py:2610
+#: ../src/roster_window.py:2635 ../src/roster_window.py:4715
+#: ../src/roster_window.py:4717 ../src/common/commands.py:194
+#: ../src/common/contacts.py:97 ../src/common/helpers.py:44
+msgid "Groupchats"
+msgstr "Chat di gruppo"
+
+#: ../src/roster_window.py:771 ../src/roster_window.py:3971
 msgid "You cannot join a group chat while you are invisible"
 msgstr "Non è possibile unirsi ad una stanza quando si è invisibile"
 
 #. new chat
+#. single message
 #. for chat_with
 #. for single message
-#: ../src/roster_window.py:884 ../src/systray.py:187 ../src/systray.py:192
+#. join gc
+#: ../src/roster_window.py:984 ../src/roster_window.py:994
+#: ../src/roster_window.py:1003 ../src/systray.py:207 ../src/systray.py:212
+#: ../src/systray.py:218
 #, python-format
 msgid "using account %s"
 msgstr "usando l'account %s"
 
-#. the 'manage gc bookmarks' item is shown
-#. below to avoid duplicate code
 #. add
-#: ../src/roster_window.py:909
+#: ../src/roster_window.py:1010
 #, python-format
 msgid "to %s account"
 msgstr "all'account %s"
 
 #. disco
-#: ../src/roster_window.py:914
+#: ../src/roster_window.py:1015
 #, python-format
 msgid "using %s account"
 msgstr "usando l'account %s"
 
+#: ../src/roster_window.py:1096
+msgid "_Manage Bookmarks..."
+msgstr "_Gestione segnalibri..."
+
 #. profile, avatar
-#: ../src/roster_window.py:989
+#: ../src/roster_window.py:1115
 #, python-format
 msgid "of account %s"
 msgstr "dell'account %s"
 
-#: ../src/roster_window.py:1009
-msgid "_Manage Bookmarks..."
-msgstr "_Gestione segnalibri..."
-
-#: ../src/roster_window.py:1038
+#: ../src/roster_window.py:1155
 #, python-format
 msgid "for account %s"
 msgstr "per l'account %s"
 
 #. History manager
-#: ../src/roster_window.py:1059
+#: ../src/roster_window.py:1176
 msgid "History Manager"
 msgstr "Gestore cronologia"
 
-#: ../src/roster_window.py:1068
+#: ../src/roster_window.py:1185
 msgid "_Join New Group Chat"
-msgstr "_Entrare in chat di gruppo"
+msgstr "_Nuova chat di gruppo"
 
-#: ../src/roster_window.py:1398 ../src/roster_window.py:3394
-#: ../src/roster_window.py:3401
+#: ../src/roster_window.py:1544 ../src/roster_window.py:4169
+#: ../src/roster_window.py:4176
 msgid "You have unread messages"
 msgstr "Ci sono messaggi non letti"
 
-#: ../src/roster_window.py:1399
+#: ../src/roster_window.py:1545
 msgid "You must read them before removing this transport."
 msgstr "Leggere tutti gli eventi pendenti prima di rimuovere questo account."
 
-#: ../src/roster_window.py:1402
+#: ../src/roster_window.py:1548
 #, python-format
 msgid "Transport \"%s\" will be removed"
 msgstr "Il trasporto \"%s\" verrà rimosso"
 
-#: ../src/roster_window.py:1403
+#: ../src/roster_window.py:1549
 msgid ""
 "You will no longer be able to send and receive messages from contacts using "
 "this transport."
-msgstr "Non si potranno più inviare e ricevere messaggi verso i contatti di questo trasporto."
+msgstr ""
+"Non si potranno più inviare e ricevere messaggi verso i contatti di questo "
+"trasporto."
 
-#: ../src/roster_window.py:1406
+#: ../src/roster_window.py:1552
 msgid "Transports will be removed"
 msgstr "I trasporti verranno rimossi"
 
-#: ../src/roster_window.py:1411
+#: ../src/roster_window.py:1557
 #, python-format
 msgid ""
 "You will no longer be able to send and receive messages to contacts from "
@@ -5056,114 +5489,154 @@ msgstr ""
 "trasporti:%s"
 
 #. it's jid
-#: ../src/roster_window.py:1431
+#: ../src/roster_window.py:1723
 msgid "Rename Contact"
 msgstr "Rinomina contatto"
 
-#: ../src/roster_window.py:1432
+#: ../src/roster_window.py:1724
 #, python-format
 msgid "Enter a new nickname for contact %s"
 msgstr "Inserire un nuovo nickname per il contatto %s."
 
-#: ../src/roster_window.py:1439
+#: ../src/roster_window.py:1731
 msgid "Rename Group"
 msgstr "Rinomina Gruppo"
 
-#: ../src/roster_window.py:1440
+#: ../src/roster_window.py:1732
 #, python-format
 msgid "Enter a new name for group %s"
 msgstr "Inserire un nome per il gruppo %s."
 
-#: ../src/roster_window.py:1515
+#: ../src/roster_window.py:1807
 msgid "Remove Group"
 msgstr "Elimina Gruppo"
 
-#: ../src/roster_window.py:1516
+#: ../src/roster_window.py:1808
 #, python-format
 msgid "Do you want to remove group %s from the roster?"
 msgstr "Rimuovere il gruppo %s dalla lista?"
 
-#: ../src/roster_window.py:1517
+#: ../src/roster_window.py:1809
 msgid "Remove also all contacts in this group from your roster"
 msgstr "Elimina anche tutti i contatti di questo gruppo dalla lista"
 
-#: ../src/roster_window.py:1546
+#: ../src/roster_window.py:1840
 msgid "Assign OpenPGP Key"
 msgstr "Assegna chiave OpenPGP"
 
-#: ../src/roster_window.py:1547
+#: ../src/roster_window.py:1841
 msgid "Select a key to apply to the contact"
 msgstr "Seleziona una chiave da applicare al contatto"
 
-#: ../src/roster_window.py:1782 ../src/roster_window.py:2043
-msgid "_New group chat"
+#: ../src/roster_window.py:2156
+msgid "_New Group Chat"
 msgstr "_Nuova chat di gruppo"
 
-#: ../src/roster_window.py:1913
+#: ../src/roster_window.py:2298
 msgid "I would like to add you to my roster"
 msgstr "Vorrei aggiungerti ai miei contatti"
 
-#: ../src/roster_window.py:2088 ../src/roster_window.py:2135
+#. Send Group Message
+#: ../src/roster_window.py:2432 ../src/roster_window.py:2644
 msgid "Send Group M_essage"
 msgstr "Invia _messaggio di gruppo"
 
-#: ../src/roster_window.py:2114
-msgid "Re_name"
-msgstr "Ri_nomina"
+#: ../src/roster_window.py:2451
+msgid "_New group chat"
+msgstr "_Nuova chat di gruppo"
 
-#: ../src/roster_window.py:2141
+#. Manage Transport submenu
+#: ../src/roster_window.py:2489
+msgid "_Manage Contacts"
+msgstr "_Gestisci contatti"
+
+#: ../src/roster_window.py:2550
+msgid "_Maximize"
+msgstr "_Massimizza"
+
+#: ../src/roster_window.py:2557
+msgid "_Disconnect"
+msgstr "_Disconnetti"
+
+#: ../src/roster_window.py:2636
+msgid "_Maximize All"
+msgstr "_Massimizza tutti"
+
+#: ../src/roster_window.py:2652
 msgid "To all users"
 msgstr "A tutti gli utenti"
 
-#: ../src/roster_window.py:2144
+#: ../src/roster_window.py:2655
 msgid "To all online users"
 msgstr "Utenti _online"
 
-#: ../src/roster_window.py:2180
+#. Log Off
+#: ../src/roster_window.py:2772
+msgid "_Log off"
+msgstr "_Disconnetti"
+
+#. Log on
+#: ../src/roster_window.py:2778
 msgid "_Log on"
 msgstr "_Connetti"
 
-#: ../src/roster_window.py:2190
-msgid "Log _off"
-msgstr "_Disconnetti"
+#. Send single message
+#: ../src/roster_window.py:2790
+msgid "Send Single Message"
+msgstr "Invia messaggio singolo"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2837
+msgid "_Manage Transport"
+msgstr "_Gestisci trasporto"
+
+#. Modify Transport
+#: ../src/roster_window.py:2845
+msgid "_Modify Transport"
+msgstr "_Modifica trasporto"
 
-#: ../src/roster_window.py:2312 ../src/roster_window.py:2383
+#. Information
+#: ../src/roster_window.py:2882
+msgid "_Information"
+msgstr "_Informazioni"
+
+#: ../src/roster_window.py:2959 ../src/roster_window.py:3033
 msgid "_Change Status Message"
 msgstr "_Cambia messaggio di stato"
 
-#: ../src/roster_window.py:2455
+#: ../src/roster_window.py:3105
 msgid "Authorization has been sent"
 msgstr "Autorizzazione inviata"
 
-#: ../src/roster_window.py:2456
+#: ../src/roster_window.py:3106
 #, python-format
 msgid "Now \"%s\" will know your status."
 msgstr "Ora \"%s\" conoscerà il tuo stato."
 
-#: ../src/roster_window.py:2476
+#: ../src/roster_window.py:3126
 msgid "Subscription request has been sent"
 msgstr "La richiesta di abbonamento è stata inviata"
 
-#: ../src/roster_window.py:2477
+#: ../src/roster_window.py:3127
 #, python-format
 msgid "If \"%s\" accepts this request you will know his or her status."
 msgstr "Se \"%s\" accetta questa richiesta conoscerai il suo stato."
 
-#: ../src/roster_window.py:2489
+#: ../src/roster_window.py:3139
 msgid "Authorization has been removed"
 msgstr "L'autorizzazione è stata rimossa"
 
-#: ../src/roster_window.py:2490
+#: ../src/roster_window.py:3140
 #, python-format
 msgid "Now \"%s\" will always see you as offline."
 msgstr "Ora \"%s\" ti vedrà sempre come offline."
 
-#: ../src/roster_window.py:2680
+#: ../src/roster_window.py:3357
 #, python-format
 msgid "Contact \"%s\" will be removed from your roster"
 msgstr "Il contatto \"%s\" sarà rimosso dalla tua lista"
 
-#: ../src/roster_window.py:2684
+#: ../src/roster_window.py:3361
 msgid ""
 "By removing this contact you also remove authorization resulting in him or "
 "her always seeing you as offline."
@@ -5171,7 +5644,7 @@ msgstr ""
 "Eliminando questo contatto ne verrà rimossa anche l'autorizzazione. Questi "
 "ti vedrà sempre offline."
 
-#: ../src/roster_window.py:2689
+#: ../src/roster_window.py:3366
 msgid ""
 "By removing this contact you also by default remove authorization resulting "
 "in him or her always seeing you as offline."
@@ -5179,16 +5652,16 @@ msgstr ""
 "Eliminando questo contatto ne rimuoverai anche l'autorizzazione. Questi ti "
 "vedrà sempre offline."
 
-#: ../src/roster_window.py:2692
+#: ../src/roster_window.py:3369
 msgid "I want this contact to know my status after removal"
 msgstr "Voglio che questo contatto conosca il mio stato dopo la rimozione"
 
 #. several contact to remove at the same time
-#: ../src/roster_window.py:2696
+#: ../src/roster_window.py:3373
 msgid "Contacts will be removed from your roster"
 msgstr "Il contatto sarà rimosso dalla tua lista"
 
-#: ../src/roster_window.py:2700
+#: ../src/roster_window.py:3377
 #, python-format
 msgid ""
 "By removing these contacts:%s\n"
@@ -5197,46 +5670,51 @@ msgstr ""
 "Eliminando questi contatti:%s\n"
 "ne verrà rimossa anche l'autorizzazione. Ti vedranno sempre offline."
 
-#: ../src/roster_window.py:2732
+#: ../src/roster_window.py:3409
 msgid ""
-"Gnomekeyring is installed but not correctly started (environment variable "
+"Gnome Keyring is installed but not correctly started (environment variable "
 "probably not correctly set)"
-msgstr "Gnomekeyring è installato ma non avviato correttamente (la variabile d'ambiente è probabilmente impostata in maniera scorretta)"
+msgstr ""
+"Gnome Keyring è installato ma non avviato correttamente (la variabile "
+"d'ambiente è probabilmente impostata in maniera non corretta)"
+
+#: ../src/roster_window.py:3436
+msgid "GPG is not usable"
+msgstr "Non è possibile utilizzare GPG"
 
-#. TODO: make this string translatable
 #. %s is the account name here
-#: ../src/roster_window.py:2760 ../src/common/connection.py:671
-#: ../src/common/zeroconf/connection_zeroconf.py:158
+#: ../src/roster_window.py:3436 ../src/common/connection.py:684
+#: ../src/common/zeroconf/connection_zeroconf.py:165
 #, python-format
 msgid "You will be connected to %s without OpenPGP."
-msgstr "Ci si connetterà a %s senza OpenPGP"
+msgstr "Ti connetterai a %s senza OpenPGP."
 
-#: ../src/roster_window.py:2777
+#: ../src/roster_window.py:3453
 msgid "Passphrase Required"
 msgstr "Passphrase richiesta"
 
-#: ../src/roster_window.py:2778
+#: ../src/roster_window.py:3454
 #, python-format
 msgid "Enter GPG key passphrase for account %s."
 msgstr "Inserire la passphrase della chiave GPG per l'account %s."
 
-#: ../src/roster_window.py:2783
+#: ../src/roster_window.py:3459
 msgid "Save passphrase"
 msgstr "Memorizza passphrase"
 
-#: ../src/roster_window.py:2791
+#: ../src/roster_window.py:3467
 msgid "Wrong Passphrase"
 msgstr "Passphrase errata"
 
-#: ../src/roster_window.py:2792
+#: ../src/roster_window.py:3468
 msgid "Please retype your GPG passphrase or press Cancel."
 msgstr "Riscrivere la passphrase GPG o premere Annulla."
 
-#: ../src/roster_window.py:2849 ../src/roster_window.py:2909
+#: ../src/roster_window.py:3551 ../src/roster_window.py:3628
 msgid "You are participating in one or more group chats"
 msgstr "Si sta partecipando ad una o più chat di gruppo"
 
-#: ../src/roster_window.py:2850 ../src/roster_window.py:2910
+#: ../src/roster_window.py:3552 ../src/roster_window.py:3629
 msgid ""
 "Changing your status to invisible will result in disconnection from those "
 "group chats. Are you sure you want to go invisible?"
@@ -5244,21 +5722,21 @@ msgstr ""
 "Impostare lo stato invisibile ti farà disconnettere da queste chat di "
 "gruppo. Diventare veramente invisibile?"
 
-#: ../src/roster_window.py:2867
+#: ../src/roster_window.py:3586
 msgid "No account available"
 msgstr "Nessun account disponibile"
 
-#: ../src/roster_window.py:2868
+#: ../src/roster_window.py:3587
 msgid "You must create an account before you can chat with other contacts."
 msgstr ""
 "È necessario creare un account prima di poter chattare con altri contatti."
 
-#: ../src/roster_window.py:2966
+#: ../src/roster_window.py:3715
 #, python-format
 msgid "\"%(title)s\" by %(artist)s"
 msgstr "\"%(title)s\" di %(artist)s"
 
-#: ../src/roster_window.py:3395 ../src/roster_window.py:3402
+#: ../src/roster_window.py:4170 ../src/roster_window.py:4177
 msgid ""
 "Messages will only be available for reading them later if you have history "
 "enabled."
@@ -5266,24 +5744,25 @@ msgstr ""
 "I messaggi saranno disponibili per una lettura successiva solo se la "
 "cronologia è abilitata"
 
-#: ../src/roster_window.py:3986
+#: ../src/roster_window.py:4801
 msgid "Metacontacts storage not supported by your server"
 msgstr "Il supporto metacontatti non è supportato dal tuo server"
 
-#: ../src/roster_window.py:3988
+#: ../src/roster_window.py:4803
+#, fuzzy
 msgid ""
 "Your server does not support storing metacontacts information. So those "
-"information will not be save on next reconnection."
+"information will not be saved on next reconnection."
 msgstr ""
 "Il tuo server non supporta il salvataggio di informazioni metacontatti. "
 "Perciò queste informazioni non saranno salvate al prossimo riavvio."
 
-#: ../src/roster_window.py:4030
+#: ../src/roster_window.py:4849
 msgid ""
 "You are about to create a metacontact. Are you sure you want to continue?"
 msgstr "Stai per creare un metacontatto. Continuare?"
 
-#: ../src/roster_window.py:4032
+#: ../src/roster_window.py:4851
 msgid ""
 "Metacontacts are a way to regroup several contacts in one line. Generally it "
 "is used when the same person has several Jabber accounts or transport "
@@ -5293,110 +5772,123 @@ msgstr ""
 "Generalmente si usano quando la stessa persona ha più account jabber o su "
 "vari transport."
 
-#: ../src/roster_window.py:4199
-#, python-format
-msgid "Drop %s in group %s"
-msgstr "Sposta %s nel gruppo %s"
-
-#: ../src/roster_window.py:4206
+#: ../src/roster_window.py:4949
 #, python-format
-msgid "Make %s and %s metacontacts"
-msgstr "Rendi %s e %s metacontatti"
+msgid "Do you want to send that file to %s:"
+msgid_plural "Do you want to send those files to %s:"
+msgstr[0] "Vuoi inviare questo file a %s:"
+msgstr[1] "Vuoi inviare questi file a %s:"
 
-#: ../src/roster_window.py:4393
+#: ../src/roster_window.py:5232
 msgid "Change Status Message..."
 msgstr "Cambia messaggio di stato..."
 
-#: ../src/systray.py:144
+#: ../src/systray.py:164
 msgid "_Change Status Message..."
 msgstr "_Cambia messaggio di stato..."
 
-#: ../src/systray.py:232
+#: ../src/systray.py:249
 msgid "Hide this menu"
 msgstr "Nascondi questo menu"
 
-#: ../src/tooltips.py:309 ../src/tooltips.py:492
+#: ../src/tooltips.py:310 ../src/tooltips.py:503
 msgid "Jabber ID: "
 msgstr "ID Jabber: "
 
-#: ../src/tooltips.py:312 ../src/tooltips.py:496
+#: ../src/tooltips.py:313 ../src/tooltips.py:507
 msgid "Resource: "
 msgstr "Risorsa: "
 
-#: ../src/tooltips.py:317
+#: ../src/tooltips.py:318
 #, python-format
 msgid "%(owner_or_admin_or_member)s of this group chat"
 msgstr "%(owner_or_admin_or_member)s di questa chat di gruppo"
 
-#: ../src/tooltips.py:430 ../src/tooltips.py:610
+#: ../src/tooltips.py:416
+msgid " [blocked]"
+msgstr " [bloccato]"
+
+#: ../src/tooltips.py:420
+msgid " [minimized]"
+msgstr " [minimizzata]"
+
+#: ../src/tooltips.py:435 ../src/tooltips.py:623
 msgid "Status: "
 msgstr "Stato: "
 
-#: ../src/tooltips.py:461
+#: ../src/tooltips.py:465
 #, python-format
 msgid "Last status: %s"
 msgstr "Ultimo stato: %s"
 
-#: ../src/tooltips.py:463
+#: ../src/tooltips.py:467
 #, python-format
 msgid " since %s"
-msgstr "da %s"
+msgstr " dalle %s"
+
+#: ../src/tooltips.py:485
+msgid "Connected"
+msgstr "Connesso"
+
+#: ../src/tooltips.py:487
+msgid "Disconnected"
+msgstr "Disconnesso"
 
 #. ('both' is the normal sub so we don't show it)
-#: ../src/tooltips.py:502
+#: ../src/tooltips.py:514
 msgid "Subscription: "
 msgstr "Abbonamento: "
 
-#: ../src/tooltips.py:512
+#: ../src/tooltips.py:524
 msgid "OpenPGP: "
 msgstr "OpenPGP: "
 
-#: ../src/tooltips.py:566
+#: ../src/tooltips.py:579
 msgid "Download"
 msgstr "Scarica"
 
-#: ../src/tooltips.py:572
+#: ../src/tooltips.py:585
 msgid "Upload"
 msgstr "Invia"
 
-#: ../src/tooltips.py:579
+#: ../src/tooltips.py:592
 msgid "Type: "
 msgstr "Tipo: "
 
-#: ../src/tooltips.py:585
+#: ../src/tooltips.py:598
 msgid "Transferred: "
 msgstr "Trasferito: "
 
-#: ../src/tooltips.py:588 ../src/tooltips.py:609
+#: ../src/tooltips.py:601 ../src/tooltips.py:622
 msgid "Not started"
 msgstr "Non iniziato"
 
-#: ../src/tooltips.py:592
+#: ../src/tooltips.py:605
 msgid "Stopped"
 msgstr "Fermato"
 
-#: ../src/tooltips.py:594 ../src/tooltips.py:597
+#: ../src/tooltips.py:607 ../src/tooltips.py:610
 msgid "Completed"
 msgstr "Completato"
 
-#: ../src/tooltips.py:601
+#: ../src/tooltips.py:614
 msgid "?transfer status:Paused"
 msgstr "?transfer status:In pausa"
 
 #. stalled is not paused. it is like 'frozen' it stopped alone
-#: ../src/tooltips.py:605
+#: ../src/tooltips.py:618
 msgid "Stalled"
 msgstr "In stallo"
 
-#: ../src/tooltips.py:607
+#: ../src/tooltips.py:620
 msgid "Transferring"
 msgstr "Trasferimento in corso"
 
-#: ../src/tooltips.py:639
+#: ../src/tooltips.py:652
 msgid "This service has not yet responded with detailed information"
 msgstr "Questo servizio non ha ancora inviato informazioni dettagliate"
 
-#: ../src/tooltips.py:642
+#: ../src/tooltips.py:655
 msgid ""
 "This service could not respond with detailed information.\n"
 "It is most likely legacy or broken"
@@ -5404,24 +5896,24 @@ msgstr ""
 "Questo servizio non ha inviato informazioni dettagliate.\n"
 "È probabilmente vecchio o malfunzionante"
 
-#: ../src/vcard.py:217
+#: ../src/vcard.py:240
 msgid "?Client:Unknown"
 msgstr "?Client:Sconosciuto"
 
-#: ../src/vcard.py:219
+#: ../src/vcard.py:242
 msgid "?OS:Unknown"
 msgstr "Sconosciuto"
 
-#: ../src/vcard.py:247 ../src/vcard.py:449
+#: ../src/vcard.py:267 ../src/vcard.py:277 ../src/vcard.py:467
 #, python-format
 msgid "since %s"
-msgstr "da %s"
+msgstr "dalle %s"
 
-#: ../src/vcard.py:277
+#: ../src/vcard.py:306
 msgid "Affiliation:"
 msgstr "Affiliazione: "
 
-#: ../src/vcard.py:285
+#: ../src/vcard.py:314
 msgid ""
 "This contact is interested in your presence information, but you are not "
 "interested in his/her presence"
@@ -5429,7 +5921,7 @@ msgstr ""
 "Questo contatto è interessato alle informazioni sulla tua presenza, ma tu "
 "non sei interessato alla sua"
 
-#: ../src/vcard.py:287
+#: ../src/vcard.py:316
 msgid ""
 "You are interested in the contact's presence information, but he/she is not "
 "interested in yours"
@@ -5437,14 +5929,14 @@ msgstr ""
 "Sei interessato alle informazioni sulla presenza di questo contatto, ma lui/"
 "lei non è interessato/a alla tua"
 
-#: ../src/vcard.py:289
+#: ../src/vcard.py:318
 msgid "You and the contact are interested in each other's presence information"
 msgstr ""
 "Tu ed il contatto siete reciprocamente interessati alle informazioni sulla "
 "presenza dell'altro"
 
 #. None
-#: ../src/vcard.py:291
+#: ../src/vcard.py:320
 msgid ""
 "You are not interested in the contact's presence, and neither he/she is "
 "interested in yours"
@@ -5452,12 +5944,12 @@ msgstr ""
 "Non sei interessato alla presenza del contatto, e lui/lei non è interessato "
 "alla tua"
 
-#: ../src/vcard.py:299
+#: ../src/vcard.py:328
 msgid "You are waiting contact's answer about your subscription request"
 msgstr ""
 "Sei in attesa della risposta del contatto alla tua richiesta di abbonamento"
 
-#: ../src/vcard.py:311 ../src/vcard.py:338 ../src/vcard.py:482
+#: ../src/vcard.py:332 ../src/vcard.py:369 ../src/vcard.py:492
 msgid " resource with priority "
 msgstr " risorsa con priorità "
 
@@ -5465,23 +5957,23 @@ msgstr " risorsa con priorità "
 msgid "creating logs database"
 msgstr "creazione database log"
 
-#: ../src/common/check_paths.py:89 ../src/common/check_paths.py:100
-#: ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:96 ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:114
 #, python-format
 msgid "%s is a file but it should be a directory"
 msgstr "%s è un file ma dovrebbe essere una cartella"
 
-#: ../src/common/check_paths.py:90 ../src/common/check_paths.py:101
-#: ../src/common/check_paths.py:108 ../src/common/check_paths.py:116
+#: ../src/common/check_paths.py:97 ../src/common/check_paths.py:108
+#: ../src/common/check_paths.py:115 ../src/common/check_paths.py:123
 msgid "Gajim will now exit"
 msgstr "Gajim sta per uscire"
 
-#: ../src/common/check_paths.py:115
+#: ../src/common/check_paths.py:122
 #, python-format
 msgid "%s is a directory but should be a file"
 msgstr "%s è una cartella ma dovrebbe essere un file"
 
-#: ../src/common/check_paths.py:131
+#: ../src/common/check_paths.py:138
 #, python-format
 msgid "creating %s directory"
 msgstr "creazione della cartella %s"
@@ -5537,54 +6029,58 @@ msgstr "Non si è entrati in una chat di gruppo."
 
 #: ../src/common/commands.py:189
 msgid "Leave Groupchats"
-msgstr "Lasciare le chat di gruppo"
+msgstr "Esci dalle chat di gruppo"
 
 #: ../src/common/commands.py:190
 msgid "Choose the groupchats you want to leave"
-msgstr "Scegliere le chat di gruppo da lasciare"
-
-#: ../src/common/commands.py:194
-msgid "Groupchats"
-msgstr "Chat di gruppo"
+msgstr "Scegliere le chat di gruppo da cui vuoi uscire"
 
 #: ../src/common/commands.py:230
-msgid "You leaved the following groupchats:"
-msgstr "Sono state lasciate le seguenti chat di gruppo:"
+msgid "You left the following groupchats:"
+msgstr "Sei uscito dalle seguenti chat di gruppo:"
+
+#: ../src/common/commands.py:242
+msgid "Forward unread messages"
+msgstr "Inoltra messaggi non letti"
 
-#: ../src/common/config.py:56
+#: ../src/common/commands.py:262
+msgid "All unread messages have been forwarded."
+msgstr "Tutti i messaggi non letti sono stati inoltrati."
+
+#: ../src/common/config.py:58
 msgid "Use D-Bus and Notification-Daemon to show notifications"
 msgstr "Usa D-Bus e Notification-Daemon per mostrare le notifiche"
 
-#: ../src/common/config.py:61
+#: ../src/common/config.py:63
 msgid "Time in minutes, after which your status changes to away."
-msgstr "Tempo in minuti dopo il quale lo stato diventa \"assente\"."
+msgstr "Tempo in minuti dopo il quale lo stato diventa 'assente'."
 
-#: ../src/common/config.py:62
+#: ../src/common/config.py:64
 msgid "Away as a result of being idle"
 msgstr "Assente per inattività"
 
-#: ../src/common/config.py:64
+#: ../src/common/config.py:66
 msgid "Time in minutes, after which your status changes to not available."
-msgstr "Tempo in minuti dopo il quale lo stato diventa \"non disponibile\"."
+msgstr "Tempo in minuti dopo il quale lo stato diventa 'non disponibile'."
 
-#: ../src/common/config.py:65
+#: ../src/common/config.py:67
 msgid "Not available as a result of being idle"
 msgstr "Non disponibile per inattività"
 
-#: ../src/common/config.py:83
+#: ../src/common/config.py:85
 msgid ""
 "List (space separated) of rows (accounts and groups) that are collapsed."
 msgstr "Lista (separata da spazi) di linee (account e gruppi) raggruppate."
 
-#: ../src/common/config.py:88
+#: ../src/common/config.py:90
 msgid "Enable link-local/zeroconf messaging"
 msgstr "Abilità la messaggistica zeroconf sulla rete locale"
 
-#: ../src/common/config.py:91
+#: ../src/common/config.py:93
 msgid "Language used by speller"
 msgstr "Lingua usata dal controllo ortografico"
 
-#: ../src/common/config.py:92
+#: ../src/common/config.py:94
 msgid ""
 "'always' - print time for every message.\n"
 "'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
@@ -5594,32 +6090,37 @@ msgstr ""
 "'a volte' - scrive l'ora ogni print_ichat_every_foo_minutes minuti.\n"
 "'mai' - non scrive mai l'ora."
 
-#: ../src/common/config.py:93
+#: ../src/common/config.py:95
 msgid ""
 "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
 "to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
 "This is used only if print_time is 'sometimes'."
-msgstr "Scrive l'ora nelle chat usando l'orologio vago. Valore di vaghezza da 1 a 4, o 0 per disabilitarlo. 1 è l'orologio più preciso, 4 è il meno preciso. Viene usato solo se print_time è 'sometimes'."
+msgstr ""
+"Scrive l'ora nelle chat usando l'orologio vago. Valore di vaghezza da 1 a 4, "
+"o 0 per disabilitarlo. 1 è l'orologio più preciso, 4 è il meno preciso. "
+"Viene usato solo se print_time è 'sometimes'."
 
-#: ../src/common/config.py:96
+#: ../src/common/config.py:98
 msgid "Treat * / _ pairs as possible formatting characters."
 msgstr "Tratta le coppie di * / _ come possibili caratteri di formattazione."
 
-#: ../src/common/config.py:97
+#: ../src/common/config.py:99
 msgid ""
 "If True, do not remove */_ . So *abc* will be bold but with * * not removed."
 msgstr ""
-"Se Vero, non verranno rimossi */_ . *abc* verrà mostrato in grassetto ma "
-"senza rimuovere * *."
+"Se Vero, non verranno rimossi */_ . Perciò *abc* verrà mostrato in grassetto "
+"ma senza rimuovere * *."
 
-#: ../src/common/config.py:100
+#: ../src/common/config.py:102
 msgid ""
 "Uses ReStructured text markup to send HTML, plus ascii formatting if "
 "selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
 "restructuredtext.html (If you want to use this, install docutils)"
-msgstr "Usa il testo annotato ReStructured per inviare HTML, più la formattazione ascii se selezionata (se si vuole usare questa opzione, installare docutils)"
+msgstr ""
+"Usa il testo annotato ReStructured per inviare HTML, più la formattazione "
+"ascii se selezionata (se si vuole usare questa opzione, installare docutils)"
 
-#: ../src/common/config.py:109
+#: ../src/common/config.py:111
 msgid ""
 "Character to add after nickname when using nick completion (tab) in group "
 "chat."
@@ -5627,7 +6128,7 @@ msgstr ""
 "Carattere da aggiungere dopo il nickname quando si usa il completamento nick "
 "(tab) nella chat di gruppo."
 
-#: ../src/common/config.py:110
+#: ../src/common/config.py:112
 msgid ""
 "Character to propose to add after desired nickname when desired nickname is "
 "used by someone else in group chat."
@@ -5635,26 +6136,30 @@ msgstr ""
 "Carattere da proporre di aggiungere dopo il nickname desiderato quando il "
 "nickname desiderato è già usato da qualcun'altro nella chat di gruppo"
 
-#: ../src/common/config.py:133
+#: ../src/common/config.py:135
 msgid ""
 "This option let you customize timestamp that is printed in conversation. For "
 "exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
 "strftime for full documentation: http://docs.python.org/lib/module-time.html"
-msgstr "Questa opzione permette di personalizzare l'orario stampato nelle conversazioni. Per esempio, \"[%H:%M] \" mostrerà \"[ora:minuto] \". Vedere la documentazione della funzione python strftime per ottenere documentazione completa: http://docs.python.org/lib/module-time.html"
+msgstr ""
+"Questa opzione permette di personalizzare l'orario stampato nelle "
+"conversazioni. Per esempio, \"[%H:%M] \" mostrerà \"[ora:minuto] \". Vedere "
+"la documentazione della funzione python strftime per ottenere documentazione "
+"completa: http://docs.python.org/lib/module-time.html"
 
-#: ../src/common/config.py:134
+#: ../src/common/config.py:136
 msgid "Characters that are printed before the nickname in conversations"
 msgstr "Caratteri scritti prima del nickname nelle conversazioni"
 
-#: ../src/common/config.py:135
+#: ../src/common/config.py:137
 msgid "Characters that are printed after the nickname in conversations"
 msgstr "Caratteri scritti dopo il nickname nelle conversazioni"
 
-#: ../src/common/config.py:142
+#: ../src/common/config.py:144
 msgid "Add * and [n] in roster title?"
 msgstr "Aggiungere * e [n] al titolo della lista contatti?"
 
-#: ../src/common/config.py:143
+#: ../src/common/config.py:145
 msgid ""
 "How many lines to remember from previous conversation when a chat tab/window "
 "is reopened."
@@ -5662,12 +6167,12 @@ msgstr ""
 "Quante linee ricordare dalla precedente conversazione quando una scheda/"
 "finestra di chat viene riaperta."
 
-#: ../src/common/config.py:144
+#: ../src/common/config.py:146
 msgid "How many minutes should last lines from previous conversation last."
 msgstr ""
 "Quanti minuti devono durare le ultime linee dalla conversazione precedente."
 
-#: ../src/common/config.py:145
+#: ../src/common/config.py:147
 msgid ""
 "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
 "Client default behaviour)."
@@ -5675,11 +6180,11 @@ msgstr ""
 "Inviare il messaggio con Ctrl-Invio e con Invio creare una nuova linea "
 "(comportamento predefinito del client ICQ Mirabilis)."
 
-#: ../src/common/config.py:147
+#: ../src/common/config.py:149
 msgid "How many lines to store for Ctrl+KeyUP."
 msgstr "Quante linee memorizzare per Ctrl+Alto."
 
-#: ../src/common/config.py:150
+#: ../src/common/config.py:152
 #, python-format
 msgid ""
 "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' "
@@ -5688,12 +6193,12 @@ msgstr ""
 "URL personalizzato contenente %s dove %s è la parola/frase o 'WIKTIONARY', "
 "che significa usare wiktionary."
 
-#: ../src/common/config.py:153
+#: ../src/common/config.py:155
 msgid "If checked, Gajim can be controlled remotely using gajim-remote."
 msgstr ""
 "Se marcato, Gajim può essere controllato da remoto usando gajim-remote."
 
-#: ../src/common/config.py:154
+#: ../src/common/config.py:156
 msgid ""
 "If True, listen to D-Bus signals from NetworkManager and change the status "
 "of accounts (provided they do not have listen_to_network_manager set to "
@@ -5705,13 +6210,13 @@ msgstr ""
 "che sia sincronizzato con lo stato globale) basandosi sullo stato della "
 "connessione di rete."
 
-#: ../src/common/config.py:155
+#: ../src/common/config.py:157
 msgid ""
 "Sent chat state notifications. Can be one of all, composing_only, disabled."
 msgstr ""
 "Notifiche di stato inviate. Può essere una tra all, composing_only, disabled."
 
-#: ../src/common/config.py:156
+#: ../src/common/config.py:158
 msgid ""
 "Displayed chat state notifications in chat windows. Can be one of all, "
 "composing_only, disabled."
@@ -5719,7 +6224,7 @@ msgstr ""
 "Le notifiche di stato mostrate nella finestra di chat. Possono essere una "
 "tra all, composing_only, disabled."
 
-#: ../src/common/config.py:158
+#: ../src/common/config.py:160
 msgid ""
 "When not printing time for every message (print_time==sometimes), print it "
 "every x minutes."
@@ -5727,11 +6232,11 @@ msgstr ""
 "Quando non scrivi la data ad ogni messaggio (print_time==sometimes), "
 "scriverla ogni x minuti."
 
-#: ../src/common/config.py:159
+#: ../src/common/config.py:161
 msgid "Ask before closing a group chat tab/window."
 msgstr "Chiedere prima di chiudere una finestra/scheda di chat di gruppo."
 
-#: ../src/common/config.py:160
+#: ../src/common/config.py:162
 msgid ""
 "Always ask before closing group chat tab/window in this space separated list "
 "of group chat jids."
@@ -5739,7 +6244,7 @@ msgstr ""
 "Chiedere sempre prima di chiudere una finestra/scheda di chat di gruppo in "
 "questa lista separata da spazi di jid di stanze."
 
-#: ../src/common/config.py:161
+#: ../src/common/config.py:163
 msgid ""
 "Never ask before closing group chat tab/window in this space separated list "
 "of group chat jids."
@@ -5747,42 +6252,56 @@ msgstr ""
 "Non chiedere mai prima di chiudere una scheda/finestra di chat in questa "
 "lista separata da spazi di jid di stanze."
 
-#: ../src/common/config.py:164
+#: ../src/common/config.py:166
+#, fuzzy
 msgid ""
-"Overrides the host we send for File Transfer in case of address translation/"
-"port forwarding."
+"Comma separated list of hosts that we send, in addition of local interfaces, "
+"for File Transfer in case of address translation/port forwarding."
 msgstr ""
-"Imposta l'host inviato per il trasferimento file in caso di traduzione di "
-"indirizzo/port forwarding."
+"Lista di host separati da una virgola che saranno inviati, insieme alle "
+"interfacce locali, per il trasferimento file in caso di traslazione "
+"dell'indirizzo/inoltro porte."
 
-#: ../src/common/config.py:166
+#: ../src/common/config.py:168
 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
 msgstr "Secondo lo standard IEC, KiB = 1024 byte, KB = 1000 byte."
 
-#: ../src/common/config.py:168
+#: ../src/common/config.py:170
 msgid "Notify of events in the system trayicon."
 msgstr "Notifica gli eventi nell'area di notifica."
 
-#: ../src/common/config.py:174
+#: ../src/common/config.py:176
 msgid "Show tab when only one conversation?"
 msgstr "Mostrare scheda quando c'è una sola conversazione?"
 
-#: ../src/common/config.py:175
+#: ../src/common/config.py:177
 msgid "Show tabbed notebook border in chat windows?"
 msgstr "Mostrare bordo per le schede quando c'è una sola conversazione?"
 
-#: ../src/common/config.py:176
+#: ../src/common/config.py:178
 msgid "Show close button in tab?"
 msgstr "Mostrare il pulsante \"chiudi\" nelle schede?"
 
-#: ../src/common/config.py:189
+#: ../src/common/config.py:179
+msgid ""
+"When negotiating an encrypted session, should Gajim assume you want your "
+"messages to be logged?"
+msgstr ""
+"Durante la negoziazione di una sessione cifrata, Gajim deve abilitare la "
+"registrazione dei messaggi?"
+
+#: ../src/common/config.py:188
+msgid "Preview new messages in notification popup?"
+msgstr "Includere l'anteprima dei nuovi messaggi nelle notifiche popup?"
+
+#: ../src/common/config.py:193
 msgid ""
 "A semicolon-separated list of words that will be highlighted in group chats."
 msgstr ""
 "Una lista separata da caratteri ';' di parole che verranno evidenziate nelle "
 "chat multi-utente."
 
-#: ../src/common/config.py:190
+#: ../src/common/config.py:194
 msgid ""
 "If True, quits Gajim when X button of Window Manager is clicked. This "
 "setting is taken into account only if trayicon is used."
@@ -5791,12 +6310,13 @@ msgstr ""
 "cliccato. Questa impostazione è presa in considerazione solo se viene usata "
 "l'icona nello spazio di notifica."
 
-#: ../src/common/config.py:191
+#: ../src/common/config.py:195
 msgid ""
 "If True, Gajim will check if it's the default jabber client on each startup."
-msgstr "Se Vero, Gajim controllerà se è il client Jabber predefinito ad ogni avvio."
+msgstr ""
+"Se Vero, Gajim controllerà se è il client Jabber predefinito ad ogni avvio."
 
-#: ../src/common/config.py:192
+#: ../src/common/config.py:196
 msgid ""
 "If True, Gajim will display an icon on each tab containing unread messages. "
 "Depending on the theme, this icon may be animated."
@@ -5804,7 +6324,7 @@ msgstr ""
 "Se Vero, Gajim mostrerà un icona su ogni scheda contenente messaggi non "
 "letti. A seconda del tema, questa icona può essere animata."
 
-#: ../src/common/config.py:193
+#: ../src/common/config.py:197
 msgid ""
 "If True, Gajim will display the status message, if not empty, for every "
 "contact under the contact name in roster window."
@@ -5812,7 +6332,7 @@ msgstr ""
 "Se Vero, Gajim mostrerà il messaggio di stato, se non vuoto, per ogni "
 "contatto sotto il nome del contatto nella finestra dei contatti"
 
-#: ../src/common/config.py:195
+#: ../src/common/config.py:199
 msgid ""
 "If True, Gajim will ask for avatar each contact that did not have an avatar "
 "last time or has one cached that is too old."
@@ -5820,7 +6340,7 @@ msgstr ""
 "Se Vero, Gajim chiederà un avatar ad ogni contatto che non aveva un avatar "
 "l'ultima volta o ne ha uno troppo vecchio in cache."
 
-#: ../src/common/config.py:196
+#: ../src/common/config.py:200
 msgid ""
 "If False, Gajim will no longer print status line in chats when a contact "
 "changes his or her status and/or his or her status message."
@@ -5828,39 +6348,44 @@ msgstr ""
 "Se Falso, non si vedrà più la linea di stato nelle chat quando un contatto "
 "cambia stato o messaggio di stato."
 
-#: ../src/common/config.py:197
+#: ../src/common/config.py:201
 msgid ""
 "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
 "longer print status line in groupchats when a member changes his or her "
 "status and/or his or her status message. If \"all\" Gajim will print all "
 "status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves "
 "group chat."
-msgstr "può essere \"none\", \"all\" o \"in_and_out\". Se \"none\", Gajim non scriverà più la riga di stato nelle chat di gruppo quando un membro cambia il suo stato e/o il suo messaggio di stato. Se \"all\" Gajim scriverà tutti i messaggi di stato. Se \"in_and_out\", gajim scriverà solo quando qualcuno entra od esce dalla chat di gruppo."
+msgstr ""
+"può essere \"none\", \"all\" o \"in_and_out\". Se \"none\", Gajim non "
+"scriverà più la riga di stato nelle chat di gruppo quando un membro cambia "
+"il suo stato e/o il suo messaggio di stato. Se \"all\" Gajim scriverà tutti "
+"i messaggi di stato. Se \"in_and_out\", gajim scriverà solo quando qualcuno "
+"entra od esce dalla chat di gruppo."
 
-#: ../src/common/config.py:199
+#: ../src/common/config.py:203
 msgid "Background color of contacts when they just signed in."
 msgstr "Colore di sfondo dei contatti appena collegati."
 
-#: ../src/common/config.py:200
+#: ../src/common/config.py:204
 msgid "Background color of contacts when they just signed out."
 msgstr "Colore di sfondo dei contatti appena scollegati."
 
-#: ../src/common/config.py:202
+#: ../src/common/config.py:206
 msgid ""
 "If True, restored messages will use a smaller font than the default one."
 msgstr ""
 "Se Vero, i messaggi recuperati useranno un font più piccolo di quello "
 "predefinito."
 
-#: ../src/common/config.py:203
+#: ../src/common/config.py:207
 msgid "Don't show avatar for the transport itself."
 msgstr "Non mostrare l'avatar per il trasporto stesso."
 
-#: ../src/common/config.py:204
+#: ../src/common/config.py:208
 msgid "Don't show roster in the system taskbar."
 msgstr "Non mostrare l'account nella taskbar del sistema."
 
-#: ../src/common/config.py:205
+#: ../src/common/config.py:209
 msgid ""
 "If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
 "window flash (the default behaviour in most Window Managers) when holding "
@@ -5870,7 +6395,7 @@ msgstr ""
 "finestra lampeggia (comportamento predefinito per la maggior parte dei "
 "gestori di finestre) quando contiene nuovi eventi."
 
-#: ../src/common/config.py:207
+#: ../src/common/config.py:211
 msgid ""
 "Jabberd1.4 does not like sha info when one join a password protected group "
 "chat. Turn this option to False to stop sending sha info in group chat "
@@ -5881,7 +6406,7 @@ msgstr ""
 "SHA nella presenza sulle chat di gruppo"
 
 #. always, never, peracct, pertype should not be translated
-#: ../src/common/config.py:210
+#: ../src/common/config.py:214
 msgid ""
 "Controls the window where new messages are placed.\n"
 "'always' - All messages are sent to a single window.\n"
@@ -5900,36 +6425,32 @@ msgstr ""
 "ad una specifica finestra. Nota, cambiare questa opzione richiede il riavvio "
 "di Gajim prima che le modifiche abbiano effetto"
 
-#: ../src/common/config.py:211
+#: ../src/common/config.py:215
 msgid "If False, you will no longer see the avatar in the chat window."
 msgstr "Se Falso, l'avatar non verrà mostrato nella finestra di chat"
 
-#: ../src/common/config.py:212
+#: ../src/common/config.py:216
 msgid "If True, pressing the escape key closes a tab/window."
 msgstr "Se Vero, premere il tasto Esc chiude una scheda/finestra"
 
-#: ../src/common/config.py:213
-msgid "Hides the buttons in group chat window."
-msgstr "Nasconde i pulsanti nella finestra di chat di gruppo"
-
-#: ../src/common/config.py:214
-msgid "Hides the buttons in two persons chat window."
-msgstr "Nasconde i pulsanti nella finestra di chat a due persone"
+#: ../src/common/config.py:217
+msgid "Hides the buttons in chat windows."
+msgstr "Nascondi i pulsanti nella finestra di chat di gruppo."
 
-#: ../src/common/config.py:215
+#: ../src/common/config.py:218
 msgid "Hides the banner in a group chat window"
 msgstr "Nasconde l'intestazione in una finestra di chat di gruppo"
 
-#: ../src/common/config.py:216
+#: ../src/common/config.py:219
 msgid "Hides the banner in two persons chat window"
 msgstr "Nasconde l'intestazione nella finestra di chat a due persone"
 
-#: ../src/common/config.py:217
+#: ../src/common/config.py:220
 msgid "Hides the group chat occupants list in group chat window."
 msgstr ""
 "Nasconde la lista dei presenti nella stanza nella finestra di chat di gruppo"
 
-#: ../src/common/config.py:218
+#: ../src/common/config.py:221
 msgid ""
 "In a chat, show the nickname at the beginning of a line only when it's not "
 "the same person talking than in previous message."
@@ -5937,22 +6458,26 @@ msgstr ""
 "In una chat, mostra il nickname all'inizio della riga solo quando non è "
 "quello della persona che parlava nel messaggio precedente."
 
-#: ../src/common/config.py:219
+#: ../src/common/config.py:222
 msgid "Indentation when using merge consecutive nickname."
 msgstr "Indentazione quando si raggruppano nickname consecutivi."
 
-#: ../src/common/config.py:220
+#: ../src/common/config.py:223
+msgid "Smooth scroll message in conversation window"
+msgstr "Scorrimento fluido dei messaggi nella finestra di continuazione"
+
+#: ../src/common/config.py:224
 msgid "List of colors that will be used to color nicknames in group chats."
 msgstr ""
 "Lista di colori che saranno usati per colorare i nickname nelle chat di "
 "gruppo."
 
-#: ../src/common/config.py:221
+#: ../src/common/config.py:225
 msgid "Ctrl-Tab go to next composing tab when none is unread."
 msgstr ""
 "Ctrl-Tab va alla prossima scheda di composizione se nessuna è non letta."
 
-#: ../src/common/config.py:222
+#: ../src/common/config.py:226
 msgid ""
 "Should we show the confirm metacontacts creation dialog or not? Empty string "
 "means we never show the dialog."
@@ -5960,7 +6485,7 @@ msgstr ""
 "Mostrare la richiesta di conferma creazione metacontatti o meno? Una stringa "
 "vuota significa che non verrà mai mostrata."
 
-#: ../src/common/config.py:223
+#: ../src/common/config.py:227
 msgid ""
 "If True, you will be able to set a negative priority to your account in "
 "account modification window. BE CAREFUL, when you are logged in with a "
@@ -5970,25 +6495,61 @@ msgstr ""
 "di modifica account. ATTENZIONE, quando si è collegati con priorità "
 "negativa, NON si riceveranno messaggi dal server."
 
-#: ../src/common/config.py:224
+#: ../src/common/config.py:228
 msgid ""
 "If True, Gajim will use Gnome Keyring (if available) to store account "
 "passwords."
-msgstr "Se Vero, Gajim userà il Keyring Gnome (se disponibile) per memorizzare le password degli account."
+msgstr ""
+"Se Vero, Gajim userà il Keyring Gnome (se disponibile) per memorizzare le "
+"password degli account."
 
-#: ../src/common/config.py:225
+#: ../src/common/config.py:229
 msgid ""
 "If True, Gajim will show number of online and total contacts in account and "
 "group rows."
-msgstr "Se Vero, Gajim mostrerà il numero di account online e totali nelle linee degli account e dei gruppi."
+msgstr ""
+"Se Vero, Gajim mostrerà il numero di account online e totali nelle linee "
+"degli account e dei gruppi."
 
-#: ../src/common/config.py:226
+#: ../src/common/config.py:230
 msgid ""
 "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
 "as if they were of this type"
-msgstr "Può essere vuoto, 'chat' o 'normal'. Se non vuoto, tratta tutti i messaggi in iarrivo come se fossero di questo tipo"
+msgstr ""
+"Può essere vuoto, 'chat' o 'normal'. Se non vuoto, tratta tutti i messaggi "
+"in iarrivo come se fossero di questo tipo"
+
+#: ../src/common/config.py:231
+msgid ""
+"If True, Gajim will scroll and select the contact who sent you the last "
+"message, if chat window is not already opened."
+msgstr ""
+"Se Vero, Gajim scorrerà e selezionerà il contatto che ti ha mandato l'ultimo "
+"messaggio, se la finestra di chat non è già aperta."
+
+#: ../src/common/config.py:232
+msgid ""
+"If True, Gajim will convert string between $$ and $$ to an image using dvips "
+"and convert before insterting it in chat window."
+msgstr ""
+"Se Vero, Gajim converterà le stringhe comprese tra $$ e $$ in un'immagine "
+"usando dvips e convertendola prima di inserirla in una finestra di chat."
+
+#: ../src/common/config.py:233
+msgid "Time of inactivity needed before the change status window closes down."
+msgstr ""
+"Tempo di inattività richiesto prima che la finestra di cambiamento del "
+"messaggio di stato si chiuda."
+
+#: ../src/common/config.py:234
+msgid ""
+"Maximum number of lines that are printed in conversations. Oldest lines are "
+"cleared."
+msgstr ""
+"Massimo numero di linee che sono visualizzate nelle conversazioni. Le linee "
+"più vecchie verranno cancellate."
 
-#: ../src/common/config.py:237
+#: ../src/common/config.py:245
 msgid ""
 "Priority will change automatically according to your status. Priorities are "
 "defined in autopriority_* options."
@@ -5997,11 +6558,11 @@ msgstr ""
 "definite nelle opzioni autopriority_*."
 
 #. yes, no, ask
-#: ../src/common/config.py:266
+#: ../src/common/config.py:275
 msgid "Jabberd2 workaround"
 msgstr "Workaround Jabberd2"
 
-#: ../src/common/config.py:270
+#: ../src/common/config.py:279
 msgid ""
 "If checked, Gajim will use your IP and proxies defined in "
 "file_transfer_proxies option for file transfer."
@@ -6009,101 +6570,101 @@ msgstr ""
 "Se marcato, Gajim userà l'IP della macchina ed i proxy definiti nell'opzione "
 "file_transfer_proxies per il trasferimento file."
 
-#: ../src/common/config.py:329
+#: ../src/common/config.py:338
 msgid "Is OpenPGP enabled for this contact?"
 msgstr "OpenPGP è abilitato per questo contatto?"
 
-#: ../src/common/config.py:330 ../src/common/config.py:333
+#: ../src/common/config.py:339 ../src/common/config.py:342
 msgid "Language for which we want to check misspelled words"
 msgstr "Linguaggio per il quale controllare le parole sbagliate"
 
-#: ../src/common/config.py:339
+#: ../src/common/config.py:348
 msgid "all or space separated status"
 msgstr "tutto o stati separati da uno spazio"
 
-#: ../src/common/config.py:340
+#: ../src/common/config.py:349
 msgid "'yes', 'no', or 'both'"
 msgstr "'yes', 'no', o 'both'"
 
-#: ../src/common/config.py:341 ../src/common/config.py:343
-#: ../src/common/config.py:344 ../src/common/config.py:347
-#: ../src/common/config.py:348
+#: ../src/common/config.py:350 ../src/common/config.py:352
+#: ../src/common/config.py:353 ../src/common/config.py:356
+#: ../src/common/config.py:357
 msgid "'yes', 'no' or ''"
 msgstr "'yes', 'no' o 'both'"
 
-#: ../src/common/config.py:354
+#: ../src/common/config.py:363
 msgid "Sleeping"
 msgstr "Dormo"
 
-#: ../src/common/config.py:355
+#: ../src/common/config.py:364
 msgid "Back soon"
 msgstr "Torno presto"
 
-#: ../src/common/config.py:355
+#: ../src/common/config.py:364
 msgid "Back in some minutes."
-msgstr "Di ritorno tra qualche minuto."
+msgstr "Torno tra qualche minuto."
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:365
 msgid "Eating"
 msgstr "Mangio"
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:365
 msgid "I'm eating, so leave me a message."
-msgstr "Sto mangiando, lascia pure un messaggio"
+msgstr "Sto mangiando, lascia pure un messaggio."
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:366
 msgid "Movie"
 msgstr "Film"
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:366
 msgid "I'm watching a movie."
 msgstr "Sto guardando un film."
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:367
 msgid "Working"
 msgstr "Lavoro"
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:367
 msgid "I'm working."
 msgstr "Sto lavorando."
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:368
 msgid "Phone"
 msgstr "Telefono"
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:368
 msgid "I'm on the phone."
-msgstr "Sono al telefono"
+msgstr "Sono al telefono."
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:369
 msgid "Out"
 msgstr "Fuori"
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:369
 msgid "I'm out enjoying life."
-msgstr "Sono fuori a divertirmi"
+msgstr "Sono fuori a divertirmi."
 
-#: ../src/common/config.py:364
+#: ../src/common/config.py:373
 msgid "I'm available."
-msgstr "Disponibile"
+msgstr "Sono disponibile."
 
-#: ../src/common/config.py:365
+#: ../src/common/config.py:374
 msgid "I'm free for chat."
-msgstr "Libero per chat"
+msgstr "Solo libero per chat."
 
-#: ../src/common/config.py:367
+#: ../src/common/config.py:376
 msgid "I'm not available."
-msgstr "Servizio non disponibile"
+msgstr "Non sono disponibile."
 
-#: ../src/common/config.py:368
+#: ../src/common/config.py:377
 msgid "Do not disturb."
 msgstr "Non disturbare."
 
-#: ../src/common/config.py:369 ../src/common/config.py:370
+#: ../src/common/config.py:378 ../src/common/config.py:379
 msgid "Bye!"
 msgstr "Ciao ciao!"
 
-#: ../src/common/config.py:379
+#: ../src/common/config.py:388
 msgid ""
 "Sound to play when a group chat message contains one of the words in "
 "muc_highlight_words, or when a group chat message contains your nickname."
@@ -6111,123 +6672,130 @@ msgstr ""
 "Suono da riprodurre quando un messaggio MUC contiene una delle parole in "
 "muc_highlight_words, o quando un messaggio MUC contiene il tuo nickname."
 
-#: ../src/common/config.py:380
+#: ../src/common/config.py:389
 msgid "Sound to play when any MUC message arrives."
 msgstr "Suono da riprodurre quando un messaggio MUC arriva."
 
-#: ../src/common/config.py:389 ../src/common/optparser.py:193
+#: ../src/common/config.py:398 ../src/common/optparser.py:208
 msgid "green"
 msgstr "verde"
 
-#: ../src/common/config.py:393 ../src/common/optparser.py:179
+#: ../src/common/config.py:402 ../src/common/optparser.py:194
 msgid "grocery"
 msgstr "drogheria"
 
-#: ../src/common/config.py:397
+#: ../src/common/config.py:406
 msgid "human"
 msgstr "umano"
 
-#: ../src/common/config.py:401
+#: ../src/common/config.py:410
 msgid "marine"
 msgstr "marino"
 
-#: ../src/common/connection_handlers.py:52
+#: ../src/common/connection_handlers.py:56
 #: ../src/common/zeroconf/connection_handlers_zeroconf.py:44
 msgid "Unable to load idle module"
 msgstr "Impossibile caricare il modulo idle"
 
-#: ../src/common/connection_handlers.py:177
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233
+#: ../src/common/connection_handlers.py:215
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
 msgid "Wrong host"
 msgstr "Host errato"
 
-#: ../src/common/connection_handlers.py:177
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233
-msgid ""
-"The host you configured as the ft_override_host_to_send advanced option is "
-"not valid, so ignored."
-msgstr ""
-"L'host configurato come ft_override_host_to_send nelle opzioni avanzate non "
-"è valido, sarà ignorato."
-
-#: ../src/common/connection_handlers.py:590
+#: ../src/common/connection_handlers.py:216
+msgid "Invalid local address? :-O"
+msgstr "Indirizzo locale non valido? :-O"
+
+#: ../src/common/connection_handlers.py:608
 #, python-format
 msgid "Registration information for transport %s has not arrived in time"
 msgstr ""
 "Le informazioni di registrazione per il transport %s non sono arrivate in "
 "tempo"
 
-#: ../src/common/connection_handlers.py:1543
+#: ../src/common/connection_handlers.py:1779
 #, python-format
 msgid "Nickname not allowed: %s"
 msgstr "Nickname non permesso: %s"
 
-#. password required to join
 #. we are banned
 #. group chat does not exist
-#: ../src/common/connection_handlers.py:1605
-#: ../src/common/connection_handlers.py:1608
-#: ../src/common/connection_handlers.py:1611
-#: ../src/common/connection_handlers.py:1614
-#: ../src/common/connection_handlers.py:1617
-#: ../src/common/connection_handlers.py:1620
-#: ../src/common/connection_handlers.py:1628
+#: ../src/common/connection_handlers.py:1849
+#: ../src/common/connection_handlers.py:1852
+#: ../src/common/connection_handlers.py:1855
+#: ../src/common/connection_handlers.py:1858
+#: ../src/common/connection_handlers.py:1862
+#: ../src/common/connection_handlers.py:1871
 msgid "Unable to join group chat"
 msgstr "Non è possibile entrare nella stanza"
 
-#: ../src/common/connection_handlers.py:1606
-msgid "A password is required to join this group chat."
-msgstr "È necessaria una password per entrare in questa stanza."
-
-#: ../src/common/connection_handlers.py:1609
-msgid "You are banned from this group chat."
-msgstr "Sei bandito da questa stanza."
+#: ../src/common/connection_handlers.py:1850
+#, python-format
+msgid "You are banned from group chat %s."
+msgstr "Sei stato bandito dalla stanza %s."
 
-#: ../src/common/connection_handlers.py:1612
-msgid "Such group chat does not exist."
-msgstr "Questa stanza non esiste."
+#: ../src/common/connection_handlers.py:1853
+#, python-format
+msgid "Group chat %s does not exist."
+msgstr "La stanza %s non esiste."
 
-#: ../src/common/connection_handlers.py:1615
+#: ../src/common/connection_handlers.py:1856
 msgid "Group chat creation is restricted."
 msgstr "Non è permessa la creazione di stanze."
 
-#: ../src/common/connection_handlers.py:1618
-msgid "Your registered nickname must be used."
-msgstr "È necessario usare il nickname registrato."
+#: ../src/common/connection_handlers.py:1859
+#, python-format
+msgid "Your registered nickname must be used in group chat %s."
+msgstr "Il tuo nickname è già in uso nella stanza di gruppo %s:"
 
-#: ../src/common/connection_handlers.py:1621
-msgid "You are not in the members list."
-msgstr "Non si appartiene alla lista dei membri."
+#: ../src/common/connection_handlers.py:1863
+#, python-format
+msgid "You are not in the members list in groupchat %s."
+msgstr "Non sei nella lista dei membri nella chat di gruppo %s."
 
-#: ../src/common/connection_handlers.py:1629
+#: ../src/common/connection_handlers.py:1872
+#, python-format
 msgid ""
-"Your desired nickname is in use or registered by another occupant.\n"
+"Your desired nickname in group chat %s is in use or registered by another "
+"occupant.\n"
 "Please specify another nickname below:"
 msgstr ""
-"Il nickname desiderato è in uso o registrato da un altro partecipante.\n"
+"Il nickname desiderato è in uso o registrato da un altro partecipante alla "
+"chat di gruppo %s.\n"
 "Specificare un altro nickname sotto:"
 
-#: ../src/common/connection_handlers.py:1679
+#. Room has been destroyed. see
+#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom
+#: ../src/common/connection_handlers.py:1903
+msgid "Room has been destroyed"
+msgstr "La stanza è stata cancellata"
+
+#: ../src/common/connection_handlers.py:1910
+#, python-format
+msgid "You can join this room instead: %s"
+msgstr "Puoi invece entrare in questa stanza: %s"
+
+#: ../src/common/connection_handlers.py:1937
 msgid "I would like to add you to my roster."
 msgstr "Vorrei aggiungerti ai miei contatti."
 
 #. BE CAREFUL: no con.updateRosterItem() in a callback
-#: ../src/common/connection_handlers.py:1700
+#: ../src/common/connection_handlers.py:1958
 #, python-format
 msgid "we are now subscribed to %s"
 msgstr "si è ora abbonati a %s"
 
-#: ../src/common/connection_handlers.py:1702
+#: ../src/common/connection_handlers.py:1960
 #, python-format
 msgid "unsubscribe request from %s"
 msgstr "richiesta di cancellazione abbonamento da %s"
 
-#: ../src/common/connection_handlers.py:1704
+#: ../src/common/connection_handlers.py:1962
 #, python-format
 msgid "we are now unsubscribed from %s"
 msgstr "è stato ora cancellato l'abbonamento a %s"
 
-#: ../src/common/connection_handlers.py:1874
+#: ../src/common/connection_handlers.py:2084
 #, python-format
 msgid ""
 "JID %s is not RFC compliant. It will not be added to your roster. Use roster "
@@ -6237,117 +6805,91 @@ msgstr ""
 "strumenti di gestione dei contatti come http://jru.jabberstudio.org/ per "
 "rimuoverlo"
 
-#: ../src/common/connection.py:182
-#: ../src/common/zeroconf/connection_zeroconf.py:196
+#: ../src/common/connection.py:244
+#: ../src/common/zeroconf/connection_zeroconf.py:203
 #, python-format
 msgid "Connection with account \"%s\" has been lost"
 msgstr "Connessione con l'account \"%s\" persa"
 
-#: ../src/common/connection.py:183
+#: ../src/common/connection.py:245
 msgid "Reconnect manually."
 msgstr "Riconnetti manualmente."
 
-#: ../src/common/connection.py:194 ../src/common/connection.py:221
+#: ../src/common/connection.py:256
 #, python-format
-msgid "Transport %s answered wrongly to register request: %s"
+msgid "Server %s answered wrongly to register request: %s"
 msgstr ""
-"Il trasporto %s ha risposto in maniera errata alla richiesta di "
-"registrazione: %s"
+"Il server %s ha risposto in maniera errata alla richiesta di registrazione: %"
+"s"
 
 #. wrong answer
-#: ../src/common/connection.py:220
+#: ../src/common/connection.py:264
 msgid "Invalid answer"
 msgstr "Risposta non valida"
 
-#: ../src/common/connection.py:416 ../src/common/connection.py:515
-#: ../src/common/connection.py:973
-#: ../src/common/zeroconf/connection_zeroconf.py:217
-#, python-format
-msgid "Could not connect to \"%s\""
-msgstr "Non ci si è potuti collegare a \"%s\""
-
-#: ../src/common/connection.py:430
+#: ../src/common/connection.py:265
 #, python-format
-msgid "Connected to server %s:%s with %s"
-msgstr "Connesso al server %s:%s con %s"
-
-#: ../src/common/connection.py:444
-#, python-format
-msgid "Security error connecting to \"%s\""
-msgstr "Errore di sicurezza nella connessione a \"%s\""
-
-#: ../src/common/connection.py:445
-msgid ""
-"The server's key has changed, or someone is trying to hack your connection."
-msgstr "La chiave del server è cambiata, o qualcuno sta cercando di intromettersi nella connessione."
+msgid "Transport %s answered wrongly to register request: %s"
+msgstr ""
+"Il trasporto %s ha risposto in maniera errata alla richiesta di "
+"registrazione: %s"
 
-#: ../src/common/connection.py:452
-#, python-format
-msgid "Unable to check fingerprint for %s. Connection could be insecure."
-msgstr "Non è possibile verificare l'impronta digitale di %s. La connessione potrebbe non essere sicura."
+#: ../src/common/connection.py:411
+msgid "Connection to proxy failed"
+msgstr "Connessione al proxy fallita"
 
-#: ../src/common/connection.py:494
+#: ../src/common/connection.py:465 ../src/common/connection.py:511
+#: ../src/common/connection.py:1067
+#: ../src/common/zeroconf/connection_zeroconf.py:237
 #, python-format
-msgid "Missing fingerprint in SSL connection to %s"
-msgstr "Impronta digitale mancante nella connessione SSL a %s"
+msgid "Could not connect to \"%s\""
+msgstr "Non è possibile connettersi a \"%s\""
 
-#: ../src/common/connection.py:500
+#: ../src/common/connection.py:479
 #, python-format
-msgid "Fingerprint mismatch for %s: Got %s, expected %s"
-msgstr "Impronta digitale non corrispondente per %s: ottenuto %s, atteso %s"
+msgid "Connected to server %s:%s with %s"
+msgstr "Connesso al server %s:%s con %s"
 
-#: ../src/common/connection.py:516
+#: ../src/common/connection.py:512
 msgid "Check your connection or try again later"
 msgstr "Controllare la connessione o riprovare più tardi"
 
-#: ../src/common/connection.py:542
+#: ../src/common/connection.py:537
 #, python-format
 msgid "Authentication failed with \"%s\""
 msgstr "Autenticazione con \"%s\" fallita"
 
-#: ../src/common/connection.py:543
+#: ../src/common/connection.py:538
 msgid "Please check your login and password for correctness."
 msgstr "Verificare la correttezza di login e password."
 
-#: ../src/common/connection.py:570
+#: ../src/common/connection.py:581
 msgid "Error while removing privacy list"
 msgstr "Errore durante la rimozione della lista privacy"
 
-#: ../src/common/connection.py:571
+#: ../src/common/connection.py:582
 #, python-format
 msgid ""
 "Privacy list %s has not been removed. It is maybe active in one of your "
-"connected resources. Desactivate it and try again."
-msgstr "La lista privacy %s non è stata rimossa. Potrebbe essere attiva in una delle risorse connesse. Disattivarla e riprovare."
+"connected resources. Deactivate it and try again."
+msgstr ""
+"La lista privacy %s non è stata rimossa. Potrebbe essere attiva in una delle "
+"risorse connesse. Disattivarla e riprovare."
 
 #. We didn't set a passphrase
-#: ../src/common/connection.py:669
-#: ../src/common/zeroconf/connection_zeroconf.py:156
+#: ../src/common/connection.py:682
+#: ../src/common/zeroconf/connection_zeroconf.py:163
 msgid "OpenPGP passphrase was not given"
 msgstr "Non è stata impostata la passphrase OpenPGP"
 
-#. do not show I'm invisible!
-#: ../src/common/connection.py:711
-msgid "invisible"
-msgstr "invisibile"
-
-#: ../src/common/connection.py:712
-msgid "offline"
-msgstr "offline"
-
-#: ../src/common/connection.py:713
-#, python-format
-msgid "I'm %s"
-msgstr "Sono %s"
-
 #. we're not english
 #. one  in locale and one en
-#: ../src/common/connection.py:804
+#: ../src/common/connection.py:845
 msgid "[This message is *encrypted* (See :JEP:`27`]"
 msgstr "[Questo messaggio è *cifrato* (vedi :JEP:`27`)]"
 
-#: ../src/common/connection.py:860
-#: ../src/common/zeroconf/connection_zeroconf.py:397
+#: ../src/common/connection.py:916
+#: ../src/common/zeroconf/connection_zeroconf.py:423
 #, python-format
 msgid ""
 "Subject: %s\n"
@@ -6356,11 +6898,11 @@ msgstr ""
 "Oggetto: %s\n"
 "%s"
 
-#: ../src/common/connection.py:999
+#: ../src/common/connection.py:1099
 msgid "Not fetched because of invisible status"
 msgstr "Non ottenuto a causa di stato invisibile"
 
-#: ../src/common/contacts.py:271
+#: ../src/common/contacts.py:294
 msgid "Not in roster"
 msgstr "Non nei contatti"
 
@@ -6377,19 +6919,19 @@ msgstr "Le potenzialità D-Bus di Gajim non possono essere usate"
 msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
 msgstr "La dipendenza pysqlite2 (o python-pysqlite2) è mancante. Uscita..."
 
-#: ../src/common/exceptions.py:30
+#: ../src/common/exceptions.py:39
 msgid "Service not available: Gajim is not running, or remote_control is False"
 msgstr ""
 "Servizio non disponibile: Gajim non è in esecuzione, o remote_control è "
 "Falso."
 
-#: ../src/common/exceptions.py:38
+#: ../src/common/exceptions.py:47
 msgid "D-Bus is not present on this machine or python module is missing"
 msgstr ""
 "D-Bus non è presente su questa macchina o il relativo modulo python è "
 "mancante"
 
-#: ../src/common/exceptions.py:46
+#: ../src/common/exceptions.py:55
 msgid ""
 "Session bus is not available.\n"
 "Try reading http://trac.gajim.org/wiki/GajimDBus"
@@ -6547,293 +7089,300 @@ msgstr "Fine settimana"
 msgid "Weekend!"
 msgstr "Fine settimana!"
 
-#: ../src/common/helpers.py:114
+#: ../src/common/helpers.py:115
 msgid "Invalid character in username."
 msgstr "Carattere non valido nel nome utente."
 
-#: ../src/common/helpers.py:119
+#: ../src/common/helpers.py:120
 msgid "Server address required."
 msgstr "Indirizzo del server richiesto."
 
-#: ../src/common/helpers.py:124
+#: ../src/common/helpers.py:125
 msgid "Invalid character in hostname."
 msgstr "Carattere non valido nell'hostname."
 
-#: ../src/common/helpers.py:130
+#: ../src/common/helpers.py:131
 msgid "Invalid character in resource."
 msgstr "Carattere non valido nella risorsa."
 
 #. GiB means gibibyte
-#: ../src/common/helpers.py:170
+#: ../src/common/helpers.py:171
 #, python-format
 msgid "%s GiB"
 msgstr "%s GiB"
 
 #. GB means gigabyte
-#: ../src/common/helpers.py:173
+#: ../src/common/helpers.py:174
 #, python-format
 msgid "%s GB"
 msgstr "%s GB"
 
 #. MiB means mibibyte
-#: ../src/common/helpers.py:177
+#: ../src/common/helpers.py:178
 #, python-format
 msgid "%s MiB"
 msgstr "%s MiB"
 
 #. MB means megabyte
-#: ../src/common/helpers.py:180
+#: ../src/common/helpers.py:181
 #, python-format
 msgid "%s MB"
 msgstr "%s MB"
 
 #. KiB means kibibyte
-#: ../src/common/helpers.py:184
+#: ../src/common/helpers.py:185
 #, python-format
 msgid "%s KiB"
 msgstr "%s KiB"
 
 #. KB means kilo bytes
-#: ../src/common/helpers.py:187
+#: ../src/common/helpers.py:188
 #, python-format
 msgid "%s KB"
 msgstr "%s KB"
 
 #. B means bytes
-#: ../src/common/helpers.py:190
+#: ../src/common/helpers.py:191
 #, python-format
 msgid "%s B"
 msgstr "%s B"
 
-#: ../src/common/helpers.py:219
+#: ../src/common/helpers.py:222
 msgid "_Busy"
 msgstr "O_ccupato"
 
-#: ../src/common/helpers.py:221
+#: ../src/common/helpers.py:224
 msgid "Busy"
 msgstr "Occupato"
 
-#: ../src/common/helpers.py:224
+#: ../src/common/helpers.py:227
 msgid "_Not Available"
 msgstr "_Non disponibile"
 
-#: ../src/common/helpers.py:229
+#: ../src/common/helpers.py:232
 msgid "_Free for Chat"
 msgstr "_Libero per chat"
 
-#: ../src/common/helpers.py:231
+#: ../src/common/helpers.py:234
 msgid "Free for Chat"
 msgstr "Libero per chat"
 
-#: ../src/common/helpers.py:234
+#: ../src/common/helpers.py:237
 msgid "_Available"
 msgstr "_Disponibile"
 
-#: ../src/common/helpers.py:236
+#: ../src/common/helpers.py:239
 msgid "Available"
 msgstr "Disponibile"
 
-#: ../src/common/helpers.py:238
+#: ../src/common/helpers.py:241
 msgid "Connecting"
 msgstr "Connessione in corso"
 
-#: ../src/common/helpers.py:241
+#: ../src/common/helpers.py:244
 msgid "A_way"
 msgstr "_Assente"
 
-#: ../src/common/helpers.py:246
+#: ../src/common/helpers.py:249
 msgid "_Offline"
 msgstr "_Offline"
 
-#: ../src/common/helpers.py:248
+#: ../src/common/helpers.py:251
 msgid "Offline"
 msgstr "Offline"
 
-#: ../src/common/helpers.py:251
+#: ../src/common/helpers.py:254
 msgid "_Invisible"
 msgstr "_Invisibile"
 
-#: ../src/common/helpers.py:257
+#: ../src/common/helpers.py:260
 msgid "?contact has status:Unknown"
 msgstr "Sconosciuto"
 
-#: ../src/common/helpers.py:259
+#: ../src/common/helpers.py:262
 msgid "?contact has status:Has errors"
 msgstr "Ci sono errori"
 
-#: ../src/common/helpers.py:264
+#: ../src/common/helpers.py:267
 msgid "?Subscription we already have:None"
 msgstr "Nessuno"
 
-#: ../src/common/helpers.py:266
+#: ../src/common/helpers.py:269
 msgid "To"
 msgstr "A"
 
-#: ../src/common/helpers.py:270
+#: ../src/common/helpers.py:273
 msgid "Both"
 msgstr "Entrambi"
 
-#: ../src/common/helpers.py:278
+#: ../src/common/helpers.py:281
 msgid "?Ask (for Subscription):None"
 msgstr "Nulla"
 
-#: ../src/common/helpers.py:280
+#: ../src/common/helpers.py:283
 msgid "Subscribe"
 msgstr "Abbonati"
 
-#: ../src/common/helpers.py:289
+#: ../src/common/helpers.py:292
 msgid "?Group Chat Contact Role:None"
 msgstr "Nessuno"
 
-#: ../src/common/helpers.py:292
+#: ../src/common/helpers.py:295
 msgid "Moderators"
 msgstr "Moderatori"
 
-#: ../src/common/helpers.py:294
+#: ../src/common/helpers.py:297
 msgid "Moderator"
 msgstr "Moderatore"
 
-#: ../src/common/helpers.py:297
+#: ../src/common/helpers.py:300
 msgid "Participants"
 msgstr "Partecipanti"
 
-#: ../src/common/helpers.py:299
+#: ../src/common/helpers.py:302
 msgid "Participant"
 msgstr "Participante"
 
-#: ../src/common/helpers.py:302
+#: ../src/common/helpers.py:305
 msgid "Visitors"
 msgstr "Visitatori"
 
-#: ../src/common/helpers.py:304
+#: ../src/common/helpers.py:307
 msgid "Visitor"
 msgstr "Visitatore"
 
-#: ../src/common/helpers.py:310
+#: ../src/common/helpers.py:313
 msgid "?Group Chat Contact Affiliation:None"
 msgstr "Nessuna"
 
-#: ../src/common/helpers.py:312
+#: ../src/common/helpers.py:315
 msgid "Owner"
 msgstr "Proprietario"
 
-#: ../src/common/helpers.py:314
+#: ../src/common/helpers.py:317
 msgid "Administrator"
 msgstr "Amministratore"
 
-#: ../src/common/helpers.py:316
+#: ../src/common/helpers.py:319
 msgid "Member"
 msgstr "Membro"
 
-#: ../src/common/helpers.py:355
+#: ../src/common/helpers.py:358
 msgid "is paying attention to the conversation"
 msgstr "sta seguendo la conversazione"
 
-#: ../src/common/helpers.py:357
+#: ../src/common/helpers.py:360
 msgid "is doing something else"
 msgstr "sta facendo altro"
 
-#: ../src/common/helpers.py:359
+#: ../src/common/helpers.py:362
 msgid "is composing a message..."
 msgstr "sta scrivendo..."
 
 #. paused means he or she was composing but has stopped for a while
-#: ../src/common/helpers.py:362
+#: ../src/common/helpers.py:365
 msgid "paused composing a message"
 msgstr "ha smesso di scrivere"
 
-#: ../src/common/helpers.py:364
+#: ../src/common/helpers.py:367
 msgid "has closed the chat window or tab"
 msgstr "ha chiuso la finestra o scheda di chat"
 
-#: ../src/common/helpers.py:890
+#: ../src/common/helpers.py:913 ../src/common/helpers.py:920
 #, python-format
-msgid " %d unread message"
-msgid_plural " %d unread messages"
-msgstr[0] "Gajim - %d messaggio non letto"
-msgstr[1] "Gajim - %d messaggi non letti"
+msgid "%d message pending"
+msgid_plural "%d messages pending"
+msgstr[0] "%d messaggio in attesa"
+msgstr[1] "%d messaggi in attesa"
 
-#: ../src/common/helpers.py:896
+#: ../src/common/helpers.py:926
 #, python-format
-msgid " %d unread single message"
-msgid_plural " %d unread single messages"
-msgstr[0] "Gajim - %d messaggio singolo non letto"
-msgstr[1] "Gajim - %d messaggi singoli non letti"
+msgid " from room %s"
+msgstr " dalla stanza %s"
 
-#: ../src/common/helpers.py:902
+#: ../src/common/helpers.py:929 ../src/common/helpers.py:948
 #, python-format
-msgid " %d unread group chat message"
-msgid_plural " %d unread group chat messages"
-msgstr[0] "Gajim - %d messaggio in chat di gruppo non letto"
-msgstr[1] "Gajim - %d messaggi in chat di gruppo non letti"
+msgid " from user %s"
+msgstr " dall'utente %s"
 
-#: ../src/common/helpers.py:908
+#: ../src/common/helpers.py:931
 #, python-format
-msgid " %d unread private message"
-msgid_plural " %d unread private messages"
-msgstr[0] "Gajim - %d messaggio privato non letto"
-msgstr[1] "Gajim - %d messaggi privati non letti"
+msgid " from %s"
+msgstr " da %s"
 
-#: ../src/common/helpers.py:918 ../src/common/helpers.py:920
+#: ../src/common/helpers.py:938 ../src/common/helpers.py:945
+#, python-format
+msgid "%d event pending"
+msgid_plural "%d events pending"
+msgstr[0] "%d evento in attesa"
+msgstr[1] "%d eventi in attesa"
+
+#: ../src/common/helpers.py:978
 #, python-format
 msgid "Gajim - %s"
 msgstr "Gajim - %s"
 
 #. we talk about a file
-#: ../src/common/optparser.py:59
+#: ../src/common/optparser.py:60
 #, python-format
 msgid "error: cannot open %s for reading"
 msgstr "errore: impossibile aprire %s per lettura"
 
-#: ../src/common/optparser.py:179
-msgid "gtk+"
-msgstr "gtk+"
-
-#: ../src/common/optparser.py:188 ../src/common/optparser.py:189
+#: ../src/common/optparser.py:203 ../src/common/optparser.py:204
 msgid "cyan"
 msgstr "cyan"
 
-#: ../src/common/optparser.py:306
+#: ../src/common/optparser.py:320
 msgid "migrating logs database to indices"
 msgstr "Migrazione database delle cronologie agli indici"
 
-#: ../src/common/passwords.py:92
+#: ../src/common/passwords.py:82
 #, python-format
 msgid "Gajim account %s"
 msgstr "Account Gajim %s"
 
-#: ../src/common/zeroconf/client_zeroconf.py:189
+#: ../src/common/zeroconf/client_zeroconf.py:135
+#: ../src/common/zeroconf/client_zeroconf.py:218
+msgid "Connection to host could not be established"
+msgstr "La connessione non può essere stabilita."
+
+#: ../src/common/zeroconf/client_zeroconf.py:192
 msgid ""
 "Connection to host could not be established: Incorrect answer from server."
 msgstr ""
 "La connessione all'host non può esser stabilita: risposta incorretta dal "
 "server."
 
-#: ../src/common/zeroconf/client_zeroconf.py:205
-msgid "Connection to host could not be established"
-msgstr "La connessione non può essere stabilita."
-
-#: ../src/common/zeroconf/client_zeroconf.py:334
+#: ../src/common/zeroconf/client_zeroconf.py:352
 msgid ""
 "Connection to host could not be established: Timeout while sending data."
 msgstr ""
 "La connessione all'host non può esser stabilita: Tempo scaduto durante "
 "l'invio di dati."
 
-#: ../src/common/zeroconf/client_zeroconf.py:627
+#: ../src/common/zeroconf/client_zeroconf.py:638
 msgid "Contact is offline. Your message could not be sent."
 msgstr "Il contatto è offline. Il tuo messaggio non può esser inviato."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:197
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+#, python-format
+msgid ""
+"The host %s you configured as the ft_add_hosts_to_send advanced option is "
+"not valid, so ignored."
+msgstr ""
+"L'host %s che hai configurato come il ft_add_hosts_to_send opzione non è "
+"valida, perciò sarà ignorato."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:204
 msgid "To continue sending and receiving messages, you will need to reconnect."
 msgstr ""
 "Per continuare a mandare e ricevere messaggi, è necessario riconnettersi."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:207
+#: ../src/common/zeroconf/connection_zeroconf.py:227
 msgid "Avahi error"
 msgstr "Errore avahi"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:207
+#: ../src/common/zeroconf/connection_zeroconf.py:227
 #, python-format
 msgid ""
 "%s\n"
@@ -6842,31 +7391,31 @@ msgstr ""
 "%s\n"
 "La messaggistica sulla rete locale potrebbe non funzionare correttamente."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:218
+#: ../src/common/zeroconf/connection_zeroconf.py:238
 msgid "Please check if Avahi is installed."
 msgstr "Controllare se Avahi è installato."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:227
-#: ../src/common/zeroconf/connection_zeroconf.py:231
+#: ../src/common/zeroconf/connection_zeroconf.py:247
+#: ../src/common/zeroconf/connection_zeroconf.py:251
 msgid "Could not start local service"
 msgstr "Impossibile avviare il servizio locale"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:228
+#: ../src/common/zeroconf/connection_zeroconf.py:248
 #, python-format
 msgid "Unable to bind to port %d."
 msgstr "Impossibile collegarsi alla porta %d."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:232
-#: ../src/common/zeroconf/connection_zeroconf.py:325
+#: ../src/common/zeroconf/connection_zeroconf.py:252
+#: ../src/common/zeroconf/connection_zeroconf.py:347
 msgid "Please check if avahi-daemon is running."
 msgstr "Controllare se avahi-daemon è in esecuzione."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:324
+#: ../src/common/zeroconf/connection_zeroconf.py:346
 #, python-format
 msgid "Could not change status of account \"%s\""
 msgstr "Impossibile cambiare lo stato dell'account  \"%s\""
 
-#: ../src/common/zeroconf/connection_zeroconf.py:341
+#: ../src/common/zeroconf/connection_zeroconf.py:363
 msgid ""
 "You are not connected or not visible to others. Your message could not be "
 "sent."
@@ -6875,14 +7424,509 @@ msgstr ""
 "essere inviato."
 
 #. we're not english
-#: ../src/common/zeroconf/connection_zeroconf.py:353
+#: ../src/common/zeroconf/connection_zeroconf.py:375
 msgid "[This message is encrypted]"
 msgstr "[Questo messaggio è cifrato]"
 
-#: ../src/common/zeroconf/zeroconf.py:180
-#, python-format
-msgid "Error while adding service. %s"
-msgstr "Errore durante la creazione del servizio. %s"
+#~ msgid "%s does not appear to be a valid JID"
+#~ msgstr "%s non sembra essere un JID valido"
+
+#~ msgid "Blocked Contacts"
+#~ msgstr "Contatti bloccati"
+
+#~ msgid "In_vite"
+#~ msgstr "In_vita"
+
+#~ msgid "Invite Friends !"
+#~ msgstr "Invita amici!"
+
+#~ msgid "MUC server"
+#~ msgstr "Server MUC"
+
+#~ msgid "Please select a MUC server."
+#~ msgstr "Selezionare un server MUC."
+
+#~ msgid ""
+#~ "You are going to begin a Multi-User Chat.\n"
+#~ "Select the contacts you want to invite"
+#~ msgstr ""
+#~ "Stai per iniziare una chat di gruppo.\n"
+#~ "Scegli i contatti che vuoi invitare"
+
+#~ msgid "<b>List of possible features in Gajim:</b>"
+#~ msgstr "<b>Lista delle possibili funzioni extra di Gajim:</b>"
+
+#, fuzzy
+#~ msgid "Features"
+#~ msgstr "Servizi del server"
+
+#~ msgid "Please wait while retrieving search form..."
+#~ msgstr "Attendere durante il recupero dei campi di ricerca..."
+
+#~ msgid "_Add contact"
+#~ msgstr "_Aggiungi contatto"
+
+#~ msgid "Select the account with which you want to synchronise"
+#~ msgstr "Seleziona l'account con cui vuoi effettuare la sincronizzazione"
+
+#~ msgid "Select the contacts you want to synchronise"
+#~ msgstr "Seleziona i contatti che vuoi sincronizzare"
+
+#~ msgid "Synchronise : select contacts"
+#~ msgstr "Sincronizzazione: scegli i contatti"
+
+#~ msgid "PyOpenSSL"
+#~ msgstr "PyOpenSSL"
+
+#~ msgid ""
+#~ "A library used to validate server certificates to ensure a secure "
+#~ "connection."
+#~ msgstr ""
+#~ "Una libreria usata per validare i certificati del server per assicurare "
+#~ "una connessione sicura."
+
+#~ msgid "Requires python-pyopenssl."
+#~ msgstr "Richiede python-pyopenssl."
+
+#~ msgid "Bonjour / Zeroconf"
+#~ msgstr "Bonjour/Zeroconf"
+
+#~ msgid "Serverless chatting with autodetected clients in a local network."
+#~ msgstr ""
+#~ "Sistema di chat senza server con i client rilevati automaticamente nella "
+#~ "rete locale."
+
+#~ msgid "Requires python-avahi."
+#~ msgstr "Richiede python-avahi."
+
+#~ msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+#~ msgstr "Richiede pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+
+#~ msgid "gajim-remote"
+#~ msgstr "gajim-remote"
+
+#~ msgid "A script to controle gajim via commandline."
+#~ msgstr "Uno script per controllare gajim dalla riga di comando."
+
+#~ msgid "Requires python-dbus."
+#~ msgstr "Richiede python-dbus."
+
+#~ msgid "Feature not available under Windows."
+#~ msgstr "Caratteristica non disponibile sotto Windows."
+
+#~ msgid "OpenGPG"
+#~ msgstr "OpenGPG"
+
+#~ msgid "Encrypting chatmessages with gpg keys."
+#~ msgstr "Cifratura dei messaggi di chat con le chiavi gpg."
+
+#~ msgid "Requires gpg and python-GnuPGInterface."
+#~ msgstr "Richiede gpg e python-GnuPGInterface"
+
+#~ msgid "network-manager"
+#~ msgstr "Gestore connessione"
+
+#~ msgid "Autodetection of network status."
+#~ msgstr "Riconoscimento automatico dello stato della connessione."
+
+#~ msgid "Requires gnome-network-manager and python-dbus."
+#~ msgstr "Richiede gnome-network-manager e python-dbus."
+
+#~ msgid "Session Management"
+#~ msgstr "Gestore sessioni"
+
+#~ msgid "Gajim session is stored on logout and restored on login."
+#~ msgstr ""
+#~ "La sessione di Gajim viene salvata alla chiusura e ripristinata all'avvio."
+
+#~ msgid "Requires python-gnome2."
+#~ msgstr "Richiede python-gnome2."
+
+#~ msgid "gnome-keyring"
+#~ msgstr "Gestore portachiavi"
+
+#~ msgid "Passwords can be stored securely and not just in plaintext."
+#~ msgstr ""
+#~ "Le password possono essere salvate in modo sicuro e non in un semplice "
+#~ "file di testo."
+
+#~ msgid "Requires gnome-keyring and python-gnome2-desktop."
+#~ msgstr "Richiede gnome-keyring e python-gnome2-desktop."
+
+#~ msgid "SRV"
+#~ msgstr "SRV"
+
+#~ msgid "Ability to connect to servers which is using SRV records."
+#~ msgstr "Possibilità di connettersi ai server che usano record SRV."
+
+#~ msgid "Requires dnsutils."
+#~ msgstr "Richiede dnsutils."
+
+#~ msgid "Requires nslookup to use SRV records."
+#~ msgstr "Richiede nslookup per usare i record SRV."
+
+#~ msgid "Spell Checker"
+#~ msgstr "Correttore ortografico"
+
+#~ msgid "Spellchecking of composed messages."
+#~ msgstr "Correzione ortografica dei messaggi."
+
+#~ msgid ""
+#~ "Requires python-gnome2-extras or compilation of gtkspell module from "
+#~ "Gajim sources."
+#~ msgstr ""
+#~ "Richiede python-gnome2-extras o la compilazione del modulo gtkspell dai "
+#~ "sorgenti di Gajim."
+
+#~ msgid "Notification-daemon"
+#~ msgstr "Demone delle notifiche"
+
+#~ msgid "Passive popups notifying for new events."
+#~ msgstr "Popup passivi che notificano nuovi eventi."
+
+#~ msgid ""
+#~ "Requires python-notify or instead python-dbus in conjunction with "
+#~ "notification-daemon."
+#~ msgstr "Richiede python-notify, oppure python-dbus e notification-daemon."
+
+#~ msgid "Trayicon"
+#~ msgstr "Icona nell'area di notifica"
+
+#~ msgid "A icon in systemtray reflecting the current presence."
+#~ msgstr "Un'icona nell'area di notifica che riflette lo stato attuale."
+
+#~ msgid ""
+#~ "Requires python-gnome2-extras or compiled  trayicon module from Gajim "
+#~ "sources."
+#~ msgstr ""
+#~ "Richiede python-gnome2-extras oppure la compilazione del modulo trayicon "
+#~ "dai sorgenti di Gajim."
+
+#~ msgid "Requires PyGTK >= 2.10."
+#~ msgstr "Richiede PyGTK >= 2.10."
+
+#~ msgid "Idle"
+#~ msgstr "Inattivatore"
+
+#~ msgid "Ability to measure idle time, in order to set auto status."
+#~ msgstr ""
+#~ "Possibilità di misurare il tempo di inattività, per poter cambiare lo "
+#~ "stato automaticamente."
+
+#~ msgid "Requires compilation of the idle module from Gajim sources."
+#~ msgstr "Richiede la compilazione del modulo idle dai sorgenti di Gajim."
+
+#~ msgid "LaTeX"
+#~ msgstr "LaTeX"
+
+#~ msgid "Transform LaTeX espressions between $$ $$."
+#~ msgstr "Trasforma le espressioni LaTeX comprese in $$ $$."
+
+#~ msgid ""
+#~ "Requires texlive-latex-base, dvips and imagemagick. You have to set "
+#~ "'use_latex' to True in the Advanced Configuration Editor."
+#~ msgstr ""
+#~ "Richiede texlive-latex-base, dvips e imagemagick. Devi impostare "
+#~ "'use_latex' su Attivato nell'Editor di configurazione avanzata."
+
+#~ msgid "End to end encryption"
+#~ msgstr "Attiva cifratura end-to-end"
+
+#~ msgid "Encrypting chatmessages."
+#~ msgstr "Cifratura dei messaggi di chat."
+
+#~ msgid "Requires python-crypto."
+#~ msgstr "Richiede python-crypto."
+
+#, fuzzy
+#~ msgid "RST Generator"
+#~ msgstr "Generatore RST"
+
+#~ msgid ""
+#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/"
+#~ "docs/ref/rst/restructuredtext.html)."
+#~ msgstr ""
+#~ "Genera output XHTML a partire da codice RST (vedi http://docutils."
+#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)."
+
+#~ msgid "Requires python-docutils."
+#~ msgstr "Richiede python-docutils."
+
+#~ msgid "Feature"
+#~ msgstr "Funzione"
+
+#~ msgid "- messages will be logged"
+#~ msgstr "- i messaggi saranno registrati"
+
+#~ msgid "- messages will not be logged"
+#~ msgstr "- i messaggi non saranno registrati"
+
+#~ msgid "Verify the remote client's identity"
+#~ msgstr "Verifica l'identità del client remoto"
+
+#~ msgid ""
+#~ "You've begun an encrypted session with %s, but it can't be guaranteed "
+#~ "that you're talking directly to the person you think you are.\n"
+#~ "\n"
+#~ "You should speak with them directly (in person or on the phone) and "
+#~ "confirm that their Short Authentication String is identical to this one: %"
+#~ "s"
+#~ msgstr ""
+#~ "Hai iniziato una sessione cifrata con %s, ma non è possibile garantire "
+#~ "che stai parlando direttamente con la persona che pensi sia in realtà.\n"
+#~ "\n"
+#~ "Dovresti parlarci direttamente (di persona o al telefono) e confermare "
+#~ "che la sua stringa di autenticazione sia identica a questa: %s"
+
+#~ msgid "Waiting for results"
+#~ msgstr "Ricerca in corso"
+
+#~ msgid "Error in received dataform"
+#~ msgstr "Errore nella ricezione dei dati"
+
+#~ msgid "No result"
+#~ msgstr "Nessun risultato"
+
+#~ msgid "Error while adding service. %s"
+#~ msgstr "Errore durante la creazione del servizio. %s"
+
+#~ msgid "_Add Contact"
+#~ msgstr "_Aggiungi contatto"
+
+#~ msgid "<b>Interface Customization</b>"
+#~ msgstr "<b>Personalizzazione dell'interfaccia</b>"
+
+#~ msgid "Also known as iChat style"
+#~ msgstr "Conosciuto anche come stile iChat"
+
+#~ msgid "Chat"
+#~ msgstr "Chat"
+
+#~ msgid "E_very 5 minutes"
+#~ msgstr "_Ogni 5 minuti"
+
+#~ msgid ""
+#~ "Gajim will automatically show new events by popping up the relevant window"
+#~ msgstr ""
+#~ "Gajim mostrerà automaticamente i nuovi eventi sollevando la finestra "
+#~ "relativa"
+
+#~ msgid ""
+#~ "Gajim will notify you for new events via a popup in the bottom right of "
+#~ "the screen"
+#~ msgstr ""
+#~ "Gajim notificherà i nuovi eventi tramite popup nell'angolo in fondo a "
+#~ "destra dello schermo"
+
+#~ msgid ""
+#~ "Gajim will notify you via a popup window in the bottom right of the "
+#~ "screen about contacts that just signed in"
+#~ msgstr ""
+#~ "Gajim notificherà tramite popup nell'angolo in fondo a destra dello "
+#~ "schermo quando un contatto si connette"
+
+#~ msgid ""
+#~ "Gajim will only change the icon of the contact that triggered the new "
+#~ "event"
+#~ msgstr ""
+#~ "Gajim cambierà solamente l'icona del contatto fonte del nuovo evento"
+
+#~ msgid ""
+#~ "If checked, Gajim will remember the roster and chat window positions in "
+#~ "the screen and the sizes of them next time you run it"
+#~ msgstr ""
+#~ "Se marcato, Gajim manterrà le posizioni delle finestre di chat e della "
+#~ "lista contatti sullo schermo la prossima volta che verrà eseguito"
+
+#~ msgid "On every _message"
+#~ msgstr "In tutti i _messaggi"
+
+#~ msgid "Outgoing Chat state noti_fications:"
+#~ msgstr "Noti_fiche dello stato di chat in uscita"
+
+#~ msgid "Print time:"
+#~ msgstr "Scrivi ora:"
+
+#~ msgid "Save _position and size for roster and chat windows"
+#~ msgstr ""
+#~ "Salva _posizione e dimensione delle finestre di chat e lista contatti"
+
+#~ msgid "Show only in _roster"
+#~ msgstr "Mostra solo nella lista _contatti"
+
+#~ msgid "Use t_rayicon (aka. notification area icon)"
+#~ msgstr "Usa _icona nell'area di notifica (vassoio di sistema)"
+
+#~ msgid ""
+#~ "When a new event (message, file transfer request etc..) is received, the "
+#~ "following methods may be used to inform you about it. Please note that "
+#~ "events about new messages only occur if it is a new message from a "
+#~ "contact you are not already chatting with"
+#~ msgstr ""
+#~ "Quando un nuovo evento (messaggio, richiesta di trasferimento file, "
+#~ "ecc...) viene ricevuto, i seguenti metodi possono venire usati per "
+#~ "informarti di ciò. Notare che gli eventi per i nuovi messaggi avverranno "
+#~ "solo se si tratta di un nuovo messaggio da un contatto con cui non si sta "
+#~ "già chattando"
+
+#~ msgid "_Never"
+#~ msgstr "_Mai"
+
+#~ msgid "_Notify me about it"
+#~ msgstr "_Notifica"
+
+#~ msgid "_Pop it up"
+#~ msgstr "_Mostra"
+
+#~ msgid "Add _Contact"
+#~ msgstr "Aggiungi _contatto"
+
+#~ msgid "_Send Single Message"
+#~ msgstr "_Invia messaggio singolo"
+
+#~ msgid "_Filter:"
+#~ msgstr "_Filtro:"
+
+#~ msgid "Every %s _minutes"
+#~ msgstr "Ogni %s _minuti"
+
+#~ msgid "_Discover Services..."
+#~ msgstr "_Ricerca servizi..."
+
+#~ msgid "_Retype Password:"
+#~ msgstr "_Ripetere password:"
+
+#~ msgid "_Use proxy"
+#~ msgstr "_Usa proxy"
+
+#~ msgid "Accounts"
+#~ msgstr "Account"
+
+#~ msgid ""
+#~ "If checked, all local contacts that use a Bonjour compatible chat client "
+#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to "
+#~ "be connected to a jabber server for it to work.\n"
+#~ "This is only available if python-avahi is installed and avahi-daemon is "
+#~ "running."
+#~ msgstr ""
+#~ "Se selezionato, tutti i contatti locali che usano un client chat "
+#~ "compatibile con Bonjour (es. IChat, Trillian or Gaim) saranno visibili "
+#~ "nella lista contatti. Non è necessario essere connesso a un server jabber "
+#~ "affinché funzioni.\n"
+#~ "Questo è possibile solo se python-avahi è installato e  avahi-daemon è in "
+#~ "esecuzione."
+
+#~ msgid ""
+#~ "If you have 2 or more accounts and this is checked, Gajim will list all "
+#~ "contacts as if you had one account"
+#~ msgstr ""
+#~ "Se marcato e se sono presenti 2 o più account, Gajim mostrerà tutti i "
+#~ "contatti come se ci fosse un unico account"
+
+#~ msgid "_Enable link-local messaging"
+#~ msgstr "_Abilita la messaggistica sulla rete locale"
+
+#~ msgid "_Modify"
+#~ msgstr "_Modifica"
+
+#~ msgid "2003-12-13T18:30:02Z"
+#~ msgstr "2003-12-13T18:30:02Z"
+
+#~ msgid "<small>Romeo and Juliet</small>"
+#~ msgstr "<small>Romeo e Giulietta</small>"
+
+#~ msgid "Old stories"
+#~ msgstr "Vecchie storie"
+
+#~ msgid "Soliloquy"
+#~ msgstr "Soliloquio"
+
+#~ msgid "_Compact View    Alt+C"
+#~ msgstr "_Vista compatta    Alt+C"
+
+#~ msgid "_Remove from Roster"
+#~ msgstr "_Elimina dai contatti"
+
+#~ msgid ""
+#~ "If that is not your language for which you want to highlight misspelled "
+#~ "words, then please set your $LANG as appropriate. Eg. for French do "
+#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to "
+#~ "make it global in /etc/profile.\n"
+#~ "\n"
+#~ "Highlighting misspelled words feature will not be used"
+#~ msgstr ""
+#~ "Se questa non è la lingua per cui si vogliono evidenziare le parole "
+#~ "scorrette, impostare $LANG in maniera appropriata. Per esempio, per "
+#~ "l'italiano eseguire \"export LANG=it_IT\" o \"export LANG=it_IT.UTF-8\" "
+#~ "in ~/.bash_profile o, per rendere la modifica globale, in /etc/profile.\n"
+#~ "\n"
+#~ "Non verrà usata la caratteristica di evidenziatura parole scorrette"
+
+#~ msgid "You must enter a password for the new account."
+#~ msgstr "È necessario inserire una password per il nuovo account."
+
+#~ msgid "Private Chat"
+#~ msgstr "Chat privata"
+
+#~ msgid "Group Chat"
+#~ msgstr "Chat di gruppo"
+
+#~ msgid "Drop %s in group %s"
+#~ msgstr "Sposta %s nel gruppo %s"
+
+#~ msgid "Make %s and %s metacontacts"
+#~ msgstr "Rendi %s e %s metacontatti"
+
+#~ msgid "Hides the buttons in two persons chat window."
+#~ msgstr "Nasconde i pulsanti nella finestra di chat a due persone"
+
+#~ msgid "Security error connecting to \"%s\""
+#~ msgstr "Errore di sicurezza nella connessione a \"%s\""
+
+#~ msgid ""
+#~ "The server's key has changed, or someone is trying to hack your "
+#~ "connection."
+#~ msgstr ""
+#~ "La chiave del server è cambiata, o qualcuno sta cercando di intromettersi "
+#~ "nella connessione."
+
+#~ msgid "Unable to check fingerprint for %s. Connection could be insecure."
+#~ msgstr ""
+#~ "Non è possibile verificare l'impronta digitale di %s. La connessione "
+#~ "potrebbe non essere sicura."
+
+#~ msgid "Missing fingerprint in SSL connection to %s"
+#~ msgstr "Impronta digitale mancante nella connessione SSL a %s"
+
+#~ msgid "Fingerprint mismatch for %s: Got %s, expected %s"
+#~ msgstr "Impronta digitale non corrispondente per %s: ottenuto %s, atteso %s"
+
+#~ msgid "invisible"
+#~ msgstr "invisibile"
+
+#~ msgid "offline"
+#~ msgstr "offline"
+
+#~ msgid "I'm %s"
+#~ msgstr "Sono %s"
+
+#~ msgid " %d unread single message"
+#~ msgid_plural " %d unread single messages"
+#~ msgstr[0] "Gajim - %d messaggio singolo non letto"
+#~ msgstr[1] "Gajim - %d messaggi singoli non letti"
+
+#~ msgid " %d unread group chat message"
+#~ msgid_plural " %d unread group chat messages"
+#~ msgstr[0] "Gajim - %d messaggio in chat di gruppo non letto"
+#~ msgstr[1] "Gajim - %d messaggi in chat di gruppo non letti"
+
+#~ msgid " %d unread private message"
+#~ msgid_plural " %d unread private messages"
+#~ msgstr[0] "Gajim - %d messaggio privato non letto"
+#~ msgstr[1] "Gajim - %d messaggi privati non letti"
+
+#~ msgid "gtk+"
+#~ msgstr "gtk+"
 
 #~ msgid "A_fter nickname:"
 #~ msgstr "_Dopo il nickname:"
@@ -6917,9 +7961,6 @@ msgstr "Errore durante la creazione del servizio. %s"
 #~ msgid "Role: "
 #~ msgstr "Ruolo: "
 
-#~ msgid "Affiliation: "
-#~ msgstr "Affiliazione: "
-
 #~ msgid ""
 #~ "Sound to play when any MUC message arrives. (This setting is taken into "
 #~ "account only if notify_on_all_muc_messages is True)"
@@ -6976,10 +8017,6 @@ msgstr "Errore durante la creazione del servizio. %s"
 #~ msgid "_Join New Room..."
 #~ msgstr "_Entra in nuova stanza..."
 
-#~ msgid "Usage: /%s, sets the groupchat window to compact mode."
-#~ msgstr ""
-#~ "Uso: /%s, imposta la modalità compatta nella finestra chat di gruppo"
-
 #~ msgid "Delete Message of the Day"
 #~ msgstr "Elimina messaggio del giorno"
 
@@ -6995,9 +8032,6 @@ msgstr "Errore durante la creazione del servizio. %s"
 #~ msgid "_XML Console..."
 #~ msgstr "Console _XML..."
 
-#~ msgid "Choose Avatar"
-#~ msgstr "Scegli avatar"
-
 #~ msgid "Use compact view when you open a chat window"
 #~ msgstr "Usa vista compatta quando si apre una finestra di chat"
 
@@ -7061,18 +8095,12 @@ msgstr "Errore durante la creazione del servizio. %s"
 #~ "Leggere il file AUTHORS per la lista completa, comprendente anche gli "
 #~ "sviluppatori non più attivi"
 
-#~ msgid "From %s"
-#~ msgstr "Da %s"
-
 #~ msgid "To %s"
 #~ msgstr "A %s"
 
 #~ msgid "You have been invited to the %(room_jid)s room by %(contact_jid)s"
 #~ msgstr "Sei stato invitato nella stanza %(room_jid)s da %(contact_jid)s"
 
-#~ msgid "Browsing %s"
-#~ msgstr "Consultazione %s"
-
 #~ msgid ""
 #~ "Animated\n"
 #~ "Static"
@@ -7145,9 +8173,6 @@ msgstr "Errore durante la creazione del servizio. %s"
 #~ "installato pysqlite3, per migrare i log al nuovo database, leggere: "
 #~ "http://trac.gajim.org/wiki/MigrateLogToDot9DB Uscita..."
 
-#~ msgid "Image is too big"
-#~ msgstr "L'immagine è troppo grande"
-
 #~ msgid ""
 #~ "Image for emoticon has to be less than or equal to 24 pixels in width and "
 #~ "24 in height."
@@ -7269,15 +8294,9 @@ msgstr "Errore durante la creazione del servizio. %s"
 #~ msgid "Allow controlling Gajim via D-Bus service."
 #~ msgstr "Permettere il controllo di Gajim attraverso il servizio D-Bus."
 
-#~ msgid "Error:"
-#~ msgstr "Errore:"
-
 #~ msgid "Service"
 #~ msgstr "Servizio"
 
-#~ msgid "Node"
-#~ msgstr "Nodo"
-
 #~ msgid ""
 #~ "Your new account has been created and added to your gajim configuration.\n"
 #~ "You can set advanced account options using \"Edit->Accounts\" in the main "
@@ -7358,9 +8377,6 @@ msgstr "Errore durante la creazione del servizio. %s"
 #~ "possibile cambiare modalità premendo Alt-C. NOTA: L'ultimo stato in cui "
 #~ "viene lasciata una finestra/scheda non è permanente"
 
-#~ msgid "Join _Group Chat..."
-#~ msgstr "Entra in chat di _gruppo..."
-
 #~ msgid "Show roster window on Gajim startup"
 #~ msgstr "Mostra la finestra dei contatti all'avvio di Gajim"
 
diff --git a/po/lt.po b/po/lt.po
new file mode 100644
index 0000000000000000000000000000000000000000..860a963924add3e5d3e788fc9d9a0b28d103e52b
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,7655 @@
+# Lithuanian translations for Gajim - A Jabber Instant Messager package.
+# Copyright (C) 2006 THE Gajim - A Jabber Instant Messager'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the Gajim - A Jabber Instant Messager package.
+# Mantas Zimnickas <sirexas@yahoo.com>, 2007.
+#
+#: ../src/gajim-remote.py:212 ../src/gajim-remote.py:219
+#: ../src/gajim-remote.py:245 ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:252 ../src/gajim-remote.py:253
+#: ../src/gajim-remote.py:254 ../src/gajim-remote.py:255
+msgid ""
+msgstr ""
+"Project-Id-Version: Gajim - A Jabber Instant Messager 0.11.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-09-12 09:53+0200\n"
+"PO-Revision-Date: 2007-01-21 15:27+1100\n"
+"Last-Translator: Mantas Zimnickas <sirexas@yahoo.com>\n"
+"Language-Team: Lithuanian\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../data/gajim.desktop.in.in.h:1
+msgid "A GTK+ Jabber client"
+msgstr "GTK+ Jabber klientas"
+
+#: ../data/gajim.desktop.in.in.h:2
+msgid "Gajim Instant Messenger"
+msgstr "Gajim Greitųjų žinučių programa"
+
+#: ../data/gajim.desktop.in.in.h:3
+msgid "Jabber IM Client"
+msgstr "Jabber IM Klientas"
+
+#: ../data/glade/account_context_menu.glade.h:1
+#: ../data/glade/roster_window.glade.h:8
+#, fuzzy
+msgid "Join _Group Chat..."
+msgstr "Prisijungti prie pokalbio grupÄ—je"
+
+#: ../data/glade/account_context_menu.glade.h:2
+msgid "_Add Contact..."
+msgstr "_Įtraukti asmenį..."
+
+#: ../data/glade/account_context_menu.glade.h:3
+#: ../data/glade/roster_window.glade.h:15
+msgid "_Discover Services"
+msgstr "_Ieškoti Paslaugų"
+
+#: ../data/glade/account_context_menu.glade.h:4
+msgid "_Execute Command..."
+msgstr "_Vykdyti komandÄ…..."
+
+#: ../data/glade/account_context_menu.glade.h:5
+#, fuzzy
+msgid "_Modify Account"
+msgstr "Keisti PrieigÄ…"
+
+#: ../data/glade/account_context_menu.glade.h:6
+msgid "_Open Gmail Inbox"
+msgstr "_Atidaryti Gmail paštą"
+
+#: ../data/glade/account_context_menu.glade.h:7
+#: ../data/glade/roster_window.glade.h:22
+#, fuzzy
+msgid "_Start Chat..."
+msgstr "_Pradėti pokalbį"
+
+#: ../data/glade/account_context_menu.glade.h:8
+#: ../data/glade/zeroconf_context_menu.glade.h:2
+msgid "_Status"
+msgstr "_BÅ«klÄ—"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:1
+#, fuzzy
+msgid ""
+"<b>Connecting to server</b>\n"
+"\n"
+"Please wait..."
+msgstr ""
+"<b>Prieiga kuriama</b>\n"
+"\n"
+"Prašome palaukti..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:4
+msgid "<b>Please choose one of the options below:</b>"
+msgstr "<b>Prašome pasirinkti vieną iš variantų žemiau:</b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:5
+msgid "<b>Please fill in the data for your new account</b>"
+msgstr "<b>Prašome užpildyti naujos Jūsų prieigos duomenis</b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:6
+msgid "<b>Please select a server</b>"
+msgstr ""
+
+#: ../data/glade/account_creation_wizard_window.glade.h:7
+msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
+msgstr "Jabber serverių paslaugų sąrašas (tokių, kaip: MSN, ICQ pernašos)"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:8
+msgid "Connect when I press Finish"
+msgstr "Prisijungti, kai paspausiu Baigti"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:9
+msgid "Gajim: Account Creation Wizard"
+msgstr "Gajim: Prieigos kūrimo vedlys"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:10
+#, fuzzy
+msgid "I already have an account I want to _use"
+msgstr "Jau turiu prieigÄ…, kuriÄ… noriu naudoti"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:11
+msgid "I want to _register for a new account"
+msgstr "Noriu už_registruoti naują prieigą"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/accounts_window.glade.h:22
+msgid "If checked, Gajim will remember the password for this account"
+msgstr "Jei pažymėta, Gajim prisimins šios prieigos slaptažodį"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:13
+#: ../data/glade/account_modification_window.glade.h:26
+#: ../data/glade/accounts_window.glade.h:32
+msgid "Manage..."
+msgstr "Valdyti..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:14
+#, fuzzy
+msgid "Prox_y:"
+msgstr "Proksis:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/accounts_window.glade.h:48
+msgid "Save pass_word"
+msgstr "Išsaugoti _slaptažodį"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:16
+msgid "Servers Features"
+msgstr "Serverio teikiamos paslaugos"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:17
+msgid "Set my profile when I connect"
+msgstr "Nustatyti mano profilį, kai prisijungsiu"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/accounts_window.glade.h:53
+msgid "Use custom hostname/port"
+msgstr "Naudoti parinktÄ… serverio adresÄ…/prievadÄ…"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:19
+msgid ""
+"You need to have an account in order to connect\n"
+"to the Jabber network."
+msgstr ""
+"Kad prisijungtumÄ—te privalote turÄ—ti prieigÄ…\n"
+"Jabber tinkle."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:21
+msgid "Your JID:"
+msgstr "Jūsų JID:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:22
+#: ../data/glade/roster_window.glade.h:13
+msgid "_Advanced"
+msgstr "_Papildomas"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:23
+msgid "_Finish"
+msgstr "_Baigti"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:24
+#, fuzzy
+msgid "_Hostname:"
+msgstr "Serverio adresas: "
+
+#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_modification_window.glade.h:50
+#: ../data/glade/accounts_window.glade.h:58
+msgid "_Password:"
+msgstr "_Slaptažodis:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:26
+#: ../data/glade/manage_proxies_window.glade.h:11
+msgid "_Port:"
+msgstr "_Portas:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:27
+msgid "_Server:"
+msgstr "_Serveris:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:28
+#: ../data/glade/manage_proxies_window.glade.h:12
+msgid "_Username:"
+msgstr "_Naudotojo vardas:"
+
+#: ../data/glade/account_modification_window.glade.h:1
+#: ../data/glade/accounts_window.glade.h:1
+#: ../data/glade/preferences_window.glade.h:8
+msgid "<b>Miscellaneous</b>"
+msgstr "<b>Įvairūs</b>"
+
+#: ../data/glade/account_modification_window.glade.h:2
+#: ../data/glade/accounts_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:1
+msgid "<b>OpenPGP</b>"
+msgstr "<b>OpenPGP</b>"
+
+#: ../data/glade/account_modification_window.glade.h:3
+#: ../data/glade/accounts_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:2
+msgid "<b>Personal Information</b>"
+msgstr "<b>AsmeninÄ— informacija</b>"
+
+#: ../data/glade/account_modification_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:4
+msgid "Account"
+msgstr "Prieiga"
+
+#: ../data/glade/account_modification_window.glade.h:5
+msgid "Account Modification"
+msgstr "Prieigos keitimas"
+
+#: ../data/glade/account_modification_window.glade.h:6
+#: ../data/glade/accounts_window.glade.h:5
+#, fuzzy
+msgid "Administration operations"
+msgstr "Administrator List"
+
+#: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/accounts_window.glade.h:6
+msgid "Auto-reconnect when connection is lost"
+msgstr "Automatiškai bandyti prisijungti, kai prarandamas ryšys"
+
+#: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/accounts_window.glade.h:7
+#: ../data/glade/zeroconf_properties_window.glade.h:3
+msgid "C_onnect on Gajim startup"
+msgstr "_Prisijungti, kai Gajim pasileis"
+
+#: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/accounts_window.glade.h:8
+msgid "Chan_ge Password"
+msgstr "_Keisti slaptažodį"
+
+#: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/accounts_window.glade.h:9
+msgid ""
+"Check this so Gajim will connect in port 5223 where legacy servers are "
+"expected to have SSL capabilities. Note that Gajim uses TLS encryption by "
+"default if broadcasted by the server, and with this option enabled TLS will "
+"be disabled"
+msgstr ""
+"Jei pažymėsite, Gajim jungsis prie 5223 porto, kur tikimasi, kad serveriai "
+"turi SSL galimybes. Gajim, pagal nutylÄ—jimÄ… naudoja TLS Å¡ifravimÄ… jei  "
+"serveris užklausia ir jei ši parinktis yra aktyvi, TLS bus deaktyvuotas"
+
+#: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/accounts_window.glade.h:10
+#: ../data/glade/zeroconf_properties_window.glade.h:4
+msgid "Choose _Key..."
+msgstr "Pasirinkite _RaktÄ…..."
+
+#: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/accounts_window.glade.h:11
+msgid "Click to change account's password"
+msgstr "Spauskite, kad pakeisti prieigos slaptažodį"
+
+#: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/accounts_window.glade.h:12
+msgid "Click to request authorization to all contacts of another account"
+msgstr ""
+
+#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/accounts_window.glade.h:13
+msgid "Connection"
+msgstr "Prisijungimas"
+
+#: ../data/glade/account_modification_window.glade.h:15
+#: ../data/glade/accounts_window.glade.h:15
+msgid "Edit Personal Information..."
+msgstr "Keisti asmeninÄ™ informacijÄ…..."
+
+#. No configured account
+#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/accounts_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:6 ../src/notify.py:471
+#: ../src/notify.py:493 ../src/notify.py:505 ../src/common/helpers.py:964
+#: ../src/common/helpers.py:976
+msgid "Gajim"
+msgstr "Gajim"
+
+#. General group cannot be changed
+#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/accounts_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:45
+#: ../data/glade/zeroconf_properties_window.glade.h:7
+#: ../src/roster_window.py:359 ../src/roster_window.py:624
+#: ../src/roster_window.py:1360 ../src/roster_window.py:1728
+#: ../src/roster_window.py:2112 ../src/roster_window.py:2628
+#: ../src/roster_window.py:2746 ../src/common/contacts.py:309
+msgid "General"
+msgstr "Bendros parinktys"
+
+#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/accounts_window.glade.h:20
+msgid "Hostname: "
+msgstr "Serverio adresas: "
+
+#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/accounts_window.glade.h:21
+msgid ""
+"If checked, Gajim will also broadcast some more IPs except from just your "
+"IP, so file transfer has higher chances of working."
+msgstr ""
+"Jei pažymėta, Gajim siųs užklausimą į kelis IP išskyrus Jūsų IP, tokiu būdu "
+"pagerÄ—s bylos siuntimas."
+
+#: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/accounts_window.glade.h:23
+msgid ""
+"If checked, Gajim will send keep-alive packets to prevent connection timeout "
+"which results in disconnection"
+msgstr ""
+"Jei pažymėta, Gajim siuntinės „aš-gyvas“ paketus, kad nebūtų prarastas "
+"ryšys, dėl ko gali įvyksta savaiminiai atsijungimai"
+
+#: ../data/glade/account_modification_window.glade.h:22
+#: ../data/glade/accounts_window.glade.h:24
+#: ../data/glade/zeroconf_properties_window.glade.h:8
+msgid ""
+"If checked, Gajim will store the password in ~/.gajim/config with 'read' "
+"permission only for you"
+msgstr ""
+"Jei pažymėta, Gajim saugos slaptažodį faile ~/.gajim/config su 'tik-"
+"skaitymui' teisÄ—mis, tik Jums"
+
+#: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/accounts_window.glade.h:25
+#: ../data/glade/zeroconf_properties_window.glade.h:9
+msgid ""
+"If checked, Gajim, when launched, will automatically connect to jabber using "
+"this account"
+msgstr ""
+"Jei pažymėta, po pasileidimo Gajim automatiškai jungsis prie jabber "
+"naudodamas Å¡iÄ… prieigÄ…"
+
+#: ../data/glade/account_modification_window.glade.h:24
+#: ../data/glade/accounts_window.glade.h:26
+#: ../data/glade/zeroconf_properties_window.glade.h:10
+msgid ""
+"If checked, any change to the global status (handled by the combobox at the "
+"bottom of the roster window) will change the status of this account "
+"accordingly"
+msgstr ""
+"Jei pažymėta, bet koks globalus būklės pakeitimas (įvykdytas iš sąrašo, "
+"pagrindinio lango apačioje) įtakos ir šios prieigos būklę accordingly"
+
+#: ../data/glade/account_modification_window.glade.h:25
+#: ../data/glade/accounts_window.glade.h:29
+msgid "Information about you, as stored in the server"
+msgstr "Informacija apie jus, kur yra išsaugota serveryje"
+
+#: ../data/glade/account_modification_window.glade.h:27
+#: ../data/glade/accounts_window.glade.h:34
+#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1524
+#: ../src/config.py:2010
+msgid "No key selected"
+msgstr "Raktas nepasirinktas"
+
+#. None means no proxy profile selected
+#. GPG Key
+#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/accounts_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1110
+#: ../src/config.py:1181 ../src/config.py:1430 ../src/config.py:1435
+#: ../src/config.py:1906 ../src/config.py:1993 ../src/config.py:2009
+#: ../src/config.py:3109 ../src/config.py:3155 ../src/dialogs.py:286
+#: ../src/dialogs.py:288 ../src/roster_window.py:1832
+#: ../src/roster_window.py:1839 ../src/roster_window.py:1846
+msgid "None"
+msgstr "Joks"
+
+#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/accounts_window.glade.h:37
+#: ../data/glade/profile_window.glade.h:26
+#: ../data/glade/zeroconf_properties_window.glade.h:17
+msgid "Personal Information"
+msgstr "AsmeninÄ— informacija"
+
+#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/accounts_window.glade.h:38
+msgid "Port: "
+msgstr "Prievadas: "
+
+#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/accounts_window.glade.h:39
+msgid "Priori_ty:"
+msgstr "_Prioritetas:"
+
+#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/accounts_window.glade.h:40
+msgid ""
+"Priority is used in Jabber to determine who gets the events from the jabber "
+"server when two or more clients are connected using the same account; The "
+"client with the highest priority gets the events"
+msgstr ""
+"Prioritetas, Jabber'yje naudojamas, kad nustatyti, kas turi gauti pranešimus "
+"iš jabber serverio, kai du ar daugiau klientų yra prisijungę prie tos pačios "
+"prieigos; Klientas, turintis aukščiausią prioritetą gaus pranešimus"
+
+#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/accounts_window.glade.h:41
+msgid "Priority will change automatically according to your status."
+msgstr "Prioritetas keisis automatiškai, priklausomai nuo jūsų būklės."
+
+#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/accounts_window.glade.h:42
+msgid "Proxy:"
+msgstr "Proksis:"
+
+#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/accounts_window.glade.h:44
+msgid "Resour_ce:"
+msgstr "Å al_tinis:"
+
+#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/accounts_window.glade.h:45
+msgid ""
+"Resource is sent to the Jabber server in order to separate the same JID in "
+"two or more parts depending on the number of the clients connected in the "
+"same server with the same account. So you might be connected in the same "
+"account with resource 'Home' and 'Work' at the same time. The resource which "
+"has the highest priority will get the events. (see below)"
+msgstr ""
+"Šaltinis siunčiamas į Jabber serverį, tam, kad būtų atskirti JID, kai yra "
+"prisijungę du ar daugiau klientų tuo pačiu metu, tame pačiame serveryje ir "
+"prie tos pačios prieigos. Jūs galite būti prisijungę prie tos pačios  "
+"prieigos su šaltiniu 'Namai' ir 'Darbas', tuo pačiu metu. Šaltinis, kuris "
+"turi didžiausią prioritetą gaus visus pranešimus. (žiūrėkite žemiau)"
+
+#: ../data/glade/account_modification_window.glade.h:38
+#: ../data/glade/accounts_window.glade.h:46
+#: ../data/glade/zeroconf_properties_window.glade.h:18
+msgid "Save _passphrase (insecure)"
+msgstr "IÅ¡saugoti _slaptafrazÄ™ (nesaugu)"
+
+#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/accounts_window.glade.h:47
+#: ../data/glade/zeroconf_properties_window.glade.h:19
+msgid "Save conversation _logs for all contacts"
+msgstr "Saugoti visų asmenų pokalbių žurnalus"
+
+#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/accounts_window.glade.h:49
+msgid "Send keep-alive packets"
+msgstr "Siųsti „aš-gyvas“ paketus"
+
+#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/accounts_window.glade.h:50
+#: ../data/glade/zeroconf_properties_window.glade.h:20
+msgid "Synch_ronize account status with global status"
+msgstr "Sinchronizuoti prieigos būklę su globalia būkle"
+
+#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/accounts_window.glade.h:51
+#, fuzzy
+msgid "Synchronise contacts"
+msgstr "Rodyti _Atsijungusius Asmenis"
+
+#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/accounts_window.glade.h:52
+msgid "Use _SSL (legacy)"
+msgstr "Naudoti _SSL (legacy)"
+
+#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/accounts_window.glade.h:55
+msgid "Use file transfer proxies"
+msgstr "Naudoti failų siuntimo proksius"
+
+#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/accounts_window.glade.h:56
+msgid "_Adjust to status"
+msgstr "_Nustatyti būklei"
+
+#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/accounts_window.glade.h:57
+msgid "_Jabber ID:"
+msgstr "_Jabber ID:"
+
+#: ../data/glade/account_modification_window.glade.h:49
+msgid "_Name:"
+msgstr "_Pavadinimas:"
+
+#: ../data/glade/accounts_window.glade.h:14
+#: ../data/glade/profile_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/zeroconf_information_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:5
+msgid "E-Mail:"
+msgstr "El. paštas:"
+
+#. XML Console enable checkbutton
+#: ../data/glade/accounts_window.glade.h:16
+#: ../data/glade/xml_console_window.glade.h:4
+msgid "Enable"
+msgstr "Įjungti"
+
+#: ../data/glade/accounts_window.glade.h:17
+#: ../data/glade/zeroconf_information_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:6
+msgid "First Name:"
+msgstr "Vardas:"
+
+#: ../data/glade/accounts_window.glade.h:27
+#: ../data/glade/zeroconf_properties_window.glade.h:11
+msgid ""
+"If the default port that is used for incoming messages is unfitting for your "
+"setup you can select another one here.\n"
+"You might consider to change possible firewall settings."
+msgstr ""
+"Jei prievadas, pagal nutylėjimą, kuris naudojamas įeinančioms žinutėms "
+"neatitinka jūsų nustatymų, čia galite pasirinkti kitą.\n"
+"TurÄ—tumÄ—te pakeisti leistinus ugniasienÄ—s nustatymus."
+
+#: ../data/glade/accounts_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/zeroconf_information_window.glade.h:4
+#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:453
+msgid "Jabber ID:"
+msgstr "Jabber ID:"
+
+#: ../data/glade/accounts_window.glade.h:31
+#: ../data/glade/zeroconf_information_window.glade.h:5
+#: ../data/glade/zeroconf_properties_window.glade.h:14
+msgid "Last Name:"
+msgstr "PavardÄ—:"
+
+#: ../data/glade/accounts_window.glade.h:33
+msgid "Mer_ge accounts"
+msgstr "Apjun_gti prieigas"
+
+#. Rename
+#: ../data/glade/accounts_window.glade.h:43 ../src/roster_window.py:2698
+msgid "Re_name"
+msgstr "Pe_rvadinti"
+
+#: ../data/glade/accounts_window.glade.h:54
+#: ../data/glade/zeroconf_properties_window.glade.h:21
+msgid "Use custom port:"
+msgstr "Use custom port:"
+
+#: ../data/glade/accounts_window.glade.h:59
+msgid "gtk-add"
+msgstr ""
+
+#: ../data/glade/accounts_window.glade.h:60
+msgid "gtk-close"
+msgstr ""
+
+#: ../data/glade/accounts_window.glade.h:61
+msgid "gtk-remove"
+msgstr ""
+
+#: ../data/glade/add_new_contact_window.glade.h:1
+msgid "A_ccount:"
+msgstr "_Prieiga:"
+
+#: ../data/glade/add_new_contact_window.glade.h:2
+msgid "A_llow this contact to view my status"
+msgstr "Leisti šiam asmeniui matyti mano būklę"
+
+#: ../data/glade/add_new_contact_window.glade.h:3
+msgid "Add New Contact"
+msgstr "Prijungti naują asmenį"
+
+#: ../data/glade/add_new_contact_window.glade.h:4
+msgid "I would like to add you to my contact list."
+msgstr "Norėšiau jus įtraukti į savo kontaktų sąrašą."
+
+#: ../data/glade/add_new_contact_window.glade.h:5
+msgid ""
+"You have to register with this transport\n"
+"to be able to add a contact from this\n"
+"protocol. Click on register button to\n"
+"proceed."
+msgstr ""
+"Turite užsiregistruoti naudojant šią pernašą,\n"
+"tam, kad galėtumėtte prijungti asmenis iš šio\n"
+"protokolo. Jei norite tęsti, spustelkite ant mygtuko\n"
+"registruoti."
+
+#: ../data/glade/add_new_contact_window.glade.h:9
+msgid ""
+"You must be connected to the transport to be able\n"
+"to add a contact from this protocol."
+msgstr ""
+"Kad galėtumėte pridėti asmenį iš šio protokolo, turite\n"
+"būti prisijungęs prie perlaidos."
+
+#: ../data/glade/add_new_contact_window.glade.h:11
+msgid "_Group:"
+msgstr "_GrupÄ—:"
+
+#: ../data/glade/add_new_contact_window.glade.h:12
+msgid "_Nickname:"
+msgstr "_Slapyvardis:"
+
+#: ../data/glade/add_new_contact_window.glade.h:13
+msgid "_Protocol:"
+msgstr "_Protokolas:"
+
+#: ../data/glade/add_new_contact_window.glade.h:14
+msgid "_Register"
+msgstr "_Registracija"
+
+#: ../data/glade/add_new_contact_window.glade.h:15
+msgid "_User ID:"
+msgstr "_Naudotojo ID:"
+
+#: ../data/glade/adhoc_commands_window.glade.h:1
+msgid "<b>An error has occurred:</b>"
+msgstr "<b>Įvyko klaida:</b>"
+
+#: ../data/glade/adhoc_commands_window.glade.h:2
+msgid "<b>Choose command to execute:</b>"
+msgstr "<b>Pasirinktie komandÄ… vykdymui:</b>"
+
+#: ../data/glade/adhoc_commands_window.glade.h:3
+msgid "Ad-hoc Commands - Gajim"
+msgstr "Ad-hoc Komandos - Gajim"
+
+#: ../data/glade/adhoc_commands_window.glade.h:4
+msgid "Check once more"
+msgstr "Patikrinti dar kartÄ…"
+
+#: ../data/glade/adhoc_commands_window.glade.h:5
+msgid "Error description..."
+msgstr "Klaidos aprašymas..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:6
+msgid "Please wait while retrieving command list..."
+msgstr "Prašome luktelti, kol atsisiųs komandų sąrašas..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:7
+msgid "Please wait while the command is sending..."
+msgstr "Prašome luktelti, kol siunčiama komanda..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:8
+msgid "Please wait..."
+msgstr "Prašome palaukti..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:9
+msgid "This jabber entity does not expose any commands."
+msgstr "Ši jabber esybė nepateikė jokių komando."
+
+#: ../data/glade/advanced_configuration_window.glade.h:1
+msgid "<b>Description</b>"
+msgstr "<b>Aprašymas</b>"
+
+#: ../data/glade/advanced_configuration_window.glade.h:2
+msgid "<b>NOTE:</b> You should restart Gajim for some settings to take effect"
+msgstr ""
+"<b>PASTABA:</b> Kad įsigaliotų tam tikri nustatymai turite perkrauti Gajim"
+
+#: ../data/glade/advanced_configuration_window.glade.h:3
+msgid "Advanced Configuration Editor"
+msgstr "Išplėstinis konfigūracijos redaktorius"
+
+#: ../data/glade/advanced_configuration_window.glade.h:4
+msgid "Filter:"
+msgstr "Filtras:"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:1
+msgid "Delete MOTD"
+msgstr "Trinti MOTD"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:2
+msgid "Deletes Message of the Day"
+msgstr "Ištrins dienos žinutę"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:3
+#, fuzzy
+msgid "Edit _Privacy Lists..."
+msgstr "_Privatūs sąrašai"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:4
+msgid "Sends a message to users currently connected to this server"
+msgstr "Bus išsiųstos žinutės naudotojams, prisijungusiems prie šio serverio"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:5
+#, fuzzy
+msgid "Set MOTD..."
+msgstr "Nustatyti MOTD"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:6
+msgid "Sets Message of the Day"
+msgstr "Nustatyti dienos žinutę"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:7
+msgid "Show _XML Console"
+msgstr "Rodyti _XML konsolÄ™"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:8
+#, fuzzy
+msgid "Update MOTD..."
+msgstr "Atnaujinti MOTD"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:9
+msgid "Updates Message of the Day"
+msgstr "Atnaujinti dienos žinutę"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:10
+msgid "_Administrator"
+msgstr "_Administratorius"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:11
+#, fuzzy
+msgid "_Send Server Message..."
+msgstr "_Siųsti žinutę serveriui"
+
+#: ../data/glade/advanced_notifications_window.glade.h:1
+msgid " a window/tab opened with that contact "
+msgstr " atidarytas langas/žymė su šiuo asmeniu "
+
+#: ../data/glade/advanced_notifications_window.glade.h:2
+msgid "<b>Actions</b>"
+msgstr "<b>Veiksmai</b>"
+
+#: ../data/glade/advanced_notifications_window.glade.h:3
+msgid "<b>Conditions</b>"
+msgstr "<b>SÄ…lygos</b>"
+
+#: ../data/glade/advanced_notifications_window.glade.h:4
+#: ../data/glade/preferences_window.glade.h:12
+msgid "<b>Sounds</b>"
+msgstr "<b>Garsai</b>"
+
+#: ../data/glade/advanced_notifications_window.glade.h:5
+msgid "Advanced Actions"
+msgstr "IÅ¡plÄ—stiniai veiksmai"
+
+#: ../data/glade/advanced_notifications_window.glade.h:6
+msgid "Advanced Notifications Control"
+msgstr "Išplėstinis pranešimų valdymas"
+
+#: ../data/glade/advanced_notifications_window.glade.h:7
+msgid "All statuses"
+msgstr "Visos būklės"
+
+#: ../data/glade/advanced_notifications_window.glade.h:8
+#: ../src/common/commands.py:91 ../src/common/helpers.py:246
+msgid "Away"
+msgstr "Manęs nėra"
+
+#: ../data/glade/advanced_notifications_window.glade.h:9
+msgid "Busy "
+msgstr "Užsiėmęs "
+
+#: ../data/glade/advanced_notifications_window.glade.h:10
+msgid "Don't have "
+msgstr "Neturiu "
+
+#: ../data/glade/advanced_notifications_window.glade.h:11
+msgid "Have "
+msgstr "Turiu "
+
+#: ../data/glade/advanced_notifications_window.glade.h:12
+#: ../src/common/helpers.py:256
+msgid "Invisible"
+msgstr "Nematomas"
+
+#: ../data/glade/advanced_notifications_window.glade.h:13
+msgid "Launch a command"
+msgstr "Paleisti komandÄ…"
+
+#: ../data/glade/advanced_notifications_window.glade.h:14
+#: ../src/common/helpers.py:229
+msgid "Not Available"
+msgstr "Esu išėjęs"
+
+#: ../data/glade/advanced_notifications_window.glade.h:15
+msgid "One or more special statuses..."
+msgstr "Viena ar daugiau specialių būklių..."
+
+#: ../data/glade/advanced_notifications_window.glade.h:16
+msgid "Online / Free For Chat"
+msgstr "Prisijungęs / Laisvas susirašinėti"
+
+#: ../data/glade/advanced_notifications_window.glade.h:17
+msgid "Play a sound"
+msgstr "Groti garsÄ…"
+
+#: ../data/glade/advanced_notifications_window.glade.h:18
+msgid ""
+"Receive a Message\n"
+"Contact Disconnected \n"
+"Contact Change Status \n"
+"Group Chat Message Highlight \n"
+"Group Chat Message Received \n"
+"File Transfer Request \n"
+"File Transfer Started \n"
+"File Transfer Finished"
+msgstr ""
+"Atsiųsti žinutę\n"
+"Asmuo atsijungÄ— \n"
+"Asmuo pakeitė būklę \n"
+"Paryškinta žinutė grupės pokalbyje \n"
+"Gauta žinutė grupės pokalbyje \n"
+"Failo atsisiuntimo užklausimas \n"
+"Failo siuntimas pradÄ—tas \n"
+"Failo siuntimas baigtas"
+
+#: ../data/glade/advanced_notifications_window.glade.h:26
+msgid "When "
+msgstr "Kai "
+
+#: ../data/glade/advanced_notifications_window.glade.h:27
+msgid ""
+"_Activate window manager's UrgencyHint to make chat window in taskbar flash"
+msgstr ""
+"_Aktyvuoti langų tvarkyklės UrgencyHint, kad pokalbio langas mirksėtų "
+"užduočių juostoje"
+
+#: ../data/glade/advanced_notifications_window.glade.h:28
+msgid "_Disable auto opening chat window"
+msgstr "_Padaryti, kad pokalbių langas automatiškai neiššoktu"
+
+#: ../data/glade/advanced_notifications_window.glade.h:29
+msgid "_Disable existing popup window"
+msgstr "_Uždrausti esančius iššokstančius (pop-up) langus"
+
+#: ../data/glade/advanced_notifications_window.glade.h:30
+msgid "_Disable existing sound for this event"
+msgstr "_Uždrausti esmą garsą šiam įvykiui"
+
+#: ../data/glade/advanced_notifications_window.glade.h:31
+msgid "_Disable showing event in roster"
+msgstr "_Uždrausti įvykių rodyma kantaktų sąraše"
+
+#: ../data/glade/advanced_notifications_window.glade.h:32
+msgid "_Disable showing event in systray"
+msgstr "_Uždrausti įvykių rodyma sistemos dėkle"
+
+#: ../data/glade/advanced_notifications_window.glade.h:33
+msgid "_Inform me with a popup window"
+msgstr "_Informuok mane su iššokstančiu langu"
+
+#: ../data/glade/advanced_notifications_window.glade.h:34
+msgid "_Open chat window with user"
+msgstr "_Atidaryti pokalbio langÄ… su Å¡iuo naudotoju"
+
+#: ../data/glade/advanced_notifications_window.glade.h:35
+msgid "_Show event in roster"
+msgstr "_Rodyti įvykį kontaktų sąraše"
+
+#: ../data/glade/advanced_notifications_window.glade.h:36
+msgid "_Show event in systray"
+msgstr "_Rodyti įvykį sistemos dėkle"
+
+#: ../data/glade/advanced_notifications_window.glade.h:37
+msgid "and I "
+msgstr "ir aš "
+
+#: ../data/glade/advanced_notifications_window.glade.h:38
+msgid ""
+"contact(s)\n"
+"group(s)\n"
+"everybody"
+msgstr ""
+"asmuo(nys)\n"
+"grupÄ—(s)\n"
+"visi"
+
+#: ../data/glade/advanced_notifications_window.glade.h:41
+msgid "for "
+msgstr "dÄ—l "
+
+#: ../data/glade/advanced_notifications_window.glade.h:42
+msgid "when I'm in"
+msgstr "kai būsiu"
+
+#: ../data/glade/atom_entry_window.glade.h:1
+msgid "Entry:"
+msgstr "Įrašas:"
+
+#: ../data/glade/atom_entry_window.glade.h:2
+msgid "Feed name:"
+msgstr "Kanalo pavadinimas:"
+
+#: ../data/glade/atom_entry_window.glade.h:3
+msgid "Last modified:"
+msgstr "Paskutinį kartą keista:"
+
+#: ../data/glade/atom_entry_window.glade.h:4
+msgid "New entry received"
+msgstr "Gautas naujas įrašas"
+
+#: ../data/glade/atom_entry_window.glade.h:5
+msgid "You have received new entry:"
+msgstr "Jūs gavote naują įrašą:"
+
+#: ../data/glade/change_password_dialog.glade.h:1
+msgid "Change Password"
+msgstr "Keisti slaptažodį"
+
+#: ../data/glade/change_password_dialog.glade.h:2
+msgid "Enter it again for confirmation:"
+msgstr "Įveskite jį dar kartą, dėl patvirtinimo:"
+
+#: ../data/glade/change_password_dialog.glade.h:3
+msgid "Enter new password:"
+msgstr "Įveskite naują slaptažodį:"
+
+#: ../data/glade/change_status_message_dialog.glade.h:1
+msgid "<b>Type your new status message</b>"
+msgstr "<b>Įveskite naują būklės žinutę</b>"
+
+#: ../data/glade/change_status_message_dialog.glade.h:2
+msgid "Preset messages:"
+msgstr "Nustatytos žinutės:"
+
+#: ../data/glade/change_status_message_dialog.glade.h:3
+msgid "Save as Preset..."
+msgstr "IÅ¡saugoti kaip nustatytÄ…..."
+
+#: ../data/glade/chat_context_menu.glade.h:1
+msgid "Join _Group Chat"
+msgstr "Prisijungti prie pokalbio grupÄ—je"
+
+#: ../data/glade/chat_context_menu.glade.h:2
+#: ../data/glade/roster_contact_context_menu.glade.h:12
+#, fuzzy
+msgid "_Add to Roster..."
+msgstr "Įtr_aukti į kontaktų sąrašą"
+
+#: ../data/glade/chat_context_menu.glade.h:3
+msgid "_Copy JID/Email Address"
+msgstr "_Kopijuoti JID/El. pašto adresą"
+
+#: ../data/glade/chat_context_menu.glade.h:4
+msgid "_Copy Link Location"
+msgstr "_Kopijuoti nuorodos adresÄ…"
+
+#: ../data/glade/chat_context_menu.glade.h:5
+msgid "_Open Email Composer"
+msgstr "_Atidaryti el. pašto programą"
+
+#: ../data/glade/chat_context_menu.glade.h:6
+msgid "_Open Link in Browser"
+msgstr "_Atverti nuorodą naršyklėje"
+
+#: ../data/glade/chat_context_menu.glade.h:7
+#: ../data/glade/subscription_request_popup_menu.glade.h:1
+#: ../data/glade/systray_context_menu.glade.h:7
+msgid "_Start Chat"
+msgstr "_Pradėti pokalbį"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:1
+msgid "Click to see past conversations with this contact"
+msgstr "Spauskite, kad pamatytumÄ—te buvusius pokalbius su Å¡iuo asmeniu"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:2
+msgid "Invite _Friends"
+msgstr ""
+
+#: ../data/glade/chat_control_popup_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:4
+msgid "Send _File"
+msgstr "Siųsti _Failą"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:4
+#, fuzzy
+msgid "Toggle End to End Encryption"
+msgstr "Įjungti Open_PGP kodavimą"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:5
+msgid "Toggle Open_PGP Encryption"
+msgstr "Įjungti Open_PGP kodavimą"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:4
+msgid "_Add to Roster"
+msgstr "Įtr_aukti į kontaktų sąrašą"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:7
+#: ../data/glade/gc_control_popup_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2567
+msgid "_History"
+msgstr "_Istorija"
+
+#: ../data/glade/data_form_window.glade.h:1
+msgid "Fill in the form."
+msgstr "Užpildykite formą."
+
+#: ../data/glade/data_form_window.glade.h:2
+msgid "Room Configuration"
+msgstr "Kambario nustatymai"
+
+#: ../data/glade/edit_groups_dialog.glade.h:1
+msgid "Edit Groups"
+msgstr "Keisti grupÄ™"
+
+#: ../data/glade/filetransfers.glade.h:1
+msgid "A list of active, completed and stopped file transfers"
+msgstr "Sąrašas aktyvių, baigtų ar sustabdytų failų siuntimų"
+
+#: ../data/glade/filetransfers.glade.h:2
+msgid "Cancel file transfer"
+msgstr "Atšaukti failo siuntimą"
+
+#: ../data/glade/filetransfers.glade.h:3
+msgid "Cancels the selected file transfer"
+msgstr "Atšaukti pažymėtų failų siuntimą"
+
+#: ../data/glade/filetransfers.glade.h:4
+msgid "Cancels the selected file transfer and removes incomplete file"
+msgstr "Atšaukti pažymėtų failų siuntimą ir ištrinti nepilnus failus"
+
+#: ../data/glade/filetransfers.glade.h:5
+msgid "Clean _up"
+msgstr "_IÅ¡valyti"
+
+#: ../data/glade/filetransfers.glade.h:6
+msgid "File Transfers"
+msgstr "Failų siuntimai"
+
+#: ../data/glade/filetransfers.glade.h:7
+msgid "Hides the window"
+msgstr "SlÄ—pti langÄ…"
+
+#: ../data/glade/filetransfers.glade.h:8
+msgid "Remove file transfer from the list."
+msgstr "Pašalinti failo siuntimą iš sąrašo."
+
+#: ../data/glade/filetransfers.glade.h:9
+msgid "Removes completed, cancelled and failed file transfers from the list"
+msgstr "Pašalinti užbaigtus, atšauktus ir lūžusius failų siuntimus iš sąrašo"
+
+#: ../data/glade/filetransfers.glade.h:10
+msgid "Shows a list of file transfers between you and others"
+msgstr "Rodyti failų siuntimų sąrašą tarp jūsų ir kitų"
+
+#: ../data/glade/filetransfers.glade.h:11
+msgid ""
+"This action removes single file transfer from the list. If the transfer is "
+"active, it is first stopped and then removed"
+msgstr ""
+"Šis veiksmas pašalins vieną failo siuntimą iš sąrašo. Jei failo siuntimas "
+"yra aktyvus, jis iš pradžių bus sustabdytas ir tada ištrintas"
+
+#: ../data/glade/filetransfers.glade.h:12
+msgid "When a file transfer is complete show a popup notification"
+msgstr "Rodyti pranešimą iššokstančiame lange, kai failo siuntimas baigsis  "
+
+#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:774
+msgid "_Continue"
+msgstr "_Tęsti"
+
+#: ../data/glade/filetransfers.glade.h:14
+msgid "_Notify me when a file transfer is complete"
+msgstr "_Pranešti, kai failo siuntimas bus baigtas"
+
+#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:186
+msgid "_Open Containing Folder"
+msgstr "_Atidaryti katalogÄ…, kuriame yra failas"
+
+#: ../data/glade/filetransfers.glade.h:16
+msgid "_Pause"
+msgstr "_PauzÄ—"
+
+#: ../data/glade/filetransfers.glade.h:17
+msgid "file transfers list"
+msgstr "failų siuntimų sąrašas"
+
+#: ../data/glade/gajim_themes_window.glade.h:1
+msgid "<b>Chatstate Tab Colors</b>"
+msgstr "<b>Pokalbių būklės žymių spalvos</b>"
+
+#: ../data/glade/gajim_themes_window.glade.h:2
+msgid ""
+"Account row\n"
+"Group row\n"
+"Contact row\n"
+"Chat Banner"
+msgstr ""
+"Prieigos eilutÄ—\n"
+"GrupÄ—s eilutÄ—\n"
+"Asmens eilutÄ—\n"
+"Pokalbio paveiksliukas"
+
+#: ../data/glade/gajim_themes_window.glade.h:6
+msgid "Bold"
+msgstr "Paryškintas"
+
+#: ../data/glade/gajim_themes_window.glade.h:7
+msgid "Composing"
+msgstr "Kuriama"
+
+#: ../data/glade/gajim_themes_window.glade.h:8
+msgid "Font style:"
+msgstr "Å rifto stilius:"
+
+#: ../data/glade/gajim_themes_window.glade.h:9
+msgid "Gajim Themes Customization"
+msgstr "Gajim temų keitimas"
+
+#: ../data/glade/gajim_themes_window.glade.h:10
+msgid "Gone"
+msgstr "Dingo"
+
+#: ../data/glade/gajim_themes_window.glade.h:11
+msgid "Inactive"
+msgstr "Neaktyvus"
+
+#: ../data/glade/gajim_themes_window.glade.h:12
+msgid "Italic"
+msgstr "Pasviręs"
+
+#: ../data/glade/gajim_themes_window.glade.h:13
+msgid ""
+"MUC\n"
+"Messages"
+msgstr ""
+"MUC\n"
+"Žinutės"
+
+#: ../data/glade/gajim_themes_window.glade.h:15
+msgid ""
+"MUC Directed\n"
+"Messages"
+msgstr ""
+"MUC skirtos\n"
+"Žinutės"
+
+#: ../data/glade/gajim_themes_window.glade.h:17
+msgid "Paused"
+msgstr "sustabdytas"
+
+#: ../data/glade/gajim_themes_window.glade.h:18
+msgid "Text _color:"
+msgstr "Teksto _spalva:"
+
+#: ../data/glade/gajim_themes_window.glade.h:19
+msgid "Text _font:"
+msgstr "Teksto Å¡ri_ftas:"
+
+#: ../data/glade/gajim_themes_window.glade.h:20
+msgid "_Background:"
+msgstr "_Fonas:"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:1
+#, fuzzy
+msgid "Change _Nickname..."
+msgstr "Keisti _slapyvardį"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:2
+#, fuzzy
+msgid "Change _Subject..."
+msgstr "Keisti _temÄ…"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:3
+msgid "Click to see past conversation in this room"
+msgstr "Spauskite, kad pamatytumÄ—te buvusius pokalbius Å¡iame kambaryje"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:4
+#, fuzzy
+msgid "Configure _Room..."
+msgstr "Keisti kambario nustatymus"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:5
+#, fuzzy
+msgid "_Bookmark"
+msgstr "Žy_mėti šį kambarį"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:6
+msgid "_Destroy Room"
+msgstr ""
+
+#: ../data/glade/gc_control_popup_menu.glade.h:8
+#, fuzzy
+msgid "_Manage Room"
+msgstr "Žymių valdymas"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:9
+msgid "_Minimize on close"
+msgstr ""
+
+#: ../data/glade/gc_occupants_menu.glade.h:1
+msgid "Mo_derator"
+msgstr "Mo_deratorius"
+
+#: ../data/glade/gc_occupants_menu.glade.h:2
+#, fuzzy
+msgid "Occupant Actions"
+msgstr "_Valdytojo Veiksmai"
+
+#: ../data/glade/gc_occupants_menu.glade.h:5
+msgid "_Admin"
+msgstr "_Adminas"
+
+#: ../data/glade/gc_occupants_menu.glade.h:6
+msgid "_Ban"
+msgstr "_Banas"
+
+#: ../data/glade/gc_occupants_menu.glade.h:8
+msgid "_Kick"
+msgstr "_IÅ¡spirti"
+
+#: ../data/glade/gc_occupants_menu.glade.h:9
+msgid "_Member"
+msgstr "_Dalyvis"
+
+#: ../data/glade/gc_occupants_menu.glade.h:10
+msgid "_Owner"
+msgstr "_Savininkas"
+
+#: ../data/glade/gc_occupants_menu.glade.h:11
+msgid "_Send Private Message"
+msgstr "_Siųsti privačią žinutę"
+
+#: ../data/glade/gc_occupants_menu.glade.h:12
+msgid "_Voice"
+msgstr "_Balsas"
+
+#: ../data/glade/groups_post_window.glade.h:1
+msgid "Create new post"
+msgstr "Kurti naują pranešimą"
+
+#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:271
+msgid "From"
+msgstr "Nuo"
+
+#. holds subject
+#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:142
+#: ../src/history_manager.py:173
+msgid "Subject"
+msgstr "Tema"
+
+#: ../data/glade/history_manager.glade.h:1
+msgid ""
+"<big><b>Welcome to Gajim History Logs Manager</b></big>\n"
+"\n"
+"You can select logs from the left and/or search database from below.\n"
+"\n"
+"<b>WARNING:</b>\n"
+"If you plan to do massive deletions, please make sure Gajim is not running. "
+"Generally avoid deletions with contacts you currently chat with."
+msgstr ""
+"<big><b>Gajim istorijos žurnalų valdymas</b></big>\n"
+"\n"
+"Galite pasirinkti žurnalą kairėje ir/arba žemiau ieškoti duomenų bazę.\n"
+"\n"
+"<b>ĮSPĖJIMAS:</b>\n"
+"Jei planuojate daryti daug trynimų, įsitikinkite, kad Gajim yra išjungtas. "
+"Stengitės netrinti iš asmenų su kuriais dabar bendraujate."
+
+#: ../data/glade/history_manager.glade.h:7
+msgid "Delete"
+msgstr "Trinti"
+
+#: ../data/glade/history_manager.glade.h:8
+msgid "Export"
+msgstr "Eksportuoti"
+
+#: ../data/glade/history_manager.glade.h:9
+msgid "Gajim History Logs Manager"
+msgstr "Gajim Istorijos Žurnalų Valdymas"
+
+#: ../data/glade/history_manager.glade.h:10
+msgid "_Search Database"
+msgstr "_Paieška duomenų bazėje"
+
+#: ../data/glade/history_window.glade.h:1
+#, fuzzy
+msgid "<b>History Viewer</b>"
+msgstr "<b>Taisyklių sąrašas</b>"
+
+#: ../data/glade/history_window.glade.h:2
+#, fuzzy
+msgid "<b>JID Selection</b>"
+msgstr "<b>Aprašymas</b>"
+
+#: ../data/glade/history_window.glade.h:3
+msgid "Build custom query"
+msgstr "Kurti kitokią užklausą"
+
+#: ../data/glade/history_window.glade.h:4 ../src/history_window.py:199
+msgid "Conversation History"
+msgstr "Pokalbio istorija"
+
+#: ../data/glade/history_window.glade.h:5
+msgid ""
+"Enter a contact jid or MUC jid here to view its history.\n"
+"If a contact is connected you can even enter his nick name.\n"
+msgstr ""
+
+#: ../data/glade/history_window.glade.h:8
+msgid "Query Builder..."
+msgstr "Užklasų kūrimas..."
+
+#: ../data/glade/history_window.glade.h:9
+msgid "Search"
+msgstr "Ieškoti"
+
+#: ../data/glade/history_window.glade.h:10
+#: ../data/glade/zeroconf_information_window.glade.h:10
+msgid "_Log conversation history"
+msgstr "_Registruoti pokalbio istorijÄ…"
+
+#: ../data/glade/history_window.glade.h:11 ../src/disco.py:1172
+msgid "_Search"
+msgstr "_Ieškoti"
+
+#: ../data/glade/invitation_received_dialog.glade.h:1
+msgid "Accept"
+msgstr "Priimti"
+
+#: ../data/glade/invitation_received_dialog.glade.h:2
+#: ../data/glade/privacy_list_window.glade.h:8
+msgid "Deny"
+msgstr "Atmesti"
+
+#: ../data/glade/invitation_received_dialog.glade.h:3
+msgid "Invitation Received"
+msgstr "Gautas pakvietimas"
+
+#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1265
+msgid "Join Group Chat"
+msgstr "Prisijungti prie pokalbio grupÄ—je"
+
+#: ../data/glade/join_groupchat_window.glade.h:2
+msgid "Join this room automatically when I connect"
+msgstr "Prisijungti prie šio kambario automatiškai."
+
+#: ../data/glade/join_groupchat_window.glade.h:3
+#: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/profile_window.glade.h:24
+#: ../data/glade/vcard_information_window.glade.h:31
+msgid "Nickname:"
+msgstr "Slapyvardis:"
+
+#: ../data/glade/join_groupchat_window.glade.h:4
+#: ../data/glade/manage_bookmarks_window.glade.h:6
+msgid "Password:"
+msgstr "Slaptažodis:"
+
+#: ../data/glade/join_groupchat_window.glade.h:5
+msgid "Recently:"
+msgstr "Nesenai:"
+
+#: ../data/glade/join_groupchat_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:8
+msgid "Room:"
+msgstr "Kambarys:"
+
+#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1160
+#: ../src/disco.py:1615
+msgid "_Join"
+msgstr "_Jungtis"
+
+#: ../data/glade/manage_accounts_window.glade.h:1
+msgid "Manage Accounts"
+msgstr "Prieigų valdymas"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:1
+msgid "Auto join"
+msgstr "Automatinis prsijungimas"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:2
+msgid "If checked, Gajim will join this group chat on startup"
+msgstr "Jei pažymėta, Gajim, startuodamas jungsis prie šio pokalbio grupėje"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:3
+msgid "Manage Bookmarks"
+msgstr "Žymių valdymas"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:4
+msgid "Minimize on Auto Join"
+msgstr ""
+
+#: ../data/glade/manage_bookmarks_window.glade.h:7
+msgid "Print status:"
+msgstr "Rodyti būklę:"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:9
+msgid "Server:"
+msgstr "Serveris:"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:10
+msgid "Title:"
+msgstr "Antraštė:"
+
+#: ../data/glade/manage_proxies_window.glade.h:1
+msgid "<b>Properties</b>"
+msgstr "<b>SavybÄ—s</b>"
+
+#: ../data/glade/manage_proxies_window.glade.h:2
+msgid "<b>Settings</b>"
+msgstr "<b>Nustatymai</b>"
+
+#: ../data/glade/manage_proxies_window.glade.h:3
+#, fuzzy
+msgid ""
+"HTTP Connect\n"
+"SOCKS5"
+msgstr "HTTP jungimÄ…sis"
+
+#: ../data/glade/manage_proxies_window.glade.h:5
+msgid "Manage Proxy Profiles"
+msgstr "Proxi profilių valdymas"
+
+#: ../data/glade/manage_proxies_window.glade.h:6
+#: ../data/glade/profile_window.glade.h:23
+#: ../data/glade/vcard_information_window.glade.h:30
+msgid "Name:"
+msgstr "Pavadinimas:"
+
+#: ../data/glade/manage_proxies_window.glade.h:7
+msgid "Pass_word:"
+msgstr "_Slaptažodis:"
+
+#: ../data/glade/manage_proxies_window.glade.h:8
+msgid "Type:"
+msgstr "Tipas:"
+
+#: ../data/glade/manage_proxies_window.glade.h:9
+msgid "Use authentication"
+msgstr "Naudoti autentifikacijÄ…"
+
+#: ../data/glade/manage_proxies_window.glade.h:10
+msgid "_Host:"
+msgstr "_Hostas:"
+
+#: ../data/glade/message_window.glade.h:1
+msgid "Click to insert an emoticon (Alt+M)"
+msgstr "Įterpti emocijų paveiksliuką (Alt+M)"
+
+#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1213
+msgid "OpenPGP Encryption"
+msgstr "OpenPGP Å ifravimas"
+
+#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
+#: ../data/glade/message_window.glade.h:4
+#: ../data/glade/roster_window.glade.h:12
+#: ../data/glade/subscription_request_window.glade.h:6
+msgid "_Actions"
+msgstr "_Veiksmai"
+
+#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
+#: ../data/glade/message_window.glade.h:6
+#: ../data/glade/xml_console_window.glade.h:11
+#: ../src/filetransfers_window.py:243
+msgid "_Send"
+msgstr "_Siųsti"
+
+#: ../data/glade/passphrase_dialog.glade.h:1
+msgid "Passphrase"
+msgstr "Slapta frazÄ—"
+
+#: ../data/glade/preferences_window.glade.h:1
+msgid "<b>Advanced Configuration Editor</b>"
+msgstr "<b>Išplėstinis konfigūracijos redaktorius</b>"
+
+#: ../data/glade/preferences_window.glade.h:2
+msgid "<b>Applications</b>"
+msgstr "<b>Programos</b>"
+
+#: ../data/glade/preferences_window.glade.h:3
+#, fuzzy
+msgid "<b>Chat Appearance</b>"
+msgstr "<b>Edit a rule</b>"
+
+#. a header for custom browser/client/file manager. so translate sth like: Custom Settings
+#: ../data/glade/preferences_window.glade.h:5
+msgid "<b>Custom</b>"
+msgstr "<b>Kitaip</b>"
+
+#: ../data/glade/preferences_window.glade.h:6
+msgid "<b>Format of a line</b>"
+msgstr "<b>EilutÄ—s formatas</b>"
+
+#: ../data/glade/preferences_window.glade.h:7
+msgid "<b>GMail Options</b>"
+msgstr "<b>GMail nustatymai</b>"
+
+#: ../data/glade/preferences_window.glade.h:9
+msgid "<b>Preset Status Messages</b>"
+msgstr "<b>Nustatytosios būklės žinutės</b>"
+
+#: ../data/glade/preferences_window.glade.h:10
+#, fuzzy
+msgid "<b>Privacy</b>"
+msgstr "<i>Privatus Sąrašas</i>"
+
+#: ../data/glade/preferences_window.glade.h:11
+msgid "<b>Roster Appearance</b>"
+msgstr ""
+
+#: ../data/glade/preferences_window.glade.h:13
+#, fuzzy
+msgid "<b>Themes</b>"
+msgstr "<b>SavybÄ—s</b>"
+
+#: ../data/glade/preferences_window.glade.h:14
+msgid "<b>Visual Notifications</b>"
+msgstr "<b>Vizualinis informavimas</b>"
+
+#: ../data/glade/preferences_window.glade.h:15
+msgid "Advanced"
+msgstr "IÅ¡plÄ—stinis"
+
+#: ../data/glade/preferences_window.glade.h:16
+msgid ""
+"All chat states\n"
+"Composing only\n"
+"Disabled"
+msgstr ""
+"Visos pokalbių būklės\n"
+"Tik rÄ…Å¡ant\n"
+"Uždrausta"
+
+#: ../data/glade/preferences_window.glade.h:19
+msgid "Allow _OS information to be sent"
+msgstr "Leisti siųsti informaciją apie _OS"
+
+#: ../data/glade/preferences_window.glade.h:20
+msgid "Allow popup/notifications when I'm _away/na/busy/invisible"
+msgstr ""
+"Leisti pop-up/informavimą, kai esu _nuėjęs/nepasiekamas/užimtas/namatomas"
+
+#: ../data/glade/preferences_window.glade.h:21
+msgid "Always check to see if Gajim is the _default Jabber client on startup"
+msgstr "Startuojant visada tikrinti ar Gajim yra pagrindinis Jabber klientas"
+
+#: ../data/glade/preferences_window.glade.h:22
+msgid ""
+"An example: If you have enabled status message for away, Gajim won't ask you "
+"anymore for a status message when you change your status to away; it will "
+"use the default one set here"
+msgstr ""
+"Pavyzdys: Jei esate nustatęs žinutę būklei - nuėjęs, Gajim daugiau neklaus "
+"kokią žinutę naudoti, kai nustatoma būklė - nuėjęs; bus naudojama "
+"standartinė arba čia nustatyta žinutė"
+
+#: ../data/glade/preferences_window.glade.h:23
+msgid "Ask status message when I:"
+msgstr "Prašyti įvesti būklės žinutę, kai aš:"
+
+#: ../data/glade/preferences_window.glade.h:24
+msgid "Auto _away after:"
+msgstr "Automatiškai keisti būklė į nuėjęs, po:"
+
+#: ../data/glade/preferences_window.glade.h:25
+msgid "Auto _not available after:"
+msgstr "Automatiškai keisti būklę į nepasiekamas, po:"
+
+#: ../data/glade/preferences_window.glade.h:26
+msgid ""
+"Autodetect on every Gajim startup\n"
+"Always use GNOME default applications\n"
+"Always use KDE default applications\n"
+"Always use XFCE4 default applications\n"
+"Custom"
+msgstr ""
+"Automatiškai aptikti, startuojant Gajim\n"
+"Visada naudoti GNOME programas pagal nutylÄ—jimÄ…\n"
+"Visada naudoti KDĘ programas pagal nutylėjimą\n"
+"Visada naudoti XFCE4 programas pagal nutylÄ—jimÄ…\n"
+"Kita"
+
+#: ../data/glade/preferences_window.glade.h:31
+msgid ""
+"Check this option, only if someone you don't have in the roster spams/annoys "
+"you. Use with caution, because it blocks all messages from any contact that "
+"is not in the roster"
+msgstr ""
+"Pažymėkite šį laukelį, tik jei kas nors, kas nėra jūsų kantaktų sąraše rašo "
+"jums nepageidaujamas žinutes. Naudokite atsargiai, nes šis dalykas blokuos "
+"vias žinutes, siunčiamas iš žmonių, kurie nėra Jūsų kontaktų sąraše."
+
+#: ../data/glade/preferences_window.glade.h:32
+msgid "Configure color and font of the interface"
+msgstr "Nustatyti sÄ…sajos spalvÄ… ir Å¡riftÄ…"
+
+#: ../data/glade/preferences_window.glade.h:33
+msgid "Default Status Messages"
+msgstr "Būklės žinutė, pagal nutylėjimą"
+
+#: ../data/glade/preferences_window.glade.h:34
+msgid ""
+"Determined by sender\n"
+"Chat message\n"
+"Single message"
+msgstr ""
+"Aptinkamas pagal siuntÄ—jÄ…\n"
+"Pokalbio žinutė\n"
+"Atskira žinutė"
+
+#: ../data/glade/preferences_window.glade.h:37
+msgid "Display _extra email details"
+msgstr "Rodyti papildomus _el. pašto duomenis"
+
+#: ../data/glade/preferences_window.glade.h:38
+msgid "Display a_vatars of contacts in roster"
+msgstr "Rodyti asmenų _paveiksliukus kontaktų sąraše"
+
+#: ../data/glade/preferences_window.glade.h:39
+msgid "Display status _messages of contacts in roster"
+msgstr "Rodyti asmenų _būklės žinutes kontaktų sąraše"
+
+#: ../data/glade/preferences_window.glade.h:40
+msgid "Emoticons:"
+msgstr "Rožiukai:"
+
+#: ../data/glade/preferences_window.glade.h:41
+msgid "Events"
+msgstr "Įvykiai"
+
+#: ../data/glade/preferences_window.glade.h:42
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"display in chat windows."
+msgstr ""
+"Gajim gali išsiųsti ir parsisiųsti meta-informaciją, susijusią su pokalbiu, "
+"kurį galite turėti su kokiu nors asmeniu. Čia jūs galite nurodyti kokią "
+"koduotę rodyti pokalbių languose."
+
+#: ../data/glade/preferences_window.glade.h:43
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"send to the other party."
+msgstr ""
+"Gajim gali išsiųsti ir parsisiųsti meta-informaciją, susijusią su pokalbiu, "
+"kurį galite turėti su kokiu nors asmeniu. Čia jūs galite nurodyti kokią "
+"koduotę išsiųsti kitai šaliai."
+
+#: ../data/glade/preferences_window.glade.h:44
+msgid ""
+"Gajim will notify you via a popup window in the bottom right of the screen "
+"about contacts that just signed out"
+msgstr ""
+"Gajim rodys pranešimus apie ką tik atsijungusius asmenis iššokančiame "
+"langelyje, dešiniajame apatiniame ekrano kampe"
+
+#: ../data/glade/preferences_window.glade.h:46
+#, fuzzy
+msgid "Hides buttons in chatwindows to "
+msgstr "Hides the buttons in group chat window."
+
+#: ../data/glade/preferences_window.glade.h:47
+msgid ""
+"If checked, Gajim will also include information about the sender of the new "
+"emails"
+msgstr ""
+"Jei pažymėsite, Gajim taip pat įtrauks informaciją apie naujo laiško siuntėją"
+
+#: ../data/glade/preferences_window.glade.h:48
+msgid ""
+"If checked, Gajim will display avatars of contacts in roster window and in "
+"group chats"
+msgstr ""
+"Jei pažymėta, Gajim rodys asmens paveiksliuką kontaktų sąraše ir pokalbio "
+"lange"
+
+#: ../data/glade/preferences_window.glade.h:49
+msgid ""
+"If checked, Gajim will display status messages of contacts under the contact "
+"name in roster window and in group chats"
+msgstr ""
+"Jei pažymėta, Gajim rodys žiničių būkles žemiau kontaktinio asmens vardo, "
+"kontaktų sąraše ir pokalbių grupėse"
+
+#: ../data/glade/preferences_window.glade.h:50
+msgid ""
+"If checked, Gajim will use protocol-specific status icons. (eg. A contact "
+"from MSN will have the equivalent msn icon for status online, away, busy, "
+"etc...)"
+msgstr ""
+"Jei pažymėta, Gajim naudos specifinius protokolo būklės paveiksliukus. "
+"(pvz.: asmuo iš MSN protokolo turės atitinkamą MSN paveiksliuką būklei "
+"„prisijungęs“, „nuėjęs“, „užimtas“ atvaizduoti... )"
+
+#: ../data/glade/preferences_window.glade.h:51
+msgid ""
+"If not disabled, Gajim will replace ascii smilies like ':)' with equivalent "
+"animated or static graphical emoticons"
+msgstr ""
+"Jei neišjungtas, Gajim automatiškai pakeis tekstines šypsenėles tokias kaip "
+"':)', į atitinkamus animuotus arba statinius paveiksliukus „rožiukus“"
+
+#: ../data/glade/preferences_window.glade.h:52
+msgid "Ignore rich content in incoming messages"
+msgstr "Ignoruoti formatuotą turinį ateinančioms žinutėms"
+
+#: ../data/glade/preferences_window.glade.h:53
+msgid "Ma_nage..."
+msgstr "Val_dyti..."
+
+#: ../data/glade/preferences_window.glade.h:54
+msgid ""
+"Never\n"
+"Always\n"
+"Per account\n"
+"Per type"
+msgstr ""
+"Niekada\n"
+"Visada\n"
+"Kiekvienam asmeniui\n"
+"Kiekvienam tipui"
+
+#: ../data/glade/preferences_window.glade.h:58
+#, fuzzy
+msgid "Notify me about contacts that sign _in"
+msgstr "Pranešk man apie asmenius, kurie: "
+
+#: ../data/glade/preferences_window.glade.h:59
+#, fuzzy
+msgid "Notify me about contacts that sign _out"
+msgstr "Pranešk man apie asmenius, kurie: "
+
+#: ../data/glade/preferences_window.glade.h:60
+msgid "Notify on new _GMail email"
+msgstr "Pranešk apie naujus _GMail laiškus"
+
+#: ../data/glade/preferences_window.glade.h:61
+msgid "Play _sounds"
+msgstr "Groti _garsus"
+
+#: ../data/glade/preferences_window.glade.h:62
+msgid ""
+"Pop it up\n"
+"Notify me about it\n"
+"Show only in roster"
+msgstr ""
+
+#: ../data/glade/preferences_window.glade.h:65
+msgid "Preferences"
+msgstr "Parinktys"
+
+#: ../data/glade/preferences_window.glade.h:66
+#, fuzzy
+msgid "Privacy"
+msgstr "Privatus sąrašas"
+
+#: ../data/glade/preferences_window.glade.h:67
+msgid "Set status message to reflect currently playing _music track"
+msgstr "Nustatyti būklės žinutę, atspindinčią grojamą _muzikinį takelį"
+
+#: ../data/glade/preferences_window.glade.h:68
+msgid "Sign _in"
+msgstr "Pr_isijungti"
+
+#: ../data/glade/preferences_window.glade.h:69
+msgid "Sign _out"
+msgstr "_Atsijungti"
+
+#: ../data/glade/preferences_window.glade.h:70
+msgid ""
+"Some messages may include rich content (formatting, colors etc). If checked, "
+"Gajim will just display the raw message text."
+msgstr ""
+"Kai kurios žinutės gali turėti formatuotą turinį (pastorinimai, spalvos ir "
+"pan.). Jei pažymėsite, Gajim rodys tiesiog tekstą, be jokių formatavimų."
+
+#: ../data/glade/preferences_window.glade.h:71
+msgid "Status"
+msgstr "BÅ«klÄ—"
+
+#: ../data/glade/preferences_window.glade.h:72
+#, fuzzy
+msgid "Status _iconset:"
+msgstr "Būklės p_iktogramų rinkinys, pagal nutylėjimą:"
+
+#: ../data/glade/preferences_window.glade.h:73
+msgid "T_heme:"
+msgstr "_Tema:"
+
+#: ../data/glade/preferences_window.glade.h:74
+msgid "The auto away status message"
+msgstr "Automatinio nuėjimo būklės pranešimas"
+
+#: ../data/glade/preferences_window.glade.h:75
+msgid "The auto not available status message"
+msgstr "Automatinio nebuvimo būklės žinutė"
+
+#: ../data/glade/preferences_window.glade.h:76
+msgid "Treat all incoming messages as:"
+msgstr "Laikyti visas įeinančias žinutes kaip:"
+
+#: ../data/glade/preferences_window.glade.h:77
+msgid "Use _transports iconsets"
+msgstr "Naudoti _pernašos paveiksliukus"
+
+#: ../data/glade/preferences_window.glade.h:78
+#, fuzzy
+msgid "Use only one message _window:"
+msgstr "Vienas žinučių langas:"
+
+#: ../data/glade/preferences_window.glade.h:79
+msgid "Use system _default"
+msgstr "Naudoti sisteminius nustatymus"
+
+#: ../data/glade/preferences_window.glade.h:80
+#, fuzzy
+msgid "When new event is received:"
+msgstr "Naujam įvykiui ivykus"
+
+#: ../data/glade/preferences_window.glade.h:81
+msgid ""
+"Works for Rhythmbox and Muine players. For more players, please visit http://"
+"trac.gajim.org/wiki/GajimAndMusicPlayer"
+msgstr ""
+"Veikia su Thythmbox ir Muine grotuvais. DÄ—l informacijos apie kitus grotuvus "
+"apsilankykite svetainÄ—je: http://trac.gajim.org/wiki/GajimAndMusicPlayer"
+
+#: ../data/glade/preferences_window.glade.h:82
+msgid "_Advanced Notifications Control..."
+msgstr "_Išplėstinis Pranešimų Valdymas..."
+
+#: ../data/glade/preferences_window.glade.h:83
+msgid "_Browser:"
+msgstr "_Naršyklė:"
+
+#: ../data/glade/preferences_window.glade.h:84
+#, fuzzy
+msgid "_Display chat state notifications:"
+msgstr "Rodyti _pokalbio būklės pranešimus:"
+
+#: ../data/glade/preferences_window.glade.h:85
+msgid "_File manager:"
+msgstr "_Failų menedžeris:"
+
+#: ../data/glade/preferences_window.glade.h:86
+msgid "_Font:"
+msgstr "Å ri_ftas:"
+
+#: ../data/glade/preferences_window.glade.h:87
+msgid "_Highlight misspelled words"
+msgstr "Žymėti žodžius su _gramatine klaida"
+
+#: ../data/glade/preferences_window.glade.h:88
+msgid "_Ignore events from contacts not in the roster"
+msgstr "_Ignoruoti įvykius nuo asmenų nesančių kontaktų sąraše"
+
+#: ../data/glade/preferences_window.glade.h:89
+msgid "_Incoming message:"
+msgstr "Į_einanti žinutė:"
+
+#: ../data/glade/preferences_window.glade.h:90
+msgid "_Log status changes of contacts"
+msgstr "_Registruoti asmenų būklės pakitimus"
+
+#: ../data/glade/preferences_window.glade.h:91
+msgid "_Mail client:"
+msgstr "_El. pašto programa:"
+
+#: ../data/glade/preferences_window.glade.h:92
+#, fuzzy
+msgid "_Make message windows compact"
+msgstr "Vienas žinučių langas:"
+
+#: ../data/glade/preferences_window.glade.h:93
+msgid "_Open..."
+msgstr "_Atidaryti..."
+
+#: ../data/glade/preferences_window.glade.h:94
+msgid "_Outgoing message:"
+msgstr "_Išeinanti žinutė:"
+
+#: ../data/glade/preferences_window.glade.h:95
+msgid "_Player:"
+msgstr "_Grotuvas:"
+
+#: ../data/glade/preferences_window.glade.h:96
+msgid "_Reset to Default Colors"
+msgstr "_Grąžinti buvusias spalvas pagal nutylėjimą"
+
+#: ../data/glade/preferences_window.glade.h:97
+#, fuzzy
+msgid "_Send chat state notifications:"
+msgstr "Rodyti _pokalbio būklės pranešimus:"
+
+#: ../data/glade/preferences_window.glade.h:98
+msgid "_Sort contacts by status"
+msgstr "_Rūšiuoti kontaktus pagal būklę"
+
+#: ../data/glade/preferences_window.glade.h:99
+msgid "_Status message:"
+msgstr "_Būklės pranešimas:"
+
+#: ../data/glade/preferences_window.glade.h:100
+msgid "_URL:"
+msgstr "_URL:"
+
+#: ../data/glade/preferences_window.glade.h:101
+msgid "minutes"
+msgstr "minutÄ—s"
+
+#: ../data/glade/privacy_lists_window.glade.h:1
+msgid "Privacy Lists:"
+msgstr "Privatūs Sąrašai:"
+
+#: ../data/glade/privacy_list_window.glade.h:1
+msgid "<b>Add / Edit a rule</b>"
+msgstr "<b>PridÄ—ti / Keisti taisyklÄ™</b>"
+
+#: ../data/glade/privacy_list_window.glade.h:2
+msgid "<b>List of rules</b>"
+msgstr "<b>Taisyklių sąrašas</b>"
+
+#: ../data/glade/privacy_list_window.glade.h:3
+msgid "<i>Privacy List</i>"
+msgstr "<i>Privatus Sąrašas</i>"
+
+#: ../data/glade/privacy_list_window.glade.h:4
+msgid "Active for this session"
+msgstr "Aktyvus Å¡iai sesijai"
+
+#: ../data/glade/privacy_list_window.glade.h:5
+msgid "Active on each startup"
+msgstr "Aktyvus kiekvieno paleidimo metu"
+
+#: ../data/glade/privacy_list_window.glade.h:6
+msgid "All"
+msgstr "Visi"
+
+#: ../data/glade/privacy_list_window.glade.h:7
+msgid "Allow"
+msgstr "Leisti"
+
+#: ../data/glade/privacy_list_window.glade.h:9
+msgid "JabberID"
+msgstr "JabberID"
+
+#: ../data/glade/privacy_list_window.glade.h:10
+msgid "Order:"
+msgstr "Tvarka:"
+
+#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2104
+msgid "Privacy List"
+msgstr "Privatus sąrašas"
+
+#: ../data/glade/privacy_list_window.glade.h:12
+msgid "all by subscription"
+msgstr "visus pagal užsisakymą"
+
+#: ../data/glade/privacy_list_window.glade.h:13
+msgid "all in the group"
+msgstr "visus grupÄ—je"
+
+#: ../data/glade/privacy_list_window.glade.h:14
+msgid ""
+"none\n"
+"both\n"
+"from\n"
+"to"
+msgstr ""
+"joks\n"
+"abu\n"
+"nuo\n"
+"kam"
+
+#: ../data/glade/privacy_list_window.glade.h:18
+msgid "to send me messages"
+msgstr "žinučių siuntimui"
+
+#: ../data/glade/privacy_list_window.glade.h:19
+msgid "to send me queries"
+msgstr "užklausimų siuntimui"
+
+#: ../data/glade/privacy_list_window.glade.h:20
+msgid "to send me status"
+msgstr "informavimui mane, apie būklę"
+
+#: ../data/glade/privacy_list_window.glade.h:21
+msgid "to view my status"
+msgstr "mano būklės peržiūrai"
+
+#. "About" is the text of a tab of vcard window
+#: ../data/glade/profile_window.glade.h:2
+#: ../data/glade/vcard_information_window.glade.h:2
+msgid "About"
+msgstr "Apie"
+
+#: ../data/glade/profile_window.glade.h:3
+#: ../data/glade/vcard_information_window.glade.h:3
+msgid "Address"
+msgstr "Adresas"
+
+#: ../data/glade/profile_window.glade.h:4
+msgid "Avatar:"
+msgstr "Atvaizdas:"
+
+#: ../data/glade/profile_window.glade.h:5
+#: ../data/glade/vcard_information_window.glade.h:6
+msgid "Birthday:"
+msgstr "Gimtadienis:"
+
+#: ../data/glade/profile_window.glade.h:6
+#: ../data/glade/vcard_information_window.glade.h:7
+msgid "City:"
+msgstr "Miestas:"
+
+#: ../data/glade/profile_window.glade.h:7
+msgid "Click to set your avatar"
+msgstr "Spauskia čia, kad įkeltum savo atvaizdą"
+
+#: ../data/glade/profile_window.glade.h:8
+#: ../data/glade/vcard_information_window.glade.h:10
+msgid "Company:"
+msgstr "Kompanija:"
+
+#: ../data/glade/profile_window.glade.h:9
+#: ../data/glade/vcard_information_window.glade.h:14
+msgid "Country:"
+msgstr "Å alis:"
+
+#: ../data/glade/profile_window.glade.h:10
+#: ../data/glade/vcard_information_window.glade.h:15
+msgid "Department:"
+msgstr "Skyrius:"
+
+#: ../data/glade/profile_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:17
+msgid "Extra Address:"
+msgstr "Papildomas adresas:"
+
+#. Family Name
+#: ../data/glade/profile_window.glade.h:14
+#: ../data/glade/vcard_information_window.glade.h:19
+msgid "Family:"
+msgstr "PavardÄ—:"
+
+#. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly)
+#: ../data/glade/profile_window.glade.h:16
+#: ../data/glade/vcard_information_window.glade.h:21
+msgid "Format: YYYY-MM-DD"
+msgstr "Formatas: YYYY-MM-DD"
+
+#: ../data/glade/profile_window.glade.h:17
+#: ../data/glade/vcard_information_window.glade.h:22
+#, fuzzy
+msgid "Full Name"
+msgstr "Name"
+
+#. Given Name
+#: ../data/glade/profile_window.glade.h:19
+#: ../data/glade/vcard_information_window.glade.h:24
+msgid "Given:"
+msgstr "Vardas:"
+
+#: ../data/glade/profile_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:25
+msgid "Homepage:"
+msgstr "AsmeninÄ— svetainÄ—:"
+
+#. Middle Name
+#: ../data/glade/profile_window.glade.h:22
+#: ../data/glade/vcard_information_window.glade.h:28
+msgid "Middle:"
+msgstr "Antras vardas:"
+
+#: ../data/glade/profile_window.glade.h:25
+#: ../data/glade/vcard_information_window.glade.h:34
+msgid "Personal Info"
+msgstr "AsmeninÄ— Informacija"
+
+#: ../data/glade/profile_window.glade.h:27
+#: ../data/glade/vcard_information_window.glade.h:35
+msgid "Phone No.:"
+msgstr "Tel. Nr.:"
+
+#: ../data/glade/profile_window.glade.h:28
+#: ../data/glade/vcard_information_window.glade.h:36
+msgid "Position:"
+msgstr "PadÄ—tis:"
+
+#: ../data/glade/profile_window.glade.h:29
+#: ../data/glade/vcard_information_window.glade.h:37
+msgid "Postal Code:"
+msgstr "Pašto kodas:"
+
+#. Prefix in Name
+#: ../data/glade/profile_window.glade.h:31
+#: ../data/glade/vcard_information_window.glade.h:39
+msgid "Prefix:"
+msgstr "Kreipinys:"
+
+#: ../data/glade/profile_window.glade.h:32
+#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:302
+msgid "Role:"
+msgstr "Funkcija:"
+
+#: ../data/glade/profile_window.glade.h:33
+#: ../data/glade/vcard_information_window.glade.h:42
+msgid "State:"
+msgstr "Valstija:"
+
+#: ../data/glade/profile_window.glade.h:34
+#: ../data/glade/vcard_information_window.glade.h:44
+msgid "Street:"
+msgstr "GatvÄ—:"
+
+#. Suffix in Name
+#: ../data/glade/profile_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:48
+msgid "Suffix:"
+msgstr "Vardo sufiksas:"
+
+#: ../data/glade/profile_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:50
+msgid "Work"
+msgstr "Darbas"
+
+#: ../data/glade/remove_account_window.glade.h:1
+msgid "<b>What do you want to do?</b>"
+msgstr "<b>KÄ… norÄ—tumÄ—te veikti?</b>"
+
+#: ../data/glade/remove_account_window.glade.h:2
+msgid "Remove account _only from Gajim"
+msgstr "Pašalinti prieigą, _tik iš Gajim"
+
+#: ../data/glade/remove_account_window.glade.h:3
+msgid "Remove account from Gajim and from _server"
+msgstr "Pašalinti prieigą ir iš Gajim ir iš _serverio"
+
+#. Remove
+#. Remove group
+#. Remove
+#: ../data/glade/remove_account_window.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../src/roster_window.py:2524 ../src/roster_window.py:2734
+#: ../src/roster_window.py:2870
+msgid "_Remove"
+msgstr "_Trinti"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:1
+msgid "A_sk to see his/her status"
+msgstr "Siųsti užklausimą, kad galėtumėte matyti jo/jos būklę"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:2
+#, fuzzy
+msgid "Add Special _Notification..."
+msgstr "Add Special _Notification"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:3
+#, fuzzy
+msgid "Assign Open_PGP Key..."
+msgstr "Priskirti Open_PGP RaktÄ…"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:4
+#, fuzzy
+msgid "Edit _Groups..."
+msgstr "Redaguoti _Grupes"
+
+#. Execute Command
+#: ../data/glade/roster_contact_context_menu.glade.h:5
+#: ../src/roster_window.py:2827
+msgid "Execute Command..."
+msgstr "Vykdyti KomandÄ…..."
+
+#. Invite to Groupchat
+#: ../data/glade/roster_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2440
+msgid "In_vite to"
+msgstr "Pak_viesti į"
+
+#. Send Custom Status
+#: ../data/glade/roster_contact_context_menu.glade.h:7
+#: ../src/roster_window.py:2664 ../src/roster_window.py:2798
+#, fuzzy
+msgid "Send Cus_tom Status"
+msgstr "Sends custom XML"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Send Single _Message..."
+msgstr "Siųsti ži_nutę..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:9
+#, fuzzy
+msgid "Send _File..."
+msgstr "Siųsti _Failą"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:10
+msgid "Set Custom _Avatar..."
+msgstr ""
+
+#: ../data/glade/roster_contact_context_menu.glade.h:11
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:5
+msgid "Start _Chat"
+msgstr "Pradėti _Pokalbį"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:13
+msgid "_Allow him/her to see my status"
+msgstr "_Leisti jam/jai matyti mano būklę"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:14
+#: ../src/roster_window.py:2514 ../src/roster_window.py:2725
+msgid "_Block"
+msgstr ""
+
+#: ../data/glade/roster_contact_context_menu.glade.h:15
+msgid "_Forbid him/her to see my status"
+msgstr "_Drausti jam/jai matyti mano būklę"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:17
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:7
+#, fuzzy
+msgid "_Manage Contact"
+msgstr "Rename Contact"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:19
+#, fuzzy
+msgid "_Rename..."
+msgstr "_Pervadinti"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:20
+msgid "_Subscription"
+msgstr "_Sutikimas"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:21
+#: ../src/roster_window.py:2508 ../src/roster_window.py:2719
+msgid "_Unblock"
+msgstr ""
+
+#: ../data/glade/roster_window.glade.h:1
+msgid "A_ccounts"
+msgstr "P_rieigos"
+
+#: ../data/glade/roster_window.glade.h:2
+#, fuzzy
+msgid "Add _Contact..."
+msgstr "_Įtraukti asmenį..."
+
+#: ../data/glade/roster_window.glade.h:3
+#, fuzzy
+msgid "Fea_tures"
+msgstr "Serverio teikiamos paslaugos"
+
+#: ../data/glade/roster_window.glade.h:4
+msgid "File _Transfers"
+msgstr "Failų _Siuntimai"
+
+#: ../data/glade/roster_window.glade.h:5
+msgid "Frequently Asked Questions (online)"
+msgstr "Dažniausiai Užduodami Klausimai (prisijungus)"
+
+#: ../data/glade/roster_window.glade.h:7
+msgid "Help online"
+msgstr "Pagalba tinkle"
+
+#: ../data/glade/roster_window.glade.h:9
+msgid "Profile, A_vatar"
+msgstr "Profilis, At_vaizdas"
+
+#: ../data/glade/roster_window.glade.h:10
+msgid "Show Trans_ports"
+msgstr "Rodyti _Pernašas"
+
+#: ../data/glade/roster_window.glade.h:11
+msgid "Show _Offline Contacts"
+msgstr "Rodyti _Atsijungusius Asmenis"
+
+#: ../data/glade/roster_window.glade.h:14
+msgid "_Contents"
+msgstr "_Turinys"
+
+#: ../data/glade/roster_window.glade.h:16 ../src/disco.py:1348
+msgid "_Edit"
+msgstr "_Redaguoti"
+
+#: ../data/glade/roster_window.glade.h:17
+msgid "_FAQ"
+msgstr "_DUK"
+
+#: ../data/glade/roster_window.glade.h:18
+msgid "_Help"
+msgstr "_Pagalba"
+
+#: ../data/glade/roster_window.glade.h:19
+msgid "_Preferences"
+msgstr "_Nustatymai"
+
+#: ../data/glade/roster_window.glade.h:20
+msgid "_Quit"
+msgstr "_IÅ¡jungti"
+
+#: ../data/glade/roster_window.glade.h:21
+#, fuzzy
+msgid "_Send Single Message..."
+msgstr "Siųsti ži_nutę..."
+
+#: ../data/glade/roster_window.glade.h:23
+msgid "_View"
+msgstr "_Rodinys"
+
+#: ../data/glade/service_discovery_window.glade.h:1
+msgid "G_o"
+msgstr "_Eik"
+
+#: ../data/glade/service_discovery_window.glade.h:2
+msgid "_Address:"
+msgstr "_Adresas:"
+
+#: ../data/glade/service_registration_window.glade.h:1
+msgid "Register to"
+msgstr "Registruotis prie"
+
+#: ../data/glade/service_registration_window.glade.h:2
+msgid "_Cancel"
+msgstr "_Atšaukti"
+
+#: ../data/glade/service_registration_window.glade.h:3
+msgid "_OK"
+msgstr "_OK"
+
+#: ../data/glade/single_message_window.glade.h:1
+msgid "0"
+msgstr "0"
+
+#: ../data/glade/single_message_window.glade.h:2
+msgid "From:"
+msgstr "Nuo:"
+
+#: ../data/glade/single_message_window.glade.h:3
+msgid "Reply to this message"
+msgstr "Atsakyti šiai žinutei"
+
+#: ../data/glade/single_message_window.glade.h:4
+msgid "Sen_d"
+msgstr "_Siųsti"
+
+#: ../data/glade/single_message_window.glade.h:5
+msgid "Send message"
+msgstr "Siųsti žinutę"
+
+#: ../data/glade/single_message_window.glade.h:6
+msgid "Send message and close window"
+msgstr "Išsiųsti žinutę ir uždaryti langą"
+
+#: ../data/glade/single_message_window.glade.h:7
+msgid "Subject:"
+msgstr "Tema:"
+
+#: ../data/glade/single_message_window.glade.h:8
+msgid "To:"
+msgstr "Kam:"
+
+#: ../data/glade/single_message_window.glade.h:9
+msgid "_Reply"
+msgstr "_Atsakyti"
+
+#: ../data/glade/single_message_window.glade.h:10
+msgid "_Send & Close"
+msgstr "_Išsiųsti "
+
+#: ../data/glade/subscription_request_window.glade.h:1
+msgid "Au_thorize"
+msgstr "Au_torizuoti"
+
+#: ../data/glade/subscription_request_window.glade.h:2
+msgid "Authorize contact so he or she can know when you're connected"
+msgstr "Autorizuoti asmenį, kad jis arba ji žinotu kada esate prisijungęs"
+
+#: ../data/glade/subscription_request_window.glade.h:3
+msgid ""
+"Deny authorization from contact so he or she cannot know when you're "
+"connected"
+msgstr ""
+"Drausti autorizacija Å¡iam asmeniui, jis arba ji negalÄ—s matyti ar esate "
+"prisijungęs"
+
+#: ../data/glade/subscription_request_window.glade.h:4
+msgid "Subscription Request"
+msgstr "Sutikimo užklausimas"
+
+#: ../data/glade/subscription_request_window.glade.h:7
+msgid "_Deny"
+msgstr "_Drausti"
+
+#: ../data/glade/systray_context_menu.glade.h:1
+msgid "Mute Sounds"
+msgstr "IÅ¡jungti Garsus"
+
+#: ../data/glade/systray_context_menu.glade.h:2
+msgid "Send Single _Message"
+msgstr "Siųsti Vieną Ži_nutę"
+
+#: ../data/glade/systray_context_menu.glade.h:3
+msgid "Show All Pending _Events"
+msgstr "Rodyti Visus Laukiančius Į_vykius"
+
+#: ../data/glade/systray_context_menu.glade.h:4
+msgid "Show _Roster"
+msgstr "Rodyk _Kontaktų Sąrašą"
+
+#: ../data/glade/systray_context_menu.glade.h:5
+msgid "Sta_tus"
+msgstr "_BÅ«klÄ—"
+
+#: ../data/glade/systray_context_menu.glade.h:6
+msgid "_Group Chat"
+msgstr "Pokalbiai _GrupÄ—je"
+
+#. Given Name
+#: ../data/glade/vcard_information_window.glade.h:5
+msgid "Ask:"
+msgstr "Klausti:"
+
+#: ../data/glade/vcard_information_window.glade.h:8
+msgid "Client:"
+msgstr "Klientas:"
+
+#: ../data/glade/vcard_information_window.glade.h:9
+msgid "Comments"
+msgstr "Komentarai"
+
+#: ../data/glade/vcard_information_window.glade.h:11
+#, fuzzy
+msgid "Configured avatar:"
+msgstr "Keisti kambario nustatymus"
+
+#: ../data/glade/vcard_information_window.glade.h:12
+#: ../data/glade/zeroconf_information_window.glade.h:1
+msgid "Contact"
+msgstr "Asmuo"
+
+#: ../data/glade/vcard_information_window.glade.h:13
+msgid "Contact Information"
+msgstr "Asmens Informacija"
+
+#: ../data/glade/vcard_information_window.glade.h:29
+msgid "More"
+msgstr "Daugiau"
+
+#: ../data/glade/vcard_information_window.glade.h:33
+msgid "OS:"
+msgstr "OS:"
+
+#: ../data/glade/vcard_information_window.glade.h:40
+#: ../data/glade/zeroconf_information_window.glade.h:8
+msgid "Resource:"
+msgstr "Å altinis:"
+
+#: ../data/glade/vcard_information_window.glade.h:43
+#: ../data/glade/zeroconf_information_window.glade.h:9
+msgid "Status:"
+msgstr "BÅ«klÄ—:"
+
+#. Family Name
+#: ../data/glade/vcard_information_window.glade.h:46
+msgid "Subscription:"
+msgstr "Sutikimas:"
+
+#: ../data/glade/vcard_information_window.glade.h:49
+#, fuzzy
+msgid "User avatar:"
+msgstr "Atvaizdas:"
+
+#: ../data/glade/xml_console_window.glade.h:1
+msgid "<b>Jabber Traffic</b>"
+msgstr "<b>Jabber Srautas</b>"
+
+#: ../data/glade/xml_console_window.glade.h:2
+msgid "<b>XML Input</b>"
+msgstr "<b>XML Įvestis</b>"
+
+#. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem)
+#: ../data/glade/xml_console_window.glade.h:6
+msgid "Info/Query"
+msgstr "Informacija/Užklausa"
+
+#. Info/Query: all(?) jabber xml start with <iq Leaving it _IQ is not a bad idea unless you are sure your lang has this somehow else translated (NOTE: xml still will still say <iq in your language (of course))
+#: ../data/glade/xml_console_window.glade.h:8
+msgid "_IQ"
+msgstr "_IQ"
+
+#: ../data/glade/xml_console_window.glade.h:9
+msgid "_Message"
+msgstr "Ži_nutė"
+
+#: ../data/glade/xml_console_window.glade.h:10
+msgid "_Presence"
+msgstr "_Buvimas"
+
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
+msgid "Add Special _Notification"
+msgstr "Add Special _Notification"
+
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
+msgid "Assign Open_PGP Key"
+msgstr "Priskirti Open_PGP RaktÄ…"
+
+#. Edit Groups
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
+#: ../src/roster_window.py:2497
+msgid "Edit _Groups"
+msgstr "Redaguoti _Grupes"
+
+#. Rename
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:8
+#: ../src/roster_window.py:2854
+msgid "_Rename"
+msgstr "_Pervadinti"
+
+#: ../data/glade/zeroconf_context_menu.glade.h:1
+msgid "_Modify Account..."
+msgstr "_Keisti PrieigÄ…..."
+
+#: ../data/glade/zeroconf_information_window.glade.h:6
+msgid "Local jid:"
+msgstr "Vietinis jid:"
+
+#: ../data/glade/zeroconf_information_window.glade.h:7
+msgid "Personal"
+msgstr "Asmeninis"
+
+#: ../data/glade/zeroconf_properties_window.glade.h:15
+msgid "Modify Account"
+msgstr "Keisti PrieigÄ…"
+
+#. For i18n
+#: ../src/advanced.py:51
+msgid "Activated"
+msgstr "Activated"
+
+#: ../src/advanced.py:51
+msgid "Deactivated"
+msgstr "Deactivated"
+
+#: ../src/advanced.py:53
+msgid "Boolean"
+msgstr "Boolean"
+
+#: ../src/advanced.py:54
+msgid "Integer"
+msgstr "Integer"
+
+#: ../src/advanced.py:55
+msgid "Text"
+msgstr "Text"
+
+#: ../src/advanced.py:56
+msgid "Color"
+msgstr "Colour"
+
+#: ../src/advanced.py:65
+msgid "Preference Name"
+msgstr "Preference Name"
+
+#: ../src/advanced.py:71
+msgid "Value"
+msgstr "Value"
+
+#: ../src/advanced.py:79
+msgid "Type"
+msgstr "Type"
+
+#. we talk about option description in advanced configuration editor
+#: ../src/advanced.py:136
+msgid "(None)"
+msgstr "(None)"
+
+#. we talk about password
+#: ../src/advanced.py:239
+msgid "Hidden"
+msgstr "Hidden"
+
+#. the next script, executed in the "po" directory,
+#. generates the following list.
+#. #!/bin/sh
+#. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
+#. echo "{_('en'):'en'",$LANG"}"
+#: ../src/chat_control.py:55
+msgid "English"
+msgstr "English"
+
+#: ../src/chat_control.py:55
+msgid "Belarusian"
+msgstr "Belarusian"
+
+#: ../src/chat_control.py:55
+msgid "Bulgarian"
+msgstr "Bulgarian"
+
+#: ../src/chat_control.py:55
+#, fuzzy
+msgid "Breton"
+msgstr "Briton"
+
+#: ../src/chat_control.py:55
+msgid "Czech"
+msgstr "Czech"
+
+#: ../src/chat_control.py:55
+msgid "German"
+msgstr "German"
+
+#: ../src/chat_control.py:55
+msgid "Greek"
+msgstr "Greek"
+
+#: ../src/chat_control.py:55
+msgid "British"
+msgstr "British"
+
+#: ../src/chat_control.py:55
+msgid "Esperanto"
+msgstr "Esperanto"
+
+#: ../src/chat_control.py:55
+msgid "Spanish"
+msgstr "Spanish"
+
+#: ../src/chat_control.py:55
+#, fuzzy
+msgid "Basque"
+msgstr "Basc"
+
+#: ../src/chat_control.py:55
+msgid "French"
+msgstr "French"
+
+#: ../src/chat_control.py:55
+msgid "Croatian"
+msgstr "Croatian"
+
+#: ../src/chat_control.py:55
+msgid "Italian"
+msgstr "Italian"
+
+#: ../src/chat_control.py:55
+msgid "Norwegian (b)"
+msgstr "Norwegian (b)"
+
+#: ../src/chat_control.py:55
+msgid "Dutch"
+msgstr "Dutch"
+
+#: ../src/chat_control.py:55
+msgid "Norwegian"
+msgstr "Norwegian"
+
+#: ../src/chat_control.py:55
+msgid "Polish"
+msgstr "Polish"
+
+#: ../src/chat_control.py:55
+msgid "Portuguese"
+msgstr "Portuguese"
+
+#: ../src/chat_control.py:55
+msgid "Brazilian Portuguese"
+msgstr "Brazilian Portuguese"
+
+#: ../src/chat_control.py:55
+msgid "Russian"
+msgstr "Russian"
+
+#: ../src/chat_control.py:55
+#, fuzzy
+msgid "Serbian"
+msgstr "German"
+
+#: ../src/chat_control.py:55
+msgid "Slovak"
+msgstr "Slovak"
+
+#: ../src/chat_control.py:55
+msgid "Swedish"
+msgstr "Swedish"
+
+#: ../src/chat_control.py:55
+msgid "Chinese (Ch)"
+msgstr "Chinese (Ch)"
+
+#: ../src/chat_control.py:283
+msgid "Spelling language"
+msgstr "Spelling language"
+
+#. we are not connected
+#: ../src/chat_control.py:306 ../src/chat_control.py:512
+msgid "A connection is not available"
+msgstr "A connection is not available"
+
+#: ../src/chat_control.py:307 ../src/chat_control.py:513
+msgid "Your message can not be sent until you are connected."
+msgstr "Your message can not be sent until you are connected."
+
+#: ../src/chat_control.py:1139
+#, python-format
+msgid "%(nickname)s from group chat %(room_name)s"
+msgstr "%(nickname)s from group chat %(room_name)s"
+
+#. we talk about a contact here
+#: ../src/chat_control.py:1227
+#, python-format
+msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
+msgstr "%s has not broadcast an OpenPGP key, nor has one been assigned"
+
+#: ../src/chat_control.py:1266 ../src/groupchat_control.py:1392
+#, python-format
+msgid "No such command: /%s (if you want to send this, prefix it with /say)"
+msgstr "No such command: /%s (if you want to send this, prefix it with /say)"
+
+#: ../src/chat_control.py:1273 ../src/groupchat_control.py:1415
+#, python-format
+msgid "Commands: %s"
+msgstr "Commands: %s"
+
+#: ../src/chat_control.py:1276 ../src/groupchat_control.py:1429
+#, python-format
+msgid "Usage: /%s, clears the text window."
+msgstr "Usage: /%s, clears the text window."
+
+#: ../src/chat_control.py:1279 ../src/groupchat_control.py:1434
+#, python-format
+msgid "Usage: /%s, hide the chat buttons."
+msgstr "Usage: /%s, hide the chat buttons."
+
+#: ../src/chat_control.py:1282 ../src/groupchat_control.py:1450
+#, python-format
+msgid ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+msgstr ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+
+#: ../src/chat_control.py:1286
+#, python-format
+msgid "Usage: /%s, sends a ping to the contact"
+msgstr ""
+
+#: ../src/chat_control.py:1289
+#, fuzzy, python-format
+msgid "Usage: /%s, send the message to the contact"
+msgstr "Usage: /%s, hide the chat buttons."
+
+#: ../src/chat_control.py:1292 ../src/groupchat_control.py:1473
+#, python-format
+msgid "No help info for /%s"
+msgstr "No help info for /%s"
+
+#: ../src/chat_control.py:1430 ../src/chat_control.py:1456
+msgid "Encryption enabled"
+msgstr "Encryption enabled"
+
+#: ../src/chat_control.py:1435
+msgid "Session WILL be logged"
+msgstr ""
+
+#: ../src/chat_control.py:1437
+msgid "Session WILL NOT be logged"
+msgstr ""
+
+#: ../src/chat_control.py:1444
+#, fuzzy
+msgid "The following message was NOT encrypted"
+msgstr "[This message is encrypted]"
+
+#: ../src/chat_control.py:1448 ../src/chat_control.py:1461
+#: ../src/chat_control.py:2090
+msgid "Encryption disabled"
+msgstr "Encryption disabled"
+
+#. add_to_roster_menuitem
+#: ../src/chat_control.py:1618 ../src/conversation_textview.py:562
+#: ../src/dialogs.py:674 ../src/gajim.py:894 ../src/gajim.py:895
+#: ../src/gajim.py:1364 ../src/roster_window.py:345
+#: ../src/roster_window.py:429 ../src/roster_window.py:1790
+#: ../src/roster_window.py:1800 ../src/roster_window.py:2039
+#: ../src/roster_window.py:2277 ../src/roster_window.py:3125
+#: ../src/roster_window.py:3332 ../src/roster_window.py:4692
+#: ../src/roster_window.py:4694 ../src/common/contacts.py:84
+#: ../src/common/helpers.py:44 ../src/common/helpers.py:258
+msgid "Not in Roster"
+msgstr "Not in Roster"
+
+#. %s is being replaced in the code with JID
+#: ../src/chat_control.py:1762
+#, python-format
+msgid "You just received a new message from \"%s\""
+msgstr "You just received a new message from \"%s\""
+
+#: ../src/chat_control.py:1763
+msgid ""
+"If you close this tab and you have history disabled, this message will be "
+"lost."
+msgstr ""
+"If you close this tab and you have history disabled, this message will be "
+"lost."
+
+#: ../src/config.py:122 ../src/config.py:544
+msgid "Disabled"
+msgstr "Disabled"
+
+#: ../src/config.py:288
+msgid "Active"
+msgstr "Active"
+
+#: ../src/config.py:296
+msgid "Event"
+msgstr "Event"
+
+#: ../src/config.py:617 ../src/dialogs.py:958
+#, python-format
+msgid "Dictionary for lang %s not available"
+msgstr "Dictionary for lang %s not available"
+
+#: ../src/config.py:618
+#, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option."
+msgstr ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option."
+
+#: ../src/config.py:969
+msgid "status message title"
+msgstr "status message title"
+
+#: ../src/config.py:969
+msgid "status message text"
+msgstr "status message text"
+
+#: ../src/config.py:1005
+msgid "First Message Received"
+msgstr "First Message Received"
+
+#: ../src/config.py:1006
+msgid "Next Message Received"
+msgstr "Next Message Received"
+
+#: ../src/config.py:1007
+msgid "Contact Connected"
+msgstr "Contact Connected"
+
+#: ../src/config.py:1008
+msgid "Contact Disconnected"
+msgstr "Contact Disconnected"
+
+#: ../src/config.py:1009
+msgid "Message Sent"
+msgstr "Message Sent"
+
+#: ../src/config.py:1010
+msgid "Group Chat Message Highlight"
+msgstr "Group Chat Message Highlight"
+
+#: ../src/config.py:1011
+msgid "Group Chat Message Received"
+msgstr "Group Chat Message Received"
+
+#: ../src/config.py:1018
+msgid "GMail Email Received"
+msgstr "GMail E-mail Received"
+
+#. Name column
+#: ../src/config.py:1287 ../src/dialogs.py:1397 ../src/dialogs.py:1461
+#: ../src/disco.py:736 ../src/disco.py:1559 ../src/disco.py:1805
+#: ../src/history_window.py:108
+msgid "Name"
+msgstr "Name"
+
+#: ../src/config.py:1395 ../src/common/config.py:375
+msgid "Be right back."
+msgstr "Be right back."
+
+#: ../src/config.py:1399
+msgid "Relogin now?"
+msgstr "Relogin now?"
+
+#: ../src/config.py:1400
+msgid "If you want all the changes to apply instantly, you must relogin."
+msgstr "If you want all the changes to apply instantly, you must relogin."
+
+#: ../src/config.py:1495 ../src/config.py:1594
+msgid "OpenPGP is not usable in this computer"
+msgstr "OpenPGP is not usable in this computer"
+
+#: ../src/config.py:1630 ../src/config.py:1674
+msgid "Unread events"
+msgstr "Unread events"
+
+#: ../src/config.py:1631
+msgid "Read all pending events before removing this account."
+msgstr "Read all pending events before removing this account."
+
+#: ../src/config.py:1660
+#, python-format
+msgid "You have opened chat in account %s"
+msgstr "You have opened chat in account %s"
+
+#: ../src/config.py:1661
+msgid "All chat and groupchat windows will be closed. Do you want to continue?"
+msgstr ""
+"All chat and groupchat windows will be closed. Do you want to continue?"
+
+#: ../src/config.py:1670
+msgid "You are currently connected to the server"
+msgstr "You are currently connected to the server"
+
+#: ../src/config.py:1671
+msgid "To change the account name, you must be disconnected."
+msgstr "To change the account name, you must be disconnected."
+
+#: ../src/config.py:1675
+msgid "To change the account name, you must read all pending events."
+msgstr "To change the account name, you must read all pending events."
+
+#: ../src/config.py:1681
+msgid "Account Name Already Used"
+msgstr "Account Name Already Used"
+
+#: ../src/config.py:1682
+msgid ""
+"This name is already used by another of your accounts. Please choose another "
+"name."
+msgstr ""
+"This name is already used by another of your accounts. Please choose another "
+"name."
+
+#: ../src/config.py:1686 ../src/config.py:1690
+msgid "Invalid account name"
+msgstr "Invalid account name"
+
+#: ../src/config.py:1687
+msgid "Account name cannot be empty."
+msgstr "Account name cannot be empty."
+
+#: ../src/config.py:1691
+msgid "Account name cannot contain spaces."
+msgstr "Account name cannot contain spaces."
+
+#: ../src/config.py:1755
+#, fuzzy
+msgid "Rename Account"
+msgstr "Prieigų valdymas"
+
+#: ../src/config.py:1756
+#, fuzzy, python-format
+msgid "Enter a new name for account %s"
+msgstr "Enter a new name for group %s"
+
+#: ../src/config.py:1774 ../src/config.py:1782 ../src/config.py:1822
+#: ../src/config.py:3048
+msgid "Invalid Jabber ID"
+msgstr "Invalid Jabber ID"
+
+#: ../src/config.py:1783
+msgid "A Jabber ID must be in the form \"user@servername\"."
+msgstr "A Jabber ID must be in the form \"user@servername\"."
+
+#: ../src/config.py:1968 ../src/config.py:3119
+msgid "Invalid entry"
+msgstr "Invalid entry"
+
+#: ../src/config.py:1969 ../src/config.py:3120
+msgid "Custom port must be a port number."
+msgstr "Custom port must be a port number."
+
+#: ../src/config.py:1990
+msgid "Failed to get secret keys"
+msgstr "Failed to get secret keys"
+
+#: ../src/config.py:1991
+msgid "There was a problem retrieving your OpenPGP secret keys."
+msgstr "There was a problem retrieving your OpenPGP secret keys."
+
+#: ../src/config.py:1994
+msgid "OpenPGP Key Selection"
+msgstr "OpenPGP Key Selection"
+
+#: ../src/config.py:1995
+msgid "Choose your OpenPGP key"
+msgstr "Choose your OpenPGP key"
+
+#: ../src/config.py:2052
+msgid "No such account available"
+msgstr "No such account available"
+
+#: ../src/config.py:2053
+msgid "You must create your account before editing your personal information."
+msgstr "You must create your account before editing your personal information."
+
+#: ../src/config.py:2060 ../src/dialogs.py:1244 ../src/dialogs.py:1385
+#: ../src/dialogs.py:1565 ../src/disco.py:420 ../src/profile_window.py:325
+msgid "You are not connected to the server"
+msgstr "You are not connected to the server"
+
+#: ../src/config.py:2061
+msgid "Without a connection, you can not edit your personal information."
+msgstr "Without a connection, you can not edit your personal information."
+
+#: ../src/config.py:2065
+msgid "Your server doesn't support Vcard"
+msgstr "Your server doesn't support Vcard"
+
+#: ../src/config.py:2066
+msgid "Your server can't save your personal information."
+msgstr "Your server can't save your personal information."
+
+#: ../src/config.py:2097
+msgid "Account Local already exists."
+msgstr "Account Local already exists."
+
+#: ../src/config.py:2098
+msgid "Please rename or remove it before enabling link-local messaging."
+msgstr "Please rename or remove it before enabling link-local messaging."
+
+#: ../src/config.py:2274
+#, python-format
+msgid "Edit %s"
+msgstr "Edit %s"
+
+#: ../src/config.py:2276
+#, python-format
+msgid "Register to %s"
+msgstr "Register to %s"
+
+#. list at the beginning
+#: ../src/config.py:2312
+msgid "Ban List"
+msgstr "Ban List"
+
+#: ../src/config.py:2313
+msgid "Member List"
+msgstr "Member List"
+
+#: ../src/config.py:2314
+msgid "Owner List"
+msgstr "Owner List"
+
+#: ../src/config.py:2315
+msgid "Administrator List"
+msgstr "Administrator List"
+
+#. Address column
+#. holds JID (who said this)
+#: ../src/config.py:2364 ../src/disco.py:743 ../src/history_manager.py:155
+msgid "JID"
+msgstr "JID"
+
+#: ../src/config.py:2372
+msgid "Reason"
+msgstr "Reason"
+
+#: ../src/config.py:2377
+msgid "Nick"
+msgstr "Nick"
+
+#: ../src/config.py:2381
+msgid "Role"
+msgstr "Role"
+
+#: ../src/config.py:2406
+msgid "Banning..."
+msgstr "Banning..."
+
+#. You can move '\n' before user@domain if that line is TOO BIG
+#: ../src/config.py:2408
+msgid ""
+"<b>Whom do you want to ban?</b>\n"
+"\n"
+msgstr ""
+"<b>Whom do you want to ban?</b>\n"
+"\n"
+
+#: ../src/config.py:2410
+msgid "Adding Member..."
+msgstr "Adding Member..."
+
+#: ../src/config.py:2411
+msgid ""
+"<b>Whom do you want to make a member?</b>\n"
+"\n"
+msgstr ""
+"<b>Whom do you want to make a member?</b>\n"
+"\n"
+
+#: ../src/config.py:2413
+msgid "Adding Owner..."
+msgstr "Adding Owner..."
+
+#: ../src/config.py:2414
+msgid ""
+"<b>Whom do you want to make an owner?</b>\n"
+"\n"
+msgstr ""
+"<b>Whom do you want to make an owner?</b>\n"
+"\n"
+
+#: ../src/config.py:2416
+msgid "Adding Administrator..."
+msgstr "Adding Administrator..."
+
+#: ../src/config.py:2417
+msgid ""
+"<b>Whom do you want to make an administrator?</b>\n"
+"\n"
+msgstr ""
+"<b>Whom do you want to make an administrator?</b>\n"
+"\n"
+
+#: ../src/config.py:2418
+msgid ""
+"Can be one of the following:\n"
+"1. user@domain/resource (only that resource matches).\n"
+"2. user@domain (any resource matches).\n"
+"3. domain/resource (only that resource matches).\n"
+"4. domain (the domain itself matches, as does any user@domain,\n"
+"domain/resource, or address containing a subdomain."
+msgstr ""
+"Can be one of the following:\n"
+"1. user@domain/resource (only that resource matches).\n"
+"2. user@domain (any resource matches).\n"
+"3. domain/resource (only that resource matches).\n"
+"4. domain (the domain itself matches, as does any user@domain,\n"
+"domain/resource, or address containing a subdomain."
+
+#: ../src/config.py:2522
+#, python-format
+msgid "Removing %s account"
+msgstr "Removing %s account"
+
+#: ../src/config.py:2539 ../src/gajim.py:1307 ../src/roster_window.py:3391
+msgid "Password Required"
+msgstr "Password Required"
+
+#: ../src/config.py:2540 ../src/roster_window.py:3387
+#, python-format
+msgid "Enter your password for account %s"
+msgstr "Enter your password for account %s"
+
+#: ../src/config.py:2541 ../src/roster_window.py:3392
+msgid "Save password"
+msgstr "Save password"
+
+#: ../src/config.py:2555
+#, python-format
+msgid "Account \"%s\" is connected to the server"
+msgstr "Account \"%s\" is connected to the server"
+
+#: ../src/config.py:2556
+msgid "If you remove it, the connection will be lost."
+msgstr "If you remove it, the connection will be lost."
+
+#: ../src/config.py:2649
+msgid "Default"
+msgstr "Default"
+
+#: ../src/config.py:2649
+msgid "?print_status:All"
+msgstr "All"
+
+#: ../src/config.py:2650
+msgid "Enter and leave only"
+msgstr "Enter and leave only"
+
+#: ../src/config.py:2651
+msgid "?print_status:None"
+msgstr "None"
+
+#: ../src/config.py:2720
+msgid "New Group Chat"
+msgstr "New Group Chat"
+
+#: ../src/config.py:2753
+msgid "This bookmark has invalid data"
+msgstr "This bookmark has invalid data"
+
+#: ../src/config.py:2754
+msgid ""
+"Please be sure to fill out server and room fields or remove this bookmark."
+msgstr ""
+"Please be sure to fill out server and room fields or remove this bookmark."
+
+#: ../src/config.py:3031
+msgid "Invalid username"
+msgstr "Invalid username"
+
+#: ../src/config.py:3033
+msgid "You must provide a username to configure this account."
+msgstr "You must provide a username to configure this account."
+
+#: ../src/config.py:3059
+msgid "Duplicate Jabber ID"
+msgstr "Duplicate Jabber ID"
+
+#: ../src/config.py:3060
+msgid "This account is already configured in Gajim."
+msgstr "This account is already configured in Gajim."
+
+#: ../src/config.py:3077
+msgid "Account has been added successfully"
+msgstr "Account has been added successfully"
+
+#: ../src/config.py:3078 ../src/config.py:3223
+msgid ""
+"You can set advanced account options by pressing the Advanced button, or "
+"later by choosing the Accounts menuitem under the Edit menu from the main "
+"window."
+msgstr ""
+"You can set advanced account options by pressing the Advanced button, or "
+"later by choosing the Accounts menuitem under the Edit menu from the main "
+"window."
+
+#: ../src/config.py:3095
+#, fuzzy
+msgid "Invalid server"
+msgstr "Invalid username"
+
+#: ../src/config.py:3096
+#, fuzzy
+msgid "Please provide a server on which you want to register."
+msgstr "Please specify the new nickname you want to use:"
+
+#: ../src/config.py:3202 ../src/config.py:3241
+msgid "An error occurred during account creation"
+msgstr "An error occurred during account creation"
+
+#: ../src/config.py:3222
+msgid "Your new account has been created successfully"
+msgstr "Your new account has been successfully created"
+
+#: ../src/config.py:3327
+msgid "Account name is in use"
+msgstr "Account name is in use"
+
+#: ../src/config.py:3328
+msgid "You already have an account using this name."
+msgstr "You already have an account using this name."
+
+#: ../src/conversation_textview.py:337
+msgid ""
+"Text below this line is what has been said since the last time you paid "
+"attention to this group chat"
+msgstr ""
+"Text below this line is what has been said since the last time you paid "
+"attention to this group chat"
+
+#: ../src/conversation_textview.py:409
+#, python-format
+msgid "_Actions for \"%s\""
+msgstr "_Actions for \"%s\""
+
+#: ../src/conversation_textview.py:421
+msgid "Read _Wikipedia Article"
+msgstr "Read _Wikipedia Article"
+
+#: ../src/conversation_textview.py:426
+msgid "Look it up in _Dictionary"
+msgstr "Look it up in _Dictionary"
+
+#. we must have %s in the url if not WIKTIONARY
+#: ../src/conversation_textview.py:442
+#, python-format
+msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
+msgstr "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
+
+#. we must have %s in the url
+#: ../src/conversation_textview.py:455
+#, python-format
+msgid "Web Search URL is missing an \"%s\""
+msgstr "Web Search URL is missing an \"%s\""
+
+#: ../src/conversation_textview.py:458
+msgid "Web _Search for it"
+msgstr "Web _Search for it"
+
+#: ../src/conversation_textview.py:464
+msgid "Open as _Link"
+msgstr "Open as _Link"
+
+#: ../src/conversation_textview.py:929
+msgid "Yesterday"
+msgstr "Yesterday"
+
+#. the number is >= 2
+#. %i is day in year (1-365), %d (1-31) we want %i
+#: ../src/conversation_textview.py:933
+#, python-format
+msgid "%i days ago"
+msgstr "%i days ago"
+
+#. if we have subject, show it too!
+#: ../src/conversation_textview.py:967
+#, python-format
+msgid "Subject: %s\n"
+msgstr "Subject: %s\n"
+
+#: ../src/dialogs.py:64
+#, python-format
+msgid "Contact name: <i>%s</i>"
+msgstr "Contact name: <i>%s</i>"
+
+#: ../src/dialogs.py:66
+#, python-format
+msgid "Jabber ID: <i>%s</i>"
+msgstr "Jabber ID: <i>%s</i>"
+
+#: ../src/dialogs.py:216
+msgid "Group"
+msgstr "Group"
+
+#: ../src/dialogs.py:223
+msgid "In the group"
+msgstr "In the group"
+
+#: ../src/dialogs.py:274
+msgid "KeyID"
+msgstr "KeyID"
+
+#: ../src/dialogs.py:277
+msgid "Contact name"
+msgstr "Contact name"
+
+#: ../src/dialogs.py:323
+#, python-format
+msgid "%s Status Message"
+msgstr "%s Status Message"
+
+#: ../src/dialogs.py:325
+msgid "Status Message"
+msgstr "Status Message"
+
+#: ../src/dialogs.py:425
+msgid "Save as Preset Status Message"
+msgstr "Save as Preset Status Message"
+
+#: ../src/dialogs.py:426
+msgid "Please type a name for this status message"
+msgstr "Please type a name for this status message"
+
+#: ../src/dialogs.py:437
+#, fuzzy
+msgid "Overwrite Status Message?"
+msgstr "Status Message"
+
+#: ../src/dialogs.py:438
+#, fuzzy
+msgid ""
+"This name is already used. Do you want to overwrite this status message?"
+msgstr ""
+"This name is already used by another of your accounts. Please choose another "
+"name."
+
+#: ../src/dialogs.py:454
+msgid "AIM Address:"
+msgstr "AIM Address:"
+
+#: ../src/dialogs.py:455
+msgid "GG Number:"
+msgstr "GG Number:"
+
+#: ../src/dialogs.py:456
+msgid "ICQ Number:"
+msgstr "ICQ Number:"
+
+#: ../src/dialogs.py:457
+msgid "MSN Address:"
+msgstr "MSN Address:"
+
+#: ../src/dialogs.py:458
+msgid "Yahoo! Address:"
+msgstr "Yahoo! Address:"
+
+#: ../src/dialogs.py:495
+#, python-format
+msgid "Please fill in the data of the contact you want to add in account %s"
+msgstr "Please fill in the data of the contact you want to add in account %s"
+
+#: ../src/dialogs.py:497
+msgid "Please fill in the data of the contact you want to add"
+msgstr "Please fill in the data of the contact you want to add"
+
+#: ../src/dialogs.py:654 ../src/dialogs.py:660
+msgid "Invalid User ID"
+msgstr "Invalid User ID"
+
+#: ../src/dialogs.py:661
+msgid "The user ID must not contain a resource."
+msgstr "The user ID must not contain a resource."
+
+#: ../src/dialogs.py:675
+msgid "Contact already in roster"
+msgstr "Contact already in roster"
+
+#: ../src/dialogs.py:676
+msgid "This contact is already listed in your roster."
+msgstr "This contact is already listed in your roster."
+
+#: ../src/dialogs.py:712
+msgid "User ID:"
+msgstr "User ID:"
+
+#: ../src/dialogs.py:774
+msgid "A GTK+ jabber client"
+msgstr "A GTK+ jabber client"
+
+#: ../src/dialogs.py:775
+msgid "GTK+ Version:"
+msgstr "GTK+ Version:"
+
+#: ../src/dialogs.py:776
+msgid "PyGTK Version:"
+msgstr "PyGTK Version:"
+
+#: ../src/dialogs.py:790
+msgid "Current Developers:"
+msgstr "Current Developers:"
+
+#: ../src/dialogs.py:792
+msgid "Past Developers:"
+msgstr "Past Developers:"
+
+#: ../src/dialogs.py:802
+msgid "THANKS:"
+msgstr "THANKS:"
+
+#. remove one english sentence
+#. and add it manually as translatable
+#: ../src/dialogs.py:808
+msgid "Last but not least, we would like to thank all the package maintainers."
+msgstr ""
+"Last but not least, we would like to thank all the package maintainers."
+
+#. here you write your name in the form Name FamilyName <someone@somewhere>
+#: ../src/dialogs.py:821
+msgid "translator-credits"
+msgstr "Jeff Bailes <thepizzaking@gmail.com>"
+
+#: ../src/dialogs.py:951
+#, python-format
+msgid "Unable to bind to port %s."
+msgstr "Unable to bind to port %s."
+
+#: ../src/dialogs.py:952
+msgid ""
+"Maybe you have another running instance of Gajim. File Transfer will be "
+"cancelled."
+msgstr ""
+"Maybe you have another running instance of Gajim. File Transfer will be "
+"cancelled."
+
+#: ../src/dialogs.py:959
+#, fuzzy, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option.\n"
+"\n"
+"Highlighting misspelled words feature will not be used"
+msgstr ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option."
+
+#: ../src/dialogs.py:1173
+#, python-format
+msgid "Subscription request for account %s from %s"
+msgstr "Subscription request for account %s from %s"
+
+#: ../src/dialogs.py:1176
+#, python-format
+msgid "Subscription request from %s"
+msgstr "Subscription request from %s"
+
+#: ../src/dialogs.py:1237 ../src/roster_window.py:763
+#, python-format
+msgid "You are already in group chat %s"
+msgstr "You are already in group chat %s"
+
+#: ../src/dialogs.py:1245
+msgid "You can not join a group chat unless you are connected."
+msgstr "You can not join a group chat unless you are connected."
+
+#: ../src/dialogs.py:1263
+#, python-format
+msgid "Join Group Chat with account %s"
+msgstr "Join Group Chat with account %s"
+
+#: ../src/dialogs.py:1333 ../src/dialogs.py:1339
+#: ../src/groupchat_control.py:1643
+msgid "Invalid group chat Jabber ID"
+msgstr "Invalid group chat Jabber ID"
+
+#: ../src/dialogs.py:1334 ../src/dialogs.py:1340
+#: ../src/groupchat_control.py:1644
+msgid "The group chat Jabber ID has not allowed characters."
+msgstr "The group chat Jabber ID has invalid characters."
+
+#: ../src/dialogs.py:1346
+msgid "This is not a group chat"
+msgstr "This is not a group chat"
+
+#: ../src/dialogs.py:1347
+#, python-format
+msgid "%s is not the name of a group chat."
+msgstr "%s is not the name of a group chat."
+
+#: ../src/dialogs.py:1386
+#, fuzzy
+msgid "Without a connection, you can not synchronise your contacts."
+msgstr "Without a connection, you can not change your password."
+
+#: ../src/dialogs.py:1400
+msgid "Server"
+msgstr "Server"
+
+#: ../src/dialogs.py:1433
+#, fuzzy
+msgid "This account is not connected to the server"
+msgstr "Account \"%s\" is connected to the server"
+
+#: ../src/dialogs.py:1434
+#, fuzzy
+msgid "You cannot synchronize with an account unless it is connected."
+msgstr "You can not join a group chat unless you are connected."
+
+#: ../src/dialogs.py:1458
+msgid "Synchronise"
+msgstr ""
+
+#: ../src/dialogs.py:1516
+#, python-format
+msgid "Start Chat with account %s"
+msgstr "Start Chat with account %s"
+
+#: ../src/dialogs.py:1518
+msgid "Start Chat"
+msgstr "Start Chat"
+
+#: ../src/dialogs.py:1519
+msgid ""
+"Fill in the nickname or the Jabber ID of the contact you would like\n"
+"to send a chat message to:"
+msgstr ""
+"Fill in the nickname or the Jabber ID of the contact you would like\n"
+"to send a chat message to:"
+
+#. if offline or connecting
+#: ../src/dialogs.py:1544 ../src/dialogs.py:1891 ../src/dialogs.py:2027
+msgid "Connection not available"
+msgstr "Connection not available"
+
+#: ../src/dialogs.py:1545 ../src/dialogs.py:1892 ../src/dialogs.py:2028
+#, python-format
+msgid "Please make sure you are connected with \"%s\"."
+msgstr "Please make sure you are connected with \"%s\"."
+
+#: ../src/dialogs.py:1554 ../src/dialogs.py:1557
+msgid "Invalid JID"
+msgstr "Invalid JID"
+
+#: ../src/dialogs.py:1557
+#, python-format
+msgid "Unable to parse \"%s\"."
+msgstr "Unable to parse \"%s\"."
+
+#: ../src/dialogs.py:1566
+msgid "Without a connection, you can not change your password."
+msgstr "Without a connection, you can not change your password."
+
+#: ../src/dialogs.py:1584
+msgid "Invalid password"
+msgstr "Invalid password"
+
+#: ../src/dialogs.py:1585
+msgid "You must enter a password."
+msgstr "You must enter a password."
+
+#: ../src/dialogs.py:1589
+msgid "Passwords do not match"
+msgstr "Passwords do not match"
+
+#: ../src/dialogs.py:1590
+msgid "The passwords typed in both fields must be identical."
+msgstr "The passwords typed in both fields must be identical."
+
+#. img to display
+#. default value
+#: ../src/dialogs.py:1632 ../src/notify.py:219 ../src/notify.py:429
+msgid "Contact Signed In"
+msgstr "Contact Signed In"
+
+#: ../src/dialogs.py:1634 ../src/notify.py:227 ../src/notify.py:431
+msgid "Contact Signed Out"
+msgstr "Contact Signed Out"
+
+#. chat message
+#: ../src/dialogs.py:1636 ../src/notify.py:250 ../src/notify.py:433
+msgid "New Message"
+msgstr "New Message"
+
+#. single message
+#: ../src/dialogs.py:1636 ../src/notify.py:231 ../src/notify.py:433
+msgid "New Single Message"
+msgstr "New Single Message"
+
+#. private message
+#: ../src/dialogs.py:1637 ../src/notify.py:238 ../src/notify.py:434
+msgid "New Private Message"
+msgstr "New Private Message"
+
+#: ../src/dialogs.py:1637 ../src/gajim.py:1460 ../src/notify.py:442
+msgid "New E-mail"
+msgstr "New E-mail"
+
+#: ../src/dialogs.py:1639 ../src/gajim.py:1668 ../src/notify.py:436
+msgid "File Transfer Request"
+msgstr "File Transfer Request"
+
+#: ../src/dialogs.py:1641 ../src/gajim.py:1432 ../src/gajim.py:1644
+#: ../src/notify.py:438
+msgid "File Transfer Error"
+msgstr "File Transfer Error"
+
+#: ../src/dialogs.py:1643 ../src/gajim.py:1707 ../src/gajim.py:1729
+#: ../src/gajim.py:1746 ../src/notify.py:440
+msgid "File Transfer Completed"
+msgstr "File Transfer Completed"
+
+#: ../src/dialogs.py:1644 ../src/gajim.py:1710 ../src/notify.py:440
+msgid "File Transfer Stopped"
+msgstr "File Transfer Stopped"
+
+#: ../src/dialogs.py:1646 ../src/gajim.py:1328 ../src/notify.py:444
+msgid "Groupchat Invitation"
+msgstr "Groupchat Invitation"
+
+#: ../src/dialogs.py:1648 ../src/notify.py:211 ../src/notify.py:446
+msgid "Contact Changed Status"
+msgstr "Contact Changed Status"
+
+#: ../src/dialogs.py:1821
+#, python-format
+msgid "Single Message using account %s"
+msgstr "Single Message using account %s"
+
+#: ../src/dialogs.py:1823
+#, python-format
+msgid "Single Message in account %s"
+msgstr "Single Message in account %s"
+
+#: ../src/dialogs.py:1825
+msgid "Single Message"
+msgstr "Single Message"
+
+#. prepare UI for Sending
+#: ../src/dialogs.py:1828
+#, python-format
+msgid "Send %s"
+msgstr "Send %s"
+
+#. prepare UI for Receiving
+#: ../src/dialogs.py:1851
+#, python-format
+msgid "Received %s"
+msgstr "Received %s"
+
+#. we create a new blank window to send and we preset RE: and to jid
+#: ../src/dialogs.py:1928
+#, python-format
+msgid "RE: %s"
+msgstr "RE: %s"
+
+#: ../src/dialogs.py:1929
+#, python-format
+msgid "%s wrote:\n"
+msgstr "%s wrote:\n"
+
+#: ../src/dialogs.py:1973
+#, python-format
+msgid "XML Console for %s"
+msgstr "XML Console for %s"
+
+#: ../src/dialogs.py:1975
+msgid "XML Console"
+msgstr "XML Console"
+
+#: ../src/dialogs.py:2098
+#, python-format
+msgid "Privacy List <b><i>%s</i></b>"
+msgstr "Privacy List <b><i>%s</i></b>"
+
+#: ../src/dialogs.py:2102
+#, python-format
+msgid "Privacy List for %s"
+msgstr "Privacy List for %s"
+
+#: ../src/dialogs.py:2158
+#, python-format
+msgid "Order: %s, action: %s, type: %s, value: %s"
+msgstr "Order: %s, action: %s, type: %s, value: %s"
+
+#: ../src/dialogs.py:2161
+#, python-format
+msgid "Order: %s, action: %s"
+msgstr "Order: %s, action: %s"
+
+#: ../src/dialogs.py:2203
+msgid "<b>Edit a rule</b>"
+msgstr "<b>Edit a rule</b>"
+
+#: ../src/dialogs.py:2290
+msgid "<b>Add a rule</b>"
+msgstr "<b>Add a rule</b>"
+
+#: ../src/dialogs.py:2386
+#, python-format
+msgid "Privacy Lists for %s"
+msgstr "Privacy Lists for %s"
+
+#: ../src/dialogs.py:2388
+msgid "Privacy Lists"
+msgstr "Privacy Lists"
+
+#: ../src/dialogs.py:2458
+msgid "Invalid List Name"
+msgstr "Invalid List Name"
+
+#: ../src/dialogs.py:2459
+msgid "You must enter a name to create a privacy list."
+msgstr "You must enter a name to create a privacy list."
+
+#: ../src/dialogs.py:2496
+#, fuzzy
+msgid "$Contact has invited you to join a discussion"
+msgstr "$Contact has invited you to group chat %(room_jid)s"
+
+#: ../src/dialogs.py:2498
+#, python-format
+msgid "$Contact has invited you to group chat %(room_jid)s"
+msgstr "$Contact has invited you to group chat %(room_jid)s"
+
+#. only if not None and not ''
+#: ../src/dialogs.py:2510
+#, python-format
+msgid "Comment: %s"
+msgstr "Comment: %s"
+
+#: ../src/dialogs.py:2576
+msgid "Choose Sound"
+msgstr "Choose Sound"
+
+#: ../src/dialogs.py:2586 ../src/dialogs.py:2634
+msgid "All files"
+msgstr "All files"
+
+#: ../src/dialogs.py:2591
+msgid "Wav Sounds"
+msgstr "Wav Sounds"
+
+#: ../src/dialogs.py:2624
+msgid "Choose Image"
+msgstr "Choose Image"
+
+#: ../src/dialogs.py:2639
+msgid "Images"
+msgstr "Images"
+
+#: ../src/dialogs.py:2703
+#, python-format
+msgid "When %s becomes:"
+msgstr "When %s becomes:"
+
+#: ../src/dialogs.py:2705
+#, python-format
+msgid "Adding Special Notification for %s"
+msgstr "Adding Special Notification for %s"
+
+#. # means number
+#: ../src/dialogs.py:2776
+msgid "#"
+msgstr "#"
+
+#: ../src/dialogs.py:2782
+msgid "Condition"
+msgstr "Condition"
+
+#: ../src/dialogs.py:2900
+msgid "when I am "
+msgstr "when I am "
+
+#: ../src/disco.py:104
+msgid "Others"
+msgstr "Others"
+
+#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1345
+#: ../src/gajim.py:644 ../src/roster_window.py:282 ../src/roster_window.py:342
+#: ../src/roster_window.py:382 ../src/roster_window.py:490
+#: ../src/roster_window.py:522 ../src/roster_window.py:524
+#: ../src/roster_window.py:4688 ../src/roster_window.py:4690
+#: ../src/common/contacts.py:290 ../src/common/contacts.py:305
+#: ../src/common/helpers.py:44
+msgid "Transports"
+msgstr "Transports"
+
+#. conference is a category for listing mostly groupchats in service discovery
+#: ../src/disco.py:108
+msgid "Conference"
+msgstr "Conference"
+
+#: ../src/disco.py:421
+msgid "Without a connection, you can not browse available services"
+msgstr "Without a connection, you can not browse available services"
+
+#: ../src/disco.py:495
+#, python-format
+msgid "Service Discovery using account %s"
+msgstr "Service Discovery using account %s"
+
+#: ../src/disco.py:497
+msgid "Service Discovery"
+msgstr "Service Discovery"
+
+#: ../src/disco.py:637
+msgid "The service could not be found"
+msgstr "The service could not be found"
+
+#: ../src/disco.py:638
+msgid ""
+"There is no service at the address you entered, or it is not responding. "
+"Check the address and try again."
+msgstr ""
+"There is no service at the address you entered, or it is not responding. "
+"Check the address and try again."
+
+#: ../src/disco.py:642 ../src/disco.py:923
+msgid "The service is not browsable"
+msgstr "The service is not browsable"
+
+#: ../src/disco.py:643
+msgid "This type of service does not contain any items to browse."
+msgstr "This type of service does not contain any items to browse."
+
+#: ../src/disco.py:723
+#, python-format
+msgid "Browsing %s using account %s"
+msgstr "Browsing %s using account %s"
+
+#: ../src/disco.py:762
+msgid "_Browse"
+msgstr "_Browse"
+
+#: ../src/disco.py:924
+msgid "This service does not contain any items to browse."
+msgstr "This service does not contain any items to browse."
+
+#: ../src/disco.py:1142
+#, fuzzy
+msgid "_Execute Command"
+msgstr "_Vykdyti komandÄ…..."
+
+#: ../src/disco.py:1152 ../src/disco.py:1350
+msgid "Re_gister"
+msgstr "Re_gister"
+
+#: ../src/disco.py:1387
+#, python-format
+msgid "Scanning %d / %d.."
+msgstr "Scanning %d / %d.."
+
+#. Users column
+#: ../src/disco.py:1569
+msgid "Users"
+msgstr "Users"
+
+#. Description column
+#: ../src/disco.py:1577
+msgid "Description"
+msgstr "Description"
+
+#. Id column
+#: ../src/disco.py:1585
+msgid "Id"
+msgstr "Id"
+
+#: ../src/disco.py:1814
+msgid "Subscribed"
+msgstr "Subscribed"
+
+#: ../src/disco.py:1822
+#, fuzzy
+msgid "Node"
+msgstr "Joks"
+
+#: ../src/disco.py:1879
+msgid "New post"
+msgstr "New post"
+
+#: ../src/disco.py:1885
+msgid "_Subscribe"
+msgstr "_Subscribe"
+
+#: ../src/disco.py:1891
+msgid "_Unsubscribe"
+msgstr "_Unsubscribe"
+
+#: ../src/filetransfers_window.py:72
+msgid "File"
+msgstr "File"
+
+#: ../src/filetransfers_window.py:87
+msgid "Time"
+msgstr "Time"
+
+#: ../src/filetransfers_window.py:99
+msgid "Progress"
+msgstr "Progress"
+
+#: ../src/filetransfers_window.py:159 ../src/filetransfers_window.py:213
+#, python-format
+msgid "Filename: %s"
+msgstr "Filename: %s"
+
+#: ../src/filetransfers_window.py:160 ../src/filetransfers_window.py:288
+#, python-format
+msgid "Size: %s"
+msgstr "Size: %s"
+
+#. You is a reply of who sent a file
+#. You is a reply of who received a file
+#: ../src/filetransfers_window.py:169 ../src/filetransfers_window.py:179
+#: ../src/history_manager.py:463
+msgid "You"
+msgstr "You"
+
+#: ../src/filetransfers_window.py:170
+#, python-format
+msgid "Sender: %s"
+msgstr "Sender: %s"
+
+#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:577
+#: ../src/tooltips.py:586
+msgid "Recipient: "
+msgstr "Recipient: "
+
+#: ../src/filetransfers_window.py:182
+#, python-format
+msgid "Saved in: %s"
+msgstr "Saved in: %s"
+
+#: ../src/filetransfers_window.py:184
+msgid "File transfer completed"
+msgstr "File transfer completed"
+
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:204
+msgid "File transfer cancelled"
+msgstr "File transfer cancelled"
+
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:205
+msgid "Connection with peer cannot be established."
+msgstr "Connection with peer cannot be established."
+
+#: ../src/filetransfers_window.py:214
+#, python-format
+msgid "Recipient: %s"
+msgstr "Recipient: %s"
+
+#: ../src/filetransfers_window.py:216
+#, python-format
+msgid "Error message: %s"
+msgstr "Error message: %s"
+
+#: ../src/filetransfers_window.py:217
+msgid "File transfer stopped by the contact at the other end"
+msgstr "File transfer stopped by the contact at the other end"
+
+#: ../src/filetransfers_window.py:234
+msgid "Choose File to Send..."
+msgstr "Choose File to Send..."
+
+#: ../src/filetransfers_window.py:253
+msgid "Gajim cannot access this file"
+msgstr "Gajim cannot access this file"
+
+#: ../src/filetransfers_window.py:254
+msgid "This file is being used by another process."
+msgstr "This file is being used by another process."
+
+#: ../src/filetransfers_window.py:286
+#, python-format
+msgid "File: %s"
+msgstr "File: %s"
+
+#: ../src/filetransfers_window.py:291
+#, python-format
+msgid "Type: %s"
+msgstr "Type: %s"
+
+#: ../src/filetransfers_window.py:293
+#, python-format
+msgid "Description: %s"
+msgstr "Description: %s"
+
+#: ../src/filetransfers_window.py:294
+#, python-format
+msgid "%s wants to send you a file:"
+msgstr "%s wants to send you a file:"
+
+#: ../src/filetransfers_window.py:308 ../src/gtkgui_helpers.py:767
+#, python-format
+msgid "Cannot overwrite existing file \"%s\""
+msgstr "Cannot overwrite existing file \"%s\""
+
+#: ../src/filetransfers_window.py:309 ../src/gtkgui_helpers.py:769
+msgid ""
+"A file with this name already exists and you do not have permission to "
+"overwrite it."
+msgstr ""
+"A file with this name already exists and you do not have permission to "
+"overwrite it."
+
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:773
+msgid "This file already exists"
+msgstr "This file already exists"
+
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:773
+msgid "What do you want to do?"
+msgstr "What do you want to do?"
+
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:783
+#, python-format
+msgid "Directory \"%s\" is not writable"
+msgstr "Directory \"%s\" is not writable"
+
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:784
+msgid "You do not have permission to create files in this directory."
+msgstr "You do not have permission to create files in this directory."
+
+#: ../src/filetransfers_window.py:338
+msgid "Save File as..."
+msgstr "Save File as..."
+
+#. Print remaining time in format 00:00:00
+#. You can change the places of (hours), (minutes), (seconds) -
+#. they are not translatable.
+#: ../src/filetransfers_window.py:419
+#, python-format
+msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
+msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
+
+#. This should make the string Kb/s,
+#. where 'Kb' part is taken from %s.
+#. Only the 's' after / (which means second) should be translated.
+#: ../src/filetransfers_window.py:508
+#, python-format
+msgid "(%(filesize_unit)s/s)"
+msgstr "(%(filesize_unit)s/s)"
+
+#: ../src/filetransfers_window.py:547 ../src/filetransfers_window.py:550
+msgid "Invalid File"
+msgstr "Invalid File"
+
+#: ../src/filetransfers_window.py:547
+msgid "File: "
+msgstr "File: "
+
+#: ../src/filetransfers_window.py:551
+msgid "It is not possible to send empty files"
+msgstr "It is not possible to send empty files"
+
+#: ../src/filetransfers_window.py:573 ../src/tooltips.py:576
+msgid "Name: "
+msgstr "Name: "
+
+#: ../src/filetransfers_window.py:575 ../src/tooltips.py:580
+msgid "Sender: "
+msgstr "Sender: "
+
+#: ../src/filetransfers_window.py:763
+msgid "Pause"
+msgstr "Pause"
+
+#: ../src/gajim.py:50
+#, python-format
+msgid "%s is not a valid loglevel"
+msgstr ""
+
+#: ../src/gajim.py:143
+msgid "Gajim needs X server to run. Quiting..."
+msgstr "Gajim needs X server to run. Quiting..."
+
+#: ../src/gajim.py:147
+#, fuzzy
+msgid "Gajim needs PyGTK 2.8 or above"
+msgstr "Gajim needs PyGTK 2.6 or above"
+
+#: ../src/gajim.py:148
+#, fuzzy
+msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
+msgstr "Gajim needs PyGTK 2.6 or above to run. Quiting..."
+
+#: ../src/gajim.py:150
+#, fuzzy
+msgid "Gajim needs GTK 2.8 or above"
+msgstr "Gajim needs GTK 2.6 or above"
+
+#: ../src/gajim.py:151
+#, fuzzy
+msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
+msgstr "Gajim needs GTK 2.6 or above to run. Quiting..."
+
+#: ../src/gajim.py:156
+msgid "GTK+ runtime is missing libglade support"
+msgstr "GTK+ runtime is missing libglade support"
+
+#: ../src/gajim.py:158
+#, python-format
+msgid ""
+"Please remove your current GTK+ runtime and install the latest stable "
+"version from %s"
+msgstr ""
+"Please remove your current GTK+ runtime and install the latest stable "
+"version from %s"
+
+#: ../src/gajim.py:160
+msgid ""
+"Please make sure that GTK+ and PyGTK have libglade support in your system."
+msgstr ""
+"Please make sure that GTK+ and PyGTK have libglade support in your system."
+
+#: ../src/gajim.py:165
+msgid "Gajim needs PySQLite2 to run"
+msgstr "Gajim needs PySQLite2 to run"
+
+#: ../src/gajim.py:173
+msgid "Gajim needs pywin32 to run"
+msgstr "Gajim needs pywin32 to run"
+
+#: ../src/gajim.py:174
+#, python-format
+msgid ""
+"Please make sure that Pywin32 is installed on your system. You can get it at "
+"%s"
+msgstr ""
+"Please make sure that Pywin32 is installed on your system. You can get it at "
+"%s"
+
+#. set the icon to all newly opened wind
+#: ../src/gajim.py:317
+msgid "Gajim is already running"
+msgstr "Gajim is already running"
+
+#: ../src/gajim.py:318
+msgid ""
+"Another instance of Gajim seems to be running\n"
+"Run anyway?"
+msgstr ""
+"Another instance of Gajim seems to be running\n"
+"Run anyway?"
+
+#: ../src/gajim.py:341 ../src/common/connection_handlers.py:900
+#: ../src/common/connection_handlers.py:1601
+#: ../src/common/connection_handlers.py:1629
+#: ../src/common/connection_handlers.py:1639
+#: ../src/common/connection_handlers.py:1658
+#: ../src/common/connection_handlers.py:1889
+#: ../src/common/connection_handlers.py:2001 ../src/common/connection.py:925
+msgid "Disk Write Error"
+msgstr ""
+
+#: ../src/gajim.py:434
+msgid "Do you accept this request?"
+msgstr "Do you accept this request?"
+
+#: ../src/gajim.py:437
+#, python-format
+msgid "HTTP (%s) Authorization for %s (id: %s)"
+msgstr "HTTP (%s) Authorisation for %s (id: %s)"
+
+#: ../src/gajim.py:484 ../src/notify.py:448
+msgid "Connection Failed"
+msgstr "Connection Failed"
+
+#: ../src/gajim.py:817
+#, python-format
+msgid "Subject: %s"
+msgstr "Subject: %s"
+
+#. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
+#: ../src/gajim.py:864 ../src/gajim.py:877
+#, python-format
+msgid "error while sending %s ( %s )"
+msgstr "error while sending %s ( %s )"
+
+#: ../src/gajim.py:910
+msgid "Authorization accepted"
+msgstr "Authorisation accepted"
+
+#: ../src/gajim.py:911
+#, python-format
+msgid "The contact \"%s\" has authorized you to see his or her status."
+msgstr "The contact \"%s\" has authorised you to see his or her status."
+
+#: ../src/gajim.py:919
+#, python-format
+msgid "Contact \"%s\" removed subscription from you"
+msgstr "Contact \"%s\" removed subscription from you"
+
+#: ../src/gajim.py:920
+msgid "You will always see him or her as offline."
+msgstr "You will always see him or her as offline."
+
+#: ../src/gajim.py:964
+#, python-format
+msgid "Contact with \"%s\" cannot be established"
+msgstr "Contact with \"%s\" cannot be established"
+
+#: ../src/gajim.py:965 ../src/common/connection.py:466
+msgid "Check your connection or try again later."
+msgstr "Check your connection or try again later."
+
+#: ../src/gajim.py:1136 ../src/roster_window.py:1348
+#, python-format
+msgid "%s is now %s (%s)"
+msgstr "%s is now %s (%s)"
+
+#. No status message
+#: ../src/gajim.py:1139 ../src/groupchat_control.py:1101
+#: ../src/roster_window.py:1351
+#, python-format
+msgid "%s is now %s"
+msgstr "%s is now %s"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/gajim.py:1259 ../src/groupchat_control.py:913
+msgid "Any occupant is allowed to see your full JID"
+msgstr ""
+
+#: ../src/gajim.py:1261
+msgid "Room now shows unavailable member"
+msgstr ""
+
+#: ../src/gajim.py:1263
+msgid "room now does not show unavailable members"
+msgstr ""
+
+#: ../src/gajim.py:1266
+msgid "A non-privacy-related room configuration change has occurred"
+msgstr ""
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#: ../src/gajim.py:1269
+msgid "Room logging is now enabled"
+msgstr ""
+
+#: ../src/gajim.py:1271
+msgid "Room logging is now disabled"
+msgstr ""
+
+#: ../src/gajim.py:1273
+msgid "Room is now non-anonymous"
+msgstr ""
+
+#: ../src/gajim.py:1275
+msgid "Room is now semi-anonymous"
+msgstr ""
+
+#: ../src/gajim.py:1277
+msgid "Room is now fully-anonymous"
+msgstr ""
+
+#: ../src/gajim.py:1308
+#, fuzzy, python-format
+msgid "A Password is required to join the room %s. Please type it"
+msgstr "A password is required to join this group chat."
+
+#: ../src/gajim.py:1338
+msgid "Your passphrase is incorrect"
+msgstr "Your passphrase is incorrect"
+
+#: ../src/gajim.py:1339
+msgid "You are currently connected without your OpenPGP key."
+msgstr "You are currently connected without your OpenPGP key."
+
+#: ../src/gajim.py:1443
+#, python-format
+msgid "New mail on %(gmail_mail_address)s"
+msgstr "New mail on %(gmail_mail_address)s"
+
+#: ../src/gajim.py:1445
+#, python-format
+msgid "You have %d new mail conversation"
+msgid_plural "You have %d new mail conversations"
+msgstr[0] "You have %d new mail conversation"
+msgstr[1] "You have %d new mail conversations"
+
+#. FIXME: emulate Gtalk client popups. find out what they parse and how
+#. they decide what to show
+#. each message has a 'From', 'Subject' and 'Snippet' field
+#: ../src/gajim.py:1454
+#, python-format
+msgid ""
+"\n"
+"From: %(from_address)s"
+msgstr ""
+"\n"
+"From: %(from_address)s"
+
+#: ../src/gajim.py:1665
+#, python-format
+msgid "%s wants to send you a file."
+msgstr "%s wants to send you a file."
+
+#: ../src/gajim.py:1730
+#, python-format
+msgid "You successfully received %(filename)s from %(name)s."
+msgstr "You successfully received %(filename)s from %(name)s."
+
+#. ft stopped
+#: ../src/gajim.py:1734
+#, python-format
+msgid "File transfer of %(filename)s from %(name)s stopped."
+msgstr "File transfer of %(filename)s from %(name)s stopped."
+
+#: ../src/gajim.py:1747
+#, python-format
+msgid "You successfully sent %(filename)s to %(name)s."
+msgstr "You successfully sent %(filename)s to %(name)s."
+
+#. ft stopped
+#: ../src/gajim.py:1751
+#, python-format
+msgid "File transfer of %(filename)s to %(name)s stopped."
+msgstr "File transfer of %(filename)s to %(name)s stopped."
+
+#: ../src/gajim.py:1846
+msgid "Session negotiation cancelled"
+msgstr ""
+
+#: ../src/gajim.py:1847
+#, python-format
+msgid "The client at %s cancelled the session negotiation."
+msgstr ""
+
+#: ../src/gajim.py:1887 ../src/gajim.py:1928
+msgid "Confirm these session options"
+msgstr ""
+
+#: ../src/gajim.py:1888
+#, python-format
+msgid ""
+"The remote client wants to negotiate an session with these features:\n"
+"\n"
+"\t%s\n"
+"\n"
+"\tAre these options acceptable?"
+msgstr ""
+
+#: ../src/gajim.py:1929
+#, python-format
+msgid ""
+"The remote client selected these options:\n"
+"\n"
+"%s\n"
+"\n"
+"Continue with the session?"
+msgstr ""
+
+#: ../src/gajim.py:2041
+msgid "Username Conflict"
+msgstr "Username Conflict"
+
+#: ../src/gajim.py:2042
+msgid "Please type a new username for your local account"
+msgstr "Please type a new username for your local account"
+
+#: ../src/gajim.py:2059
+msgid "Ping?"
+msgstr ""
+
+#: ../src/gajim.py:2067
+#, python-format
+msgid "Pong! (%s s.)"
+msgstr ""
+
+#: ../src/gajim.py:2073
+msgid "Error."
+msgstr ""
+
+#: ../src/gajim.py:2098
+#, fuzzy
+msgid "Resource Conflict"
+msgstr "Username Conflict"
+
+#: ../src/gajim.py:2099
+msgid ""
+"You are already connected to this account with the same resource. Please "
+"type a new one"
+msgstr ""
+
+#. it is good to notify the user
+#. in case he or she cannot see the output of the console
+#: ../src/gajim.py:2461
+msgid "Could not save your settings and preferences"
+msgstr "Could not save your settings and preferences"
+
+#. sorted alphanum
+#: ../src/gajim.py:2596 ../src/common/config.py:86 ../src/common/config.py:395
+#: ../src/common/optparser.py:194 ../src/common/optparser.py:412
+#: ../src/common/optparser.py:446
+#, fuzzy
+msgid "default"
+msgstr "Default"
+
+#: ../src/gajim.py:2683
+msgid "Network Manager support not available"
+msgstr "Network Manager support not available"
+
+#: ../src/gajim.py:2784
+msgid "Session Management support not available (missing gnome.ui module)"
+msgstr "Session Management support not available (missing gnome.ui module)"
+
+#: ../src/gajim-remote.py:65
+msgid "Shows a help on specific command"
+msgstr "Shows a help on specific command"
+
+#. User gets help for the command, specified by this parameter
+#: ../src/gajim-remote.py:68
+msgid "command"
+msgstr "command"
+
+#: ../src/gajim-remote.py:69
+msgid "show help on command"
+msgstr "show help on command"
+
+#: ../src/gajim-remote.py:73
+msgid "Shows or hides the roster window"
+msgstr "Shows or hides the roster window"
+
+#: ../src/gajim-remote.py:77
+msgid "Pops up a window with the next pending event"
+msgstr "Pops up a window with the next pending event"
+
+#: ../src/gajim-remote.py:81
+msgid ""
+"Prints a list of all contacts in the roster. Each contact appears on a "
+"separate line"
+msgstr ""
+"Prints a list of all contacts in the roster. Each contact appears on a "
+"separate line"
+
+#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99
+#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122
+#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:145
+#: ../src/gajim-remote.py:166 ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:205 ../src/gajim-remote.py:212
+#: ../src/gajim-remote.py:219 ../src/gajim-remote.py:230
+#: ../src/gajim-remote.py:246 ../src/gajim-remote.py:255
+msgid "account"
+msgstr "account"
+
+#: ../src/gajim-remote.py:84
+msgid "show only contacts of the given account"
+msgstr "show only contacts of the given account"
+
+#: ../src/gajim-remote.py:90
+msgid "Prints a list of registered accounts"
+msgstr "Prints a list of registered accounts"
+
+#: ../src/gajim-remote.py:94
+msgid "Changes the status of account or accounts"
+msgstr "Changes the status of account or accounts"
+
+#. offline, online, chat, away, xa, dnd, invisible should not be translated
+#: ../src/gajim-remote.py:97
+msgid "status"
+msgstr "status"
+
+#: ../src/gajim-remote.py:97
+msgid "one of: offline, online, chat, away, xa, dnd, invisible "
+msgstr "one of: offline, online, chat, away, xa, dnd, invisible "
+
+#: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119
+#: ../src/gajim-remote.py:133 ../src/gajim-remote.py:144
+msgid "message"
+msgstr "message"
+
+#: ../src/gajim-remote.py:98
+msgid "status message"
+msgstr "status message"
+
+#: ../src/gajim-remote.py:99
+msgid ""
+"change status of account \"account\". If not specified, try to change status "
+"of all accounts that have \"sync with global status\" option set"
+msgstr ""
+"change status of account \"account\". If not specified, try to change status "
+"of all accounts that have \"sync with global status\" option set"
+
+#: ../src/gajim-remote.py:105
+msgid "Shows the chat dialog so that you can send messages to a contact"
+msgstr "Shows the chat dialogue so that you can send messages to a contact"
+
+#: ../src/gajim-remote.py:107
+msgid "JID of the contact that you want to chat with"
+msgstr "JID of the contact that you want to chat with"
+
+#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:196
+msgid "if specified, contact is taken from the contact list of this account"
+msgstr "if specified, contact is taken from the contact list of this account"
+
+#: ../src/gajim-remote.py:114
+msgid ""
+"Sends new chat message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Sends new chat message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+
+#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:131
+msgid "JID of the contact that will receive the message"
+msgstr "JID of the contact that will receive the message"
+
+#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:144
+msgid "message contents"
+msgstr "message contents"
+
+#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
+msgid "pgp key"
+msgstr "pgp key"
+
+#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
+msgid "if specified, the message will be encrypted using this public key"
+msgstr "if specified, the message will be encrypted using this public key"
+
+#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136
+#: ../src/gajim-remote.py:145
+msgid "if specified, the message will be sent using this account"
+msgstr "if specified, the message will be sent using this account"
+
+#: ../src/gajim-remote.py:127
+msgid ""
+"Sends new single message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Sends new single message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+
+#: ../src/gajim-remote.py:132
+msgid "subject"
+msgstr "subject"
+
+#: ../src/gajim-remote.py:132
+msgid "message subject"
+msgstr "message subject"
+
+#: ../src/gajim-remote.py:141
+msgid "Sends new message to a groupchat you've joined."
+msgstr ""
+
+#: ../src/gajim-remote.py:143
+#, fuzzy
+msgid "JID of the room that will receive the message"
+msgstr "JID of the contact that will receive the message"
+
+#: ../src/gajim-remote.py:150
+msgid "Gets detailed info on a contact"
+msgstr "Gets detailed info on a contact"
+
+#: ../src/gajim-remote.py:152 ../src/gajim-remote.py:165
+#: ../src/gajim-remote.py:195 ../src/gajim-remote.py:204
+msgid "JID of the contact"
+msgstr "JID of the contact"
+
+#: ../src/gajim-remote.py:156
+msgid "Gets detailed info on a account"
+msgstr "Gets detailed info on a account"
+
+#: ../src/gajim-remote.py:158
+msgid "Name of the account"
+msgstr "Name of the account"
+
+#: ../src/gajim-remote.py:162
+msgid "Sends file to a contact"
+msgstr "Sends file to a contact"
+
+#: ../src/gajim-remote.py:164
+msgid "file"
+msgstr "file"
+
+#: ../src/gajim-remote.py:164
+msgid "File path"
+msgstr "File path"
+
+#: ../src/gajim-remote.py:166
+msgid "if specified, file will be sent using this account"
+msgstr "if specified, file will be sent using this account"
+
+#: ../src/gajim-remote.py:171
+msgid "Lists all preferences and their values"
+msgstr "Lists all preferences and their values"
+
+#: ../src/gajim-remote.py:175
+msgid "Sets value of 'key' to 'value'."
+msgstr "Sets value of 'key' to 'value'."
+
+#: ../src/gajim-remote.py:177
+msgid "key=value"
+msgstr "key=value"
+
+#: ../src/gajim-remote.py:177
+msgid "'key' is the name of the preference, 'value' is the value to set it to"
+msgstr "'key' is the name of the preference, 'value' is the value to set it to"
+
+#: ../src/gajim-remote.py:182
+msgid "Deletes a preference item"
+msgstr "Deletes a preference item"
+
+#: ../src/gajim-remote.py:184
+msgid "key"
+msgstr "key"
+
+#: ../src/gajim-remote.py:184
+msgid "name of the preference to be deleted"
+msgstr "name of the preference to be deleted"
+
+#: ../src/gajim-remote.py:188
+msgid "Writes the current state of Gajim preferences to the .config file"
+msgstr "Writes the current state of Gajim preferences to the .config file"
+
+#: ../src/gajim-remote.py:193
+msgid "Removes contact from roster"
+msgstr "Removes contact from roster"
+
+#: ../src/gajim-remote.py:202
+msgid "Adds contact to roster"
+msgstr "Adds contact to roster"
+
+#: ../src/gajim-remote.py:204
+msgid "jid"
+msgstr "jid"
+
+#: ../src/gajim-remote.py:205
+msgid "Adds new contact to this account"
+msgstr "Adds new contact to this account"
+
+#: ../src/gajim-remote.py:210
+msgid "Returns current status (the global one unless account is specified)"
+msgstr "Returns current status (the global one unless account is specified)"
+
+#: ../src/gajim-remote.py:217
+msgid ""
+"Returns current status message(the global one unless account is specified)"
+msgstr ""
+"Returns current status message(the global one unless account is specified)"
+
+#: ../src/gajim-remote.py:224
+msgid "Returns number of unread messages"
+msgstr "Returns number of unread messages"
+
+#: ../src/gajim-remote.py:228
+msgid "Opens 'Start Chat' dialog"
+msgstr "Opens 'Start Chat' dialogue"
+
+#: ../src/gajim-remote.py:230
+msgid "Starts chat, using this account"
+msgstr "Starts chat, using this account"
+
+#: ../src/gajim-remote.py:234
+msgid "Sends custom XML"
+msgstr "Sends custom XML"
+
+#: ../src/gajim-remote.py:236
+msgid "XML to send"
+msgstr "XML to send"
+
+#: ../src/gajim-remote.py:237
+msgid ""
+"Account in which the xml will be sent; if not specified, xml will be sent to "
+"all accounts"
+msgstr ""
+"Account in which the xml will be sent; if not specified, xml will be sent to "
+"all accounts"
+
+#: ../src/gajim-remote.py:243
+msgid "Handle a xmpp:/ uri"
+msgstr "Handle a xmpp:/ uri"
+
+#: ../src/gajim-remote.py:245
+msgid "uri"
+msgstr "uri"
+
+#: ../src/gajim-remote.py:250
+msgid "Join a MUC room"
+msgstr "Join a MUC room"
+
+#: ../src/gajim-remote.py:252
+msgid "room"
+msgstr "room"
+
+#: ../src/gajim-remote.py:253
+msgid "nick"
+msgstr "nick"
+
+#: ../src/gajim-remote.py:254
+msgid "password"
+msgstr "password"
+
+#: ../src/gajim-remote.py:277
+msgid "Missing argument \"contact_jid\""
+msgstr "Missing argument \"contact_jid\""
+
+#: ../src/gajim-remote.py:296
+#, python-format
+msgid ""
+"'%s' is not in your roster.\n"
+"Please specify account for sending the message."
+msgstr ""
+"'%s' is not in your roster.\n"
+"Please specify account for sending the message."
+
+#: ../src/gajim-remote.py:299
+msgid "You have no active account"
+msgstr "You have no active account"
+
+#: ../src/gajim-remote.py:363
+#, python-format
+msgid ""
+"Usage: %s %s %s \n"
+"\t %s"
+msgstr ""
+"Usage: %s %s %s \n"
+"\t %s"
+
+#: ../src/gajim-remote.py:366
+msgid "Arguments:"
+msgstr "Arguments:"
+
+#: ../src/gajim-remote.py:370
+#, python-format
+msgid "%s not found"
+msgstr "%s not found"
+
+#: ../src/gajim-remote.py:374
+#, python-format
+msgid ""
+"Usage: %s command [arguments]\n"
+"Command is one of:\n"
+msgstr ""
+"Usage: %s command [arguments]\n"
+"Command is one of:\n"
+
+#: ../src/gajim-remote.py:447
+#, python-format
+msgid ""
+"Too many arguments. \n"
+"Type \"%s help %s\" for more info"
+msgstr ""
+"Too many arguments. \n"
+"Type \"%s help %s\" for more info"
+
+#: ../src/gajim-remote.py:451
+#, python-format
+msgid ""
+"Argument \"%s\" is not specified. \n"
+"Type \"%s help %s\" for more info"
+msgstr ""
+"Argument \"%s\" is not specified. \n"
+"Type \"%s help %s\" for more info"
+
+#: ../src/gajim-remote.py:469
+msgid "Wrong uri"
+msgstr "Wrong uri"
+
+#: ../src/gajim_themes_window.py:62
+msgid "Theme"
+msgstr "Theme"
+
+#: ../src/gajim_themes_window.py:100
+#, fuzzy
+msgid "You cannot make changes to the default theme"
+msgstr "You cannot delete your current theme"
+
+#: ../src/gajim_themes_window.py:101
+msgid "Please create a clean new theme with your desired name."
+msgstr ""
+
+#. don't confuse translators
+#: ../src/gajim_themes_window.py:175
+msgid "theme name"
+msgstr "theme name"
+
+#: ../src/gajim_themes_window.py:192
+msgid "You cannot delete your current theme"
+msgstr "You cannot delete your current theme"
+
+#: ../src/gajim_themes_window.py:193
+msgid "Please first choose another for your current theme."
+msgstr "Please first choose another for your current theme."
+
+#: ../src/groupchat_control.py:134
+msgid "Sending private message failed"
+msgstr "Sending private message failed"
+
+#. in second %s code replaces with nickname
+#: ../src/groupchat_control.py:136
+#, python-format
+msgid "You are no longer in group chat \"%s\" or \"%s\" has left."
+msgstr "You are no longer in group chat \"%s\" or \"%s\" has left."
+
+#: ../src/groupchat_control.py:342
+msgid "Insert Nickname"
+msgstr "Insert Nickname"
+
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/groupchat_control.py:916
+msgid "Room logging is enabled"
+msgstr ""
+
+#: ../src/groupchat_control.py:918
+#, fuzzy
+msgid "A new room has been created"
+msgstr "Your new account has been successfully created"
+
+#: ../src/groupchat_control.py:921
+msgid "The server has assigned or modified your roomnick"
+msgstr ""
+
+#. do not print 'kicked by None'
+#: ../src/groupchat_control.py:927
+#, python-format
+msgid "%(nick)s has been kicked: %(reason)s"
+msgstr "%(nick)s has been kicked: %(reason)s"
+
+#: ../src/groupchat_control.py:931
+#, python-format
+msgid "%(nick)s has been kicked by %(who)s: %(reason)s"
+msgstr "%(nick)s has been kicked by %(who)s: %(reason)s"
+
+#. do not print 'banned by None'
+#: ../src/groupchat_control.py:938
+#, python-format
+msgid "%(nick)s has been banned: %(reason)s"
+msgstr "%(nick)s has been banned: %(reason)s"
+
+#: ../src/groupchat_control.py:942
+#, python-format
+msgid "%(nick)s has been banned by %(who)s: %(reason)s"
+msgstr "%(nick)s has been banned by %(who)s: %(reason)s"
+
+#. Someone changed his or her nick
+#. We changed our nick
+#: ../src/groupchat_control.py:949
+#, python-format
+msgid "You are now known as %s"
+msgstr "You are now known as %s"
+
+#: ../src/groupchat_control.py:951
+#, python-format
+msgid "%s is now known as %s"
+msgstr "%s is now known as %s"
+
+#: ../src/groupchat_control.py:984 ../src/groupchat_control.py:988
+#: ../src/groupchat_control.py:993
+#, fuzzy, python-format
+msgid "%(nick)s has been removed from the room (%(reason)s)"
+msgstr "%(nick)s has been kicked by %(who)s: %(reason)s"
+
+#: ../src/groupchat_control.py:985
+#, fuzzy
+msgid "affiliation changed"
+msgstr "Affiliation:"
+
+#: ../src/groupchat_control.py:990
+msgid "room configuration changed to members-only"
+msgstr ""
+
+#: ../src/groupchat_control.py:995
+msgid "system shutdown"
+msgstr ""
+
+#: ../src/groupchat_control.py:1094
+#, python-format
+msgid "%s has left"
+msgstr "%s has left"
+
+#: ../src/groupchat_control.py:1099
+#, python-format
+msgid "%s has joined the group chat"
+msgstr "%s has joined the group chat"
+
+#. Invalid Nickname
+#. invalid char
+#: ../src/groupchat_control.py:1212 ../src/groupchat_control.py:1491
+#, fuzzy
+msgid "Invalid nickname"
+msgstr "Invalid username"
+
+#: ../src/groupchat_control.py:1213 ../src/groupchat_control.py:1492
+#, fuzzy
+msgid "The nickname has not allowed characters."
+msgstr "The group chat Jabber ID has invalid characters."
+
+#: ../src/groupchat_control.py:1236 ../src/groupchat_control.py:1254
+#: ../src/groupchat_control.py:1338 ../src/groupchat_control.py:1355
+#, python-format
+msgid "Nickname not found: %s"
+msgstr "Nickname not found: %s"
+
+#: ../src/groupchat_control.py:1270
+msgid "This group chat has no subject"
+msgstr "This group chat has no subject"
+
+#: ../src/groupchat_control.py:1281
+#, python-format
+msgid "Invited %(contact_jid)s to %(room_jid)s."
+msgstr "Invited %(contact_jid)s to %(room_jid)s."
+
+#: ../src/groupchat_control.py:1418
+#, python-format
+msgid ""
+"Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
+"nickname of an occupant may be substituted, but not if it contains \"@\". If "
+"the JID is currently in the group chat, he/she/it will also be kicked. Does "
+"NOT support spaces in nickname."
+msgstr ""
+"Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
+"nickname of an occupant may be substituted, but not if it contains \"@\". If "
+"the JID is currently in the group chat, he/she/it will also be kicked. Does "
+"NOT support spaces in nickname."
+
+#: ../src/groupchat_control.py:1425
+#, python-format
+msgid ""
+"Usage: /%s <nickname>, opens a private chat window with the specified "
+"occupant."
+msgstr ""
+"Usage: /%s <nickname>, opens a private chat window with the specified "
+"occupant."
+
+#: ../src/groupchat_control.py:1431
+#, python-format
+msgid ""
+"Usage: /%s [reason], closes the current window or tab, displaying reason if "
+"specified."
+msgstr ""
+"Usage: /%s [reason], closes the current window or tab, displaying reason if "
+"specified."
+
+#: ../src/groupchat_control.py:1437
+#, python-format
+msgid ""
+"Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
+"providing a reason."
+msgstr ""
+"Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
+"providing a reason."
+
+#: ../src/groupchat_control.py:1441
+#, python-format
+msgid ""
+"Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
+"using specified nickname."
+msgstr ""
+"Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
+"using specified nickname."
+
+#: ../src/groupchat_control.py:1445
+#, python-format
+msgid ""
+"Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
+"from the group chat and optionally displays a reason. Does NOT support "
+"spaces in nickname."
+msgstr ""
+"Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
+"from the group chat and optionally displays a reason. Does NOT support "
+"spaces in nickname."
+
+#: ../src/groupchat_control.py:1454
+#, python-format
+msgid ""
+"Usage: /%s <nickname> [message], opens a private message window and sends "
+"message to the occupant specified by nickname."
+msgstr ""
+"Usage: /%s <nickname> [message], opens a private message window and sends "
+"message to the occupant specified by nickname."
+
+#: ../src/groupchat_control.py:1459
+#, python-format
+msgid "Usage: /%s <nickname>, changes your nickname in current group chat."
+msgstr "Usage: /%s <nickname>, changes your nickname in current group chat."
+
+#: ../src/groupchat_control.py:1463
+#, python-format
+msgid "Usage: /%s , display the names of group chat occupants."
+msgstr "Usage: /%s , display the names of group chat occupants."
+
+#: ../src/groupchat_control.py:1467
+#, python-format
+msgid "Usage: /%s [topic], displays or updates the current group chat topic."
+msgstr "Usage: /%s [topic], displays or updates the current group chat topic."
+
+#: ../src/groupchat_control.py:1470
+#, python-format
+msgid ""
+"Usage: /%s <message>, sends a message without looking for other commands."
+msgstr ""
+"Usage: /%s <message>, sends a message without looking for other commands."
+
+#: ../src/groupchat_control.py:1565
+#, python-format
+msgid "Are you sure you want to leave group chat \"%s\"?"
+msgstr "Are you sure you want to leave group chat \"%s\"?"
+
+#: ../src/groupchat_control.py:1567
+msgid ""
+"If you close this window, you will be disconnected from this group chat."
+msgstr ""
+"If you close this window, you will be disconnected from this group chat."
+
+#: ../src/groupchat_control.py:1571 ../src/roster_window.py:4836
+msgid "Do _not ask me again"
+msgstr "Do _not ask me again"
+
+#: ../src/groupchat_control.py:1605
+msgid "Changing Subject"
+msgstr "Changing Subject"
+
+#: ../src/groupchat_control.py:1606
+msgid "Please specify the new subject:"
+msgstr "Please specify the new subject:"
+
+#: ../src/groupchat_control.py:1615
+msgid "Changing Nickname"
+msgstr "Changing Nickname"
+
+#: ../src/groupchat_control.py:1616
+msgid "Please specify the new nickname you want to use:"
+msgstr "Please specify the new nickname you want to use:"
+
+#. Ask for a reason
+#: ../src/groupchat_control.py:1631
+#, fuzzy, python-format
+msgid "Destroying %s"
+msgstr "Description: %s"
+
+#: ../src/groupchat_control.py:1632
+msgid ""
+"You are going to definitively destroy this room.\n"
+"You may specify a reason below:"
+msgstr ""
+
+#: ../src/groupchat_control.py:1634
+msgid "You may also enter an alternate venue:"
+msgstr ""
+
+#: ../src/groupchat_control.py:1665
+msgid "Bookmark already set"
+msgstr "Bookmark already set"
+
+#: ../src/groupchat_control.py:1666
+#, python-format
+msgid "Group Chat \"%s\" is already in your bookmarks."
+msgstr "Group Chat \"%s\" is already in your bookmarks."
+
+#: ../src/groupchat_control.py:1675
+msgid "Bookmark has been added successfully"
+msgstr "Bookmark has been added successfully"
+
+#: ../src/groupchat_control.py:1676
+msgid "You can manage your bookmarks via Actions menu in your roster."
+msgstr "You can manage your bookmarks via Actions menu in your roster."
+
+#. ask for reason
+#: ../src/groupchat_control.py:1828
+#, python-format
+msgid "Kicking %s"
+msgstr "Kicking %s"
+
+#: ../src/groupchat_control.py:1829 ../src/groupchat_control.py:2129
+msgid "You may specify a reason below:"
+msgstr "You may specify a reason below:"
+
+#. ask for reason
+#: ../src/groupchat_control.py:2128
+#, python-format
+msgid "Banning %s"
+msgstr "Banning %s"
+
+#: ../src/gtkexcepthook.py:41
+msgid "A programming error has been detected"
+msgstr "A programming error has been detected"
+
+#: ../src/gtkexcepthook.py:42
+msgid ""
+"It probably is not fatal, but should be reported to the developers "
+"nonetheless."
+msgstr ""
+"It is probably not fatal, but should be reported to the developers "
+"nonetheless."
+
+#: ../src/gtkexcepthook.py:48
+msgid "_Report Bug"
+msgstr "_Report Bug"
+
+#: ../src/gtkexcepthook.py:71
+msgid "Details"
+msgstr "Details"
+
+#. we talk about file
+#: ../src/gtkgui_helpers.py:157 ../src/gtkgui_helpers.py:172
+#, python-format
+msgid "Error: cannot open %s for reading"
+msgstr "Error: cannot open %s for reading"
+
+#: ../src/gtkgui_helpers.py:337
+msgid "Error reading file:"
+msgstr "Error reading file:"
+
+#: ../src/gtkgui_helpers.py:340
+msgid "Error parsing file:"
+msgstr "Error parsing file:"
+
+#. do not traceback (could be a permission problem)
+#. we talk about a file here
+#: ../src/gtkgui_helpers.py:377
+#, python-format
+msgid "Could not write to %s. Session Management support will not work"
+msgstr "Could not write to %s. Session Management support will not work"
+
+#. xmpp: is currently handled by another program, so ask the user
+#: ../src/gtkgui_helpers.py:711
+msgid "Gajim is not the default Jabber client"
+msgstr "Gajim is not the default Jabber client"
+
+#: ../src/gtkgui_helpers.py:712
+msgid "Would you like to make Gajim the default Jabber client?"
+msgstr "Would you like to make Gajim the default Jabber client?"
+
+#: ../src/gtkgui_helpers.py:713
+msgid "Always check to see if Gajim is the default Jabber client on startup"
+msgstr "Always check to see if Gajim is the default Jabber client on startup"
+
+#: ../src/gtkgui_helpers.py:812
+msgid "Extension not supported"
+msgstr "Extension not supported"
+
+#: ../src/gtkgui_helpers.py:813
+#, python-format
+msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
+msgstr "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
+
+#: ../src/gtkgui_helpers.py:822
+msgid "Save Image as..."
+msgstr "Save Image as..."
+
+#: ../src/history_manager.py:68
+msgid "Cannot find history logs database"
+msgstr "Cannot find history logs database"
+
+#. holds jid
+#: ../src/history_manager.py:108
+msgid "Contacts"
+msgstr "Contacts"
+
+#. holds time
+#: ../src/history_manager.py:121 ../src/history_manager.py:161
+#: ../src/history_window.py:116
+msgid "Date"
+msgstr "Date"
+
+#. holds nickname
+#: ../src/history_manager.py:127 ../src/history_manager.py:179
+msgid "Nickname"
+msgstr "Nickname"
+
+#. holds message
+#: ../src/history_manager.py:135 ../src/history_manager.py:167
+#: ../src/history_window.py:124
+msgid "Message"
+msgstr "Message"
+
+#: ../src/history_manager.py:187
+msgid ""
+"Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS "
+"RUNNING)"
+msgstr ""
+"Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS "
+"RUNNING)"
+
+#: ../src/history_manager.py:189
+msgid ""
+"Normally allocated database size will not be freed, it will just become "
+"reusable. If you really want to reduce database filesize, click YES, else "
+"click NO.\n"
+"\n"
+"In case you click YES, please wait..."
+msgstr ""
+"Normally allocated database size will not be freed, it will just become "
+"reusable. If you really want to reduce database filesize, click YES, "
+"otherwise click NO.\n"
+"\n"
+"In case you click YES, please wait..."
+
+#: ../src/history_manager.py:401
+msgid "Exporting History Logs..."
+msgstr "Exporting History Logs..."
+
+#: ../src/history_manager.py:476
+#, python-format
+msgid "%(who)s on %(time)s said: %(message)s\n"
+msgstr "%(who)s on %(time)s said: %(message)s\n"
+
+#: ../src/history_manager.py:514
+msgid "Do you really want to delete logs of the selected contact?"
+msgid_plural "Do you really want to delete logs of the selected contacts?"
+msgstr[0] "Do you really want to delete the logs of the selected contact?"
+msgstr[1] "Do you really want to delete the logs of the selected contacts?"
+
+#: ../src/history_manager.py:518 ../src/history_manager.py:554
+msgid "This is an irreversible operation."
+msgstr "This is an irreversible operation."
+
+#: ../src/history_manager.py:551
+msgid "Do you really want to delete the selected message?"
+msgid_plural "Do you really want to delete the selected messages?"
+msgstr[0] "Do you really want to delete the selected message?"
+msgstr[1] "Do you really want to delete the selected messages?"
+
+#: ../src/history_window.py:185 ../src/history_window.py:187
+#, python-format
+msgid "Conversation History with %s"
+msgstr "Conversation History with %s"
+
+#: ../src/history_window.py:332
+#, python-format
+msgid "%(nick)s is now %(status)s: %(status_msg)s"
+msgstr "%(nick)s is now %(status)s: %(status_msg)s"
+
+#: ../src/history_window.py:336 ../src/notify.py:206
+#, python-format
+msgid "%(nick)s is now %(status)s"
+msgstr "%(nick)s is now %(status)s"
+
+#: ../src/history_window.py:342
+#, python-format
+msgid "Status is now: %(status)s: %(status_msg)s"
+msgstr "Status is now: %(status)s: %(status_msg)s"
+
+#: ../src/history_window.py:345
+#, python-format
+msgid "Status is now: %(status)s"
+msgstr "Status is now: %(status)s"
+
+#: ../src/htmltextview.py:583 ../src/htmltextview.py:594
+#, fuzzy
+msgid "Timeout loading image"
+msgstr "Could not load image"
+
+#: ../src/htmltextview.py:604
+msgid "Image is too big"
+msgstr ""
+
+#: ../src/message_window.py:288
+msgid "Chats"
+msgstr "Chats"
+
+#: ../src/message_window.py:290
+msgid "Group Chats"
+msgstr "Group Chats"
+
+#: ../src/message_window.py:292
+msgid "Private Chats"
+msgstr "Private Chats"
+
+#: ../src/message_window.py:294
+msgid "Messages"
+msgstr "Messages"
+
+#: ../src/message_window.py:295
+#, python-format
+msgid "%s - Gajim"
+msgstr "%s - Gajim"
+
+#: ../src/notify.py:204
+#, python-format
+msgid "%(nick)s Changed Status"
+msgstr "%(nick)s Changed Status"
+
+#: ../src/notify.py:214
+#, python-format
+msgid "%(nickname)s Signed In"
+msgstr "%(nickname)s Signed In"
+
+#: ../src/notify.py:222
+#, python-format
+msgid "%(nickname)s Signed Out"
+msgstr "%(nickname)s Signed Out"
+
+#: ../src/notify.py:234
+#, python-format
+msgid "New Single Message from %(nickname)s"
+msgstr "New Single Message from %(nickname)s"
+
+#: ../src/notify.py:242
+#, python-format
+msgid "New Private Message from group chat %s"
+msgstr "New Private Message from group chat %s"
+
+#: ../src/notify.py:244
+#, python-format
+msgid "%(nickname)s: %(message)s"
+msgstr "%(nickname)s: %(message)s"
+
+#: ../src/notify.py:247
+#, fuzzy, python-format
+msgid "Messaged by %(nickname)s"
+msgstr "New Message from %(nickname)s"
+
+#: ../src/notify.py:253
+#, python-format
+msgid "New Message from %(nickname)s"
+msgstr "New Message from %(nickname)s"
+
+#: ../src/profile_window.py:72
+msgid "Retrieving profile..."
+msgstr "Retrieving profile..."
+
+#: ../src/profile_window.py:123 ../src/roster_window.py:1882
+#, fuzzy
+msgid "File is empty"
+msgstr "File path"
+
+#: ../src/profile_window.py:126 ../src/roster_window.py:1885
+#, fuzzy
+msgid "File does not exist"
+msgstr "Such group chat does not exist."
+
+#. keep identation
+#. unknown format
+#: ../src/profile_window.py:140 ../src/profile_window.py:156
+#: ../src/roster_window.py:1887 ../src/roster_window.py:1898
+msgid "Could not load image"
+msgstr "Could not load image"
+
+#: ../src/profile_window.py:257
+msgid "Information received"
+msgstr "Information received"
+
+#: ../src/profile_window.py:326
+msgid "Without a connection you can not publish your contact information."
+msgstr "Without a connection you can not publish your contact information."
+
+#: ../src/profile_window.py:338
+msgid "Sending profile..."
+msgstr "Sending profile..."
+
+#: ../src/profile_window.py:353
+msgid "Information NOT published"
+msgstr "Information NOT published"
+
+#: ../src/profile_window.py:360
+msgid "vCard publication failed"
+msgstr "vCard publication failed"
+
+#: ../src/profile_window.py:361
+msgid ""
+"There was an error while publishing your personal information, try again "
+"later."
+msgstr ""
+"There was an error while publishing your personal information, try again "
+"later."
+
+#: ../src/roster_window.py:182 ../src/roster_window.py:237
+msgid "Merged accounts"
+msgstr "Apjungtos prieigos"
+
+#: ../src/roster_window.py:357 ../src/roster_window.py:622
+#: ../src/roster_window.py:2110 ../src/common/contacts.py:307
+#: ../src/common/helpers.py:44
+msgid "Observers"
+msgstr "Observers"
+
+#. Make special context menu if group is Groupchats
+#: ../src/roster_window.py:441 ../src/roster_window.py:446
+#: ../src/roster_window.py:1935 ../src/roster_window.py:1938
+#: ../src/roster_window.py:2607 ../src/roster_window.py:2610
+#: ../src/roster_window.py:2635 ../src/roster_window.py:4696
+#: ../src/roster_window.py:4698 ../src/common/commands.py:194
+#: ../src/common/contacts.py:97 ../src/common/helpers.py:44
+msgid "Groupchats"
+msgstr "Groupchats"
+
+#: ../src/roster_window.py:771 ../src/roster_window.py:3952
+msgid "You cannot join a group chat while you are invisible"
+msgstr "You cannot join a group chat while you are invisible"
+
+#. new chat
+#. single message
+#. for chat_with
+#. for single message
+#. join gc
+#: ../src/roster_window.py:984 ../src/roster_window.py:994
+#: ../src/roster_window.py:1003 ../src/systray.py:207 ../src/systray.py:212
+#: ../src/systray.py:218
+#, python-format
+msgid "using account %s"
+msgstr "using account %s"
+
+#. add
+#: ../src/roster_window.py:1010
+#, python-format
+msgid "to %s account"
+msgstr "to %s account"
+
+#. disco
+#: ../src/roster_window.py:1015
+#, python-format
+msgid "using %s account"
+msgstr "using %s account"
+
+#: ../src/roster_window.py:1096
+msgid "_Manage Bookmarks..."
+msgstr "_Manage Bookmarks..."
+
+#. profile, avatar
+#: ../src/roster_window.py:1115
+#, python-format
+msgid "of account %s"
+msgstr "of account %s"
+
+#: ../src/roster_window.py:1155
+#, python-format
+msgid "for account %s"
+msgstr "for account %s"
+
+#. History manager
+#: ../src/roster_window.py:1176
+msgid "History Manager"
+msgstr "History Manager"
+
+#: ../src/roster_window.py:1185
+msgid "_Join New Group Chat"
+msgstr "_Join New Group Chat"
+
+#: ../src/roster_window.py:1544 ../src/roster_window.py:4150
+#: ../src/roster_window.py:4157
+msgid "You have unread messages"
+msgstr "You have unread messages"
+
+#: ../src/roster_window.py:1545
+msgid "You must read them before removing this transport."
+msgstr "You must read them before removing this transport."
+
+#: ../src/roster_window.py:1548
+#, python-format
+msgid "Transport \"%s\" will be removed"
+msgstr "Transport \"%s\" will be removed"
+
+#: ../src/roster_window.py:1549
+msgid ""
+"You will no longer be able to send and receive messages from contacts using "
+"this transport."
+msgstr ""
+"You will no longer be able to send and receive messages from contacts using "
+"this transport."
+
+#: ../src/roster_window.py:1552
+msgid "Transports will be removed"
+msgstr "Transports will be removed"
+
+#: ../src/roster_window.py:1557
+#, python-format
+msgid ""
+"You will no longer be able to send and receive messages to contacts from "
+"these transports:%s"
+msgstr ""
+"You will no longer be able to send and receive messages to contacts from "
+"these transports:%s"
+
+#. it's jid
+#: ../src/roster_window.py:1723
+msgid "Rename Contact"
+msgstr "Rename Contact"
+
+#: ../src/roster_window.py:1724
+#, python-format
+msgid "Enter a new nickname for contact %s"
+msgstr "Enter a new nickname for contact %s"
+
+#: ../src/roster_window.py:1731
+msgid "Rename Group"
+msgstr "Rename Group"
+
+#: ../src/roster_window.py:1732
+#, python-format
+msgid "Enter a new name for group %s"
+msgstr "Enter a new name for group %s"
+
+#: ../src/roster_window.py:1807
+msgid "Remove Group"
+msgstr "Remove Group"
+
+#: ../src/roster_window.py:1808
+#, python-format
+msgid "Do you want to remove group %s from the roster?"
+msgstr "Do you want to remove group %s from the roster?"
+
+#: ../src/roster_window.py:1809
+msgid "Remove also all contacts in this group from your roster"
+msgstr "Remove also all contacts in this group from your roster"
+
+#: ../src/roster_window.py:1840
+msgid "Assign OpenPGP Key"
+msgstr "Assign OpenPGP Key"
+
+#: ../src/roster_window.py:1841
+msgid "Select a key to apply to the contact"
+msgstr "Select a key to apply to the contact"
+
+#: ../src/roster_window.py:2156
+#, fuzzy
+msgid "_New Group Chat"
+msgstr "New Group Chat"
+
+#: ../src/roster_window.py:2298
+msgid "I would like to add you to my roster"
+msgstr "I would like to add you to my roster"
+
+#. Send Group Message
+#: ../src/roster_window.py:2432 ../src/roster_window.py:2644
+msgid "Send Group M_essage"
+msgstr "Send Group M_essage"
+
+#: ../src/roster_window.py:2451
+msgid "_New group chat"
+msgstr "_New group chat"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2489
+#, fuzzy
+msgid "_Manage Contacts"
+msgstr "Rename Contact"
+
+#: ../src/roster_window.py:2550
+msgid "_Maximize"
+msgstr ""
+
+#: ../src/roster_window.py:2557
+#, fuzzy
+msgid "_Disconnect"
+msgstr "Contact Disconnected"
+
+#: ../src/roster_window.py:2636
+msgid "_Maximize All"
+msgstr ""
+
+#: ../src/roster_window.py:2652
+msgid "To all users"
+msgstr "Visiems"
+
+#: ../src/roster_window.py:2655
+msgid "To all online users"
+msgstr "Visiems prisijungusiems"
+
+#. Log Off
+#: ../src/roster_window.py:2772
+#, fuzzy
+msgid "_Log off"
+msgstr "_Atsijungti"
+
+#. Log on
+#: ../src/roster_window.py:2778
+msgid "_Log on"
+msgstr "_Prisijungti"
+
+#. Send single message
+#: ../src/roster_window.py:2790
+#, fuzzy
+msgid "Send Single Message"
+msgstr "_Siųsti vieną žinutę"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2837
+#, fuzzy
+msgid "_Manage Transport"
+msgstr "Transports"
+
+#. Modify Transport
+#: ../src/roster_window.py:2845
+#, fuzzy
+msgid "_Modify Transport"
+msgstr "Rodyti _Pernašas"
+
+#. Information
+#: ../src/roster_window.py:2882
+#, fuzzy
+msgid "_Information"
+msgstr "Asmens Informacija"
+
+#: ../src/roster_window.py:2959 ../src/roster_window.py:3033
+msgid "_Change Status Message"
+msgstr "_Keisti Būklės Žinutę"
+
+#: ../src/roster_window.py:3105
+msgid "Authorization has been sent"
+msgstr "Authorisation has been sent"
+
+#: ../src/roster_window.py:3106
+#, python-format
+msgid "Now \"%s\" will know your status."
+msgstr "Dabar \"%s\" žinos apie jūsų būklę."
+
+#: ../src/roster_window.py:3126
+msgid "Subscription request has been sent"
+msgstr "Subscription request has been sent"
+
+#: ../src/roster_window.py:3127
+#, python-format
+msgid "If \"%s\" accepts this request you will know his or her status."
+msgstr "If \"%s\" accepts this request you will know his or her status."
+
+#: ../src/roster_window.py:3139
+msgid "Authorization has been removed"
+msgstr "Authorisation has been removed"
+
+#: ../src/roster_window.py:3140
+#, python-format
+msgid "Now \"%s\" will always see you as offline."
+msgstr "Now \"%s\" will always see you as offline."
+
+#: ../src/roster_window.py:3338
+#, python-format
+msgid "Contact \"%s\" will be removed from your roster"
+msgstr "Contact \"%s\" will be removed from your roster"
+
+#: ../src/roster_window.py:3342
+msgid ""
+"By removing this contact you also remove authorization resulting in him or "
+"her always seeing you as offline."
+msgstr ""
+"By removing this contact you also remove authorisation resulting in him or "
+"her always seeing you as offline."
+
+#: ../src/roster_window.py:3347
+msgid ""
+"By removing this contact you also by default remove authorization resulting "
+"in him or her always seeing you as offline."
+msgstr ""
+"By removing this contact you also by default remove authorisation resulting "
+"in him or her always seeing you as offline."
+
+#: ../src/roster_window.py:3350
+msgid "I want this contact to know my status after removal"
+msgstr "I want this contact to know my status after removal"
+
+#. several contact to remove at the same time
+#: ../src/roster_window.py:3354
+msgid "Contacts will be removed from your roster"
+msgstr "Contacts will be removed from your roster"
+
+#: ../src/roster_window.py:3358
+#, python-format
+msgid ""
+"By removing these contacts:%s\n"
+"you also remove authorization resulting in them always seeing you as offline."
+msgstr ""
+"By removing these contacts:%s\n"
+"you also remove authorisation resulting in them always seeing you as offline."
+
+#: ../src/roster_window.py:3390
+#, fuzzy
+msgid ""
+"Gnome Keyring is installed but not correctly started (environment variable "
+"probably not correctly set)"
+msgstr ""
+"Gnomekeyring is installed but not correctly started (environment variable "
+"probably not correctly set)"
+
+#: ../src/roster_window.py:3417
+msgid "GPG is not usable"
+msgstr ""
+
+#. %s is the account name here
+#: ../src/roster_window.py:3417 ../src/common/connection.py:684
+#: ../src/common/zeroconf/connection_zeroconf.py:165
+#, python-format
+msgid "You will be connected to %s without OpenPGP."
+msgstr "You will be connected to %s without OpenPGP."
+
+#: ../src/roster_window.py:3434
+msgid "Passphrase Required"
+msgstr "Passphrase Required"
+
+#: ../src/roster_window.py:3435
+#, python-format
+msgid "Enter GPG key passphrase for account %s."
+msgstr "Enter GPG key passphrase for account %s."
+
+#: ../src/roster_window.py:3440
+msgid "Save passphrase"
+msgstr "Save passphrase"
+
+#: ../src/roster_window.py:3448
+msgid "Wrong Passphrase"
+msgstr "Wrong Passphrase"
+
+#: ../src/roster_window.py:3449
+msgid "Please retype your GPG passphrase or press Cancel."
+msgstr "Please retype your GPG passphrase or press Cancel."
+
+#: ../src/roster_window.py:3532 ../src/roster_window.py:3609
+msgid "You are participating in one or more group chats"
+msgstr "You are participating in one or more group chats"
+
+#: ../src/roster_window.py:3533 ../src/roster_window.py:3610
+msgid ""
+"Changing your status to invisible will result in disconnection from those "
+"group chats. Are you sure you want to go invisible?"
+msgstr ""
+"Changing your status to invisible will result in disconnection from those "
+"group chats. Are you sure you want to go invisible?"
+
+#: ../src/roster_window.py:3567
+msgid "No account available"
+msgstr "No account available"
+
+#: ../src/roster_window.py:3568
+msgid "You must create an account before you can chat with other contacts."
+msgstr "You must create an account before you can chat with other contacts."
+
+#: ../src/roster_window.py:3696
+#, python-format
+msgid "\"%(title)s\" by %(artist)s"
+msgstr "\"%(title)s\" by %(artist)s"
+
+#: ../src/roster_window.py:4151 ../src/roster_window.py:4158
+msgid ""
+"Messages will only be available for reading them later if you have history "
+"enabled."
+msgstr ""
+"Messages will only be available for reading them later if you have history "
+"enabled."
+
+#: ../src/roster_window.py:4782
+msgid "Metacontacts storage not supported by your server"
+msgstr "Metacontacts storage not supported by your server"
+
+#: ../src/roster_window.py:4784
+#, fuzzy
+msgid ""
+"Your server does not support storing metacontacts information. So those "
+"information will not be saved on next reconnection."
+msgstr ""
+"Your server does not support storing metacontacts information. So those "
+"information will not be save on next reconnection."
+
+#: ../src/roster_window.py:4830
+msgid ""
+"You are about to create a metacontact. Are you sure you want to continue?"
+msgstr ""
+"You are about to create a metacontact. Are you sure you want to continue?"
+
+#: ../src/roster_window.py:4832
+msgid ""
+"Metacontacts are a way to regroup several contacts in one line. Generally it "
+"is used when the same person has several Jabber accounts or transport "
+"accounts."
+msgstr ""
+"Metacontacts are a way to regroup several contacts in one line. Generally it "
+"is used when the same person has several Jabber accounts or transport "
+"accounts."
+
+#: ../src/roster_window.py:4930
+#, fuzzy, python-format
+msgid "Do you want to send that file to %s:"
+msgid_plural "Do you want to send those files to %s:"
+msgstr[0] "%s wants to send you a file:"
+msgstr[1] "%s wants to send you a file:"
+
+#: ../src/roster_window.py:5212
+msgid "Change Status Message..."
+msgstr "Change Status Message..."
+
+#: ../src/systray.py:164
+msgid "_Change Status Message..."
+msgstr "_Change Status Message..."
+
+#: ../src/systray.py:249
+msgid "Hide this menu"
+msgstr "Hide this menu"
+
+#: ../src/tooltips.py:310 ../src/tooltips.py:503
+msgid "Jabber ID: "
+msgstr "Jabber ID: "
+
+#: ../src/tooltips.py:313 ../src/tooltips.py:507
+msgid "Resource: "
+msgstr "Resource: "
+
+#: ../src/tooltips.py:318
+#, python-format
+msgid "%(owner_or_admin_or_member)s of this group chat"
+msgstr "%(owner_or_admin_or_member)s of this group chat"
+
+#: ../src/tooltips.py:416
+msgid " [blocked]"
+msgstr ""
+
+#: ../src/tooltips.py:420
+msgid " [minimized]"
+msgstr ""
+
+#: ../src/tooltips.py:435 ../src/tooltips.py:623
+msgid "Status: "
+msgstr "Status: "
+
+#: ../src/tooltips.py:465
+#, python-format
+msgid "Last status: %s"
+msgstr "Last status: %s"
+
+#: ../src/tooltips.py:467
+#, python-format
+msgid " since %s"
+msgstr " since %s"
+
+#: ../src/tooltips.py:485
+#, fuzzy
+msgid "Connected"
+msgstr "Prisijungimas"
+
+#: ../src/tooltips.py:487
+#, fuzzy
+msgid "Disconnected"
+msgstr "Contact Disconnected"
+
+#. ('both' is the normal sub so we don't show it)
+#: ../src/tooltips.py:514
+msgid "Subscription: "
+msgstr "Subscription: "
+
+#: ../src/tooltips.py:524
+msgid "OpenPGP: "
+msgstr "OpenPGP: "
+
+#: ../src/tooltips.py:579
+msgid "Download"
+msgstr "Download"
+
+#: ../src/tooltips.py:585
+msgid "Upload"
+msgstr "Upload"
+
+#: ../src/tooltips.py:592
+msgid "Type: "
+msgstr "Type: "
+
+#: ../src/tooltips.py:598
+msgid "Transferred: "
+msgstr "Transferred: "
+
+#: ../src/tooltips.py:601 ../src/tooltips.py:622
+msgid "Not started"
+msgstr "Not started"
+
+#: ../src/tooltips.py:605
+msgid "Stopped"
+msgstr "Stopped"
+
+#: ../src/tooltips.py:607 ../src/tooltips.py:610
+msgid "Completed"
+msgstr "Completed"
+
+#: ../src/tooltips.py:614
+msgid "?transfer status:Paused"
+msgstr "Paused"
+
+#. stalled is not paused. it is like 'frozen' it stopped alone
+#: ../src/tooltips.py:618
+msgid "Stalled"
+msgstr "Stalled"
+
+#: ../src/tooltips.py:620
+msgid "Transferring"
+msgstr "Transferring"
+
+#: ../src/tooltips.py:652
+msgid "This service has not yet responded with detailed information"
+msgstr "This service has not yet responded with detailed information"
+
+#: ../src/tooltips.py:655
+msgid ""
+"This service could not respond with detailed information.\n"
+"It is most likely legacy or broken"
+msgstr ""
+"This service could not respond with detailed information.\n"
+"It is most likely legacy or broken"
+
+#: ../src/vcard.py:240
+msgid "?Client:Unknown"
+msgstr "Unknown"
+
+#: ../src/vcard.py:242
+msgid "?OS:Unknown"
+msgstr "Unknown"
+
+#: ../src/vcard.py:267 ../src/vcard.py:277 ../src/vcard.py:467
+#, python-format
+msgid "since %s"
+msgstr "since %s"
+
+#: ../src/vcard.py:306
+msgid "Affiliation:"
+msgstr "Affiliation:"
+
+#: ../src/vcard.py:314
+msgid ""
+"This contact is interested in your presence information, but you are not "
+"interested in his/her presence"
+msgstr ""
+"This contact is interested in your presence information, but you are not "
+"interested in his/her presence"
+
+#: ../src/vcard.py:316
+msgid ""
+"You are interested in the contact's presence information, but he/she is not "
+"interested in yours"
+msgstr ""
+"You are interested in the contact's presence information, but he/she is not "
+"interested in yours"
+
+#: ../src/vcard.py:318
+msgid "You and the contact are interested in each other's presence information"
+msgstr ""
+"You and the contact are interested in each other's presence information"
+
+#. None
+#: ../src/vcard.py:320
+msgid ""
+"You are not interested in the contact's presence, and neither he/she is "
+"interested in yours"
+msgstr ""
+"You are not interested in the contact's presence, and neither he/she is "
+"interested in yours"
+
+#: ../src/vcard.py:328
+msgid "You are waiting contact's answer about your subscription request"
+msgstr "You are waiting contact's answer about your subscription request"
+
+#: ../src/vcard.py:332 ../src/vcard.py:369 ../src/vcard.py:492
+msgid " resource with priority "
+msgstr " resource with priority "
+
+#: ../src/common/check_paths.py:33
+msgid "creating logs database"
+msgstr "creating logs database"
+
+#: ../src/common/check_paths.py:96 ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:114
+#, python-format
+msgid "%s is a file but it should be a directory"
+msgstr "%s is a file but it should be a directory"
+
+#: ../src/common/check_paths.py:97 ../src/common/check_paths.py:108
+#: ../src/common/check_paths.py:115 ../src/common/check_paths.py:123
+msgid "Gajim will now exit"
+msgstr "Gajim will now exit"
+
+#: ../src/common/check_paths.py:122
+#, python-format
+msgid "%s is a directory but should be a file"
+msgstr "%s is a directory but should be a file"
+
+#: ../src/common/check_paths.py:138
+#, python-format
+msgid "creating %s directory"
+msgstr "creating %s directory"
+
+#: ../src/common/commands.py:69
+msgid "Change status information"
+msgstr "Change status information"
+
+#: ../src/common/commands.py:82
+msgid "Change status"
+msgstr "Change status"
+
+#: ../src/common/commands.py:83
+msgid "Set the presence type and description"
+msgstr "Set the presence type and description"
+
+#: ../src/common/commands.py:89
+msgid "Free for chat"
+msgstr "Free for chat"
+
+#: ../src/common/commands.py:90
+msgid "Online"
+msgstr "Online"
+
+#: ../src/common/commands.py:92
+msgid "Extended away"
+msgstr "Extended away"
+
+#: ../src/common/commands.py:93
+msgid "Do not disturb"
+msgstr "Do not disturb"
+
+#: ../src/common/commands.py:94
+msgid "Offline - disconnect"
+msgstr "Offline - disconnect"
+
+#: ../src/common/commands.py:99
+msgid "Presence description:"
+msgstr "Presence description:"
+
+#: ../src/common/commands.py:134
+msgid "The status has been changed."
+msgstr "The status has been changed."
+
+#: ../src/common/commands.py:179
+#, python-format
+msgid "%(nickname)s on %(room_jid)s"
+msgstr "%(nickname)s on %(room_jid)s"
+
+#: ../src/common/commands.py:183
+msgid "You have not joined a groupchat."
+msgstr "You have not joined a groupchat."
+
+#: ../src/common/commands.py:189
+msgid "Leave Groupchats"
+msgstr "Leave Groupchats"
+
+#: ../src/common/commands.py:190
+msgid "Choose the groupchats you want to leave"
+msgstr "Choose the groupchats you want to leave"
+
+#: ../src/common/commands.py:230
+#, fuzzy
+msgid "You left the following groupchats:"
+msgstr "You left the following groupchats:"
+
+#: ../src/common/commands.py:242
+#, fuzzy
+msgid "Forward unread messages"
+msgstr " %d unread message"
+
+#: ../src/common/commands.py:262
+msgid "All unread messages have been forwarded."
+msgstr ""
+
+#: ../src/common/config.py:58
+msgid "Use D-Bus and Notification-Daemon to show notifications"
+msgstr "Use D-Bus and Notification-Daemon to show notifications"
+
+#: ../src/common/config.py:63
+msgid "Time in minutes, after which your status changes to away."
+msgstr "Time in minutes, after which your status changes to away."
+
+#: ../src/common/config.py:64
+msgid "Away as a result of being idle"
+msgstr "Away as a result of being idle"
+
+#: ../src/common/config.py:66
+msgid "Time in minutes, after which your status changes to not available."
+msgstr "Time in minutes, after which your status changes to not available."
+
+#: ../src/common/config.py:67
+msgid "Not available as a result of being idle"
+msgstr "Not available as a result of being idle"
+
+#: ../src/common/config.py:85
+msgid ""
+"List (space separated) of rows (accounts and groups) that are collapsed."
+msgstr ""
+"List (space separated) of rows (accounts and groups) that are collapsed."
+
+#: ../src/common/config.py:90
+msgid "Enable link-local/zeroconf messaging"
+msgstr "Enable link-local/zeroconf messaging"
+
+#: ../src/common/config.py:93
+msgid "Language used by speller"
+msgstr "Language used by speller"
+
+#: ../src/common/config.py:94
+msgid ""
+"'always' - print time for every message.\n"
+"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
+"'never' - never print time."
+msgstr ""
+"'always' - print time for every message.\n"
+"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
+"'never' - never print time."
+
+#: ../src/common/config.py:95
+msgid ""
+"Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
+"to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
+"This is used only if print_time is 'sometimes'."
+msgstr ""
+"Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
+"to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
+"This is used only if print_time is 'sometimes'."
+
+#: ../src/common/config.py:98
+msgid "Treat * / _ pairs as possible formatting characters."
+msgstr "Treat * / _ pairs as possible formatting characters."
+
+#: ../src/common/config.py:99
+msgid ""
+"If True, do not remove */_ . So *abc* will be bold but with * * not removed."
+msgstr ""
+"If True, do not remove */_ . So *abc* will be bold but with * * not removed."
+
+#: ../src/common/config.py:102
+msgid ""
+"Uses ReStructured text markup to send HTML, plus ascii formatting if "
+"selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
+"restructuredtext.html (If you want to use this, install docutils)"
+msgstr ""
+"Uses ReStructured text markup to send HTML, plus ascii formatting if "
+"selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
+"restructuredtext.html (If you want to use this, install docutils)"
+
+#: ../src/common/config.py:111
+msgid ""
+"Character to add after nickname when using nick completion (tab) in group "
+"chat."
+msgstr ""
+"Character to add after nickname when using nick completion (tab) in group "
+"chat."
+
+#: ../src/common/config.py:112
+msgid ""
+"Character to propose to add after desired nickname when desired nickname is "
+"used by someone else in group chat."
+msgstr ""
+"Character to propose to add after desired nickname when desired nickname is "
+"used by someone else in group chat."
+
+#: ../src/common/config.py:135
+msgid ""
+"This option let you customize timestamp that is printed in conversation. For "
+"exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
+"strftime for full documentation: http://docs.python.org/lib/module-time.html"
+msgstr ""
+"This option let you customize timestamp that is printed in conversation. For "
+"exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
+"strftime for full documentation: http://docs.python.org/lib/module-time.html"
+
+#: ../src/common/config.py:136
+msgid "Characters that are printed before the nickname in conversations"
+msgstr "Characters that are printed before the nickname in conversations"
+
+#: ../src/common/config.py:137
+msgid "Characters that are printed after the nickname in conversations"
+msgstr "Characters that are printed after the nickname in conversations"
+
+#: ../src/common/config.py:144
+msgid "Add * and [n] in roster title?"
+msgstr "Add * and [n] in roster title?"
+
+#: ../src/common/config.py:145
+msgid ""
+"How many lines to remember from previous conversation when a chat tab/window "
+"is reopened."
+msgstr ""
+"How many lines to remember from previous conversation when a chat tab/window "
+"is reopened."
+
+#: ../src/common/config.py:146
+msgid "How many minutes should last lines from previous conversation last."
+msgstr "How many minutes should last lines from previous conversation last."
+
+#: ../src/common/config.py:147
+msgid ""
+"Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
+"Client default behaviour)."
+msgstr ""
+"Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
+"Client default behaviour)."
+
+#: ../src/common/config.py:149
+msgid "How many lines to store for Ctrl+KeyUP."
+msgstr "How many lines to store for Ctrl+KeyUP."
+
+#: ../src/common/config.py:152
+#, python-format
+msgid ""
+"Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' "
+"which means use wiktionary."
+msgstr ""
+"Either custom URL with %s in it where %s is the word/phrase or 'WIKTIONARY' "
+"which means use wiktionary."
+
+#: ../src/common/config.py:155
+msgid "If checked, Gajim can be controlled remotely using gajim-remote."
+msgstr "If ticked, Gajim can be controlled remotely using gajim-remote."
+
+#: ../src/common/config.py:156
+msgid ""
+"If True, listen to D-Bus signals from NetworkManager and change the status "
+"of accounts (provided they do not have listen_to_network_manager set to "
+"False and they sync with global status) based upon the status of the network "
+"connection."
+msgstr ""
+"If True, listen to D-Bus signals from NetworkManager and change the status "
+"of accounts (provided they do not have listen_to_network_manager set to "
+"False and they sync with global status) based upon the status of the network "
+"connection."
+
+#: ../src/common/config.py:157
+msgid ""
+"Sent chat state notifications. Can be one of all, composing_only, disabled."
+msgstr ""
+"Sent chat state notifications. Can be one of all, composing_only, disabled."
+
+#: ../src/common/config.py:158
+msgid ""
+"Displayed chat state notifications in chat windows. Can be one of all, "
+"composing_only, disabled."
+msgstr ""
+"Displayed chat state notifications in chat windows. Can be one of all, "
+"composing_only, disabled."
+
+#: ../src/common/config.py:160
+msgid ""
+"When not printing time for every message (print_time==sometimes), print it "
+"every x minutes."
+msgstr ""
+"When not printing time for every message (print_time==sometimes), print it "
+"every x minutes."
+
+#: ../src/common/config.py:161
+msgid "Ask before closing a group chat tab/window."
+msgstr "Ask before closing a group chat tab/window."
+
+#: ../src/common/config.py:162
+msgid ""
+"Always ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Always ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+
+#: ../src/common/config.py:163
+msgid ""
+"Never ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Never ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+
+#: ../src/common/config.py:166
+#, fuzzy
+msgid ""
+"Comma separated list of hosts that we send, in addition of local interfaces, "
+"for File Transfer in case of address translation/port forwarding."
+msgstr ""
+"Overrides the host we send for File Transfer in case of address translation/"
+"port forwarding."
+
+#: ../src/common/config.py:168
+msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
+msgstr "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
+
+#: ../src/common/config.py:170
+msgid "Notify of events in the system trayicon."
+msgstr "Notify of events in the system trayicon."
+
+#: ../src/common/config.py:176
+msgid "Show tab when only one conversation?"
+msgstr "Show tab when only one conversation?"
+
+#: ../src/common/config.py:177
+msgid "Show tabbed notebook border in chat windows?"
+msgstr "Show tabbed notebook border in chat windows?"
+
+#: ../src/common/config.py:178
+msgid "Show close button in tab?"
+msgstr "Show close button in tab?"
+
+#: ../src/common/config.py:179
+msgid ""
+"When negotiating an encrypted session, should Gajim assume you want your "
+"messages to be logged?"
+msgstr ""
+
+#: ../src/common/config.py:188
+msgid "Preview new messages in notification popup?"
+msgstr ""
+
+#: ../src/common/config.py:193
+msgid ""
+"A semicolon-separated list of words that will be highlighted in group chats."
+msgstr ""
+"A semicolon-separated list of words that will be highlighted in group chats."
+
+#: ../src/common/config.py:194
+msgid ""
+"If True, quits Gajim when X button of Window Manager is clicked. This "
+"setting is taken into account only if trayicon is used."
+msgstr ""
+"If True, quits Gajim when X button of Window Manager is clicked. This "
+"setting is taken into account only if trayicon is used."
+
+#: ../src/common/config.py:195
+msgid ""
+"If True, Gajim will check if it's the default jabber client on each startup."
+msgstr ""
+"If True, Gajim will check if it's the default jabber client on each startup."
+
+#: ../src/common/config.py:196
+msgid ""
+"If True, Gajim will display an icon on each tab containing unread messages. "
+"Depending on the theme, this icon may be animated."
+msgstr ""
+"If True, Gajim will display an icon on each tab containing unread messages. "
+"Depending on the theme, this icon may be animated."
+
+#: ../src/common/config.py:197
+msgid ""
+"If True, Gajim will display the status message, if not empty, for every "
+"contact under the contact name in roster window."
+msgstr ""
+"If True, Gajim will display the status message, if not empty, for every "
+"contact under the contact name in roster window."
+
+#: ../src/common/config.py:199
+msgid ""
+"If True, Gajim will ask for avatar each contact that did not have an avatar "
+"last time or has one cached that is too old."
+msgstr ""
+"If True, Gajim will ask for avatar each contact that did not have an avatar "
+"last time or has one cached that is too old."
+
+#: ../src/common/config.py:200
+msgid ""
+"If False, Gajim will no longer print status line in chats when a contact "
+"changes his or her status and/or his or her status message."
+msgstr ""
+"If False, Gajim will no longer print status line in chats when a contact "
+"changes his or her status and/or status message."
+
+#: ../src/common/config.py:201
+msgid ""
+"can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
+"longer print status line in groupchats when a member changes his or her "
+"status and/or his or her status message. If \"all\" Gajim will print all "
+"status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves "
+"group chat."
+msgstr ""
+"can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
+"longer print status line in groupchats when a member changes his or her "
+"status and/or his or her status message. If \"all\" Gajim will print all "
+"status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves "
+"group chat."
+
+#: ../src/common/config.py:203
+msgid "Background color of contacts when they just signed in."
+msgstr "Background colour of contacts when they just signed in."
+
+#: ../src/common/config.py:204
+msgid "Background color of contacts when they just signed out."
+msgstr "Background colour of contacts when they just signed out."
+
+#: ../src/common/config.py:206
+msgid ""
+"If True, restored messages will use a smaller font than the default one."
+msgstr ""
+"If True, restored messages will use a smaller font than the default one."
+
+#: ../src/common/config.py:207
+msgid "Don't show avatar for the transport itself."
+msgstr "Don't show avatar for the transport itself."
+
+#: ../src/common/config.py:208
+msgid "Don't show roster in the system taskbar."
+msgstr "Don't show roster in the system taskbar."
+
+#: ../src/common/config.py:209
+msgid ""
+"If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
+"window flash (the default behaviour in most Window Managers) when holding "
+"pending events."
+msgstr ""
+"If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
+"window flash (the default behaviour in most Window Managers) when holding "
+"pending events."
+
+#: ../src/common/config.py:211
+msgid ""
+"Jabberd1.4 does not like sha info when one join a password protected group "
+"chat. Turn this option to False to stop sending sha info in group chat "
+"presences."
+msgstr ""
+"Jabberd1.4 does not like sha info when one join a password protected group "
+"chat. Turn this option to False to stop sending sha info in group chat "
+"presences."
+
+#. always, never, peracct, pertype should not be translated
+#: ../src/common/config.py:214
+msgid ""
+"Controls the window where new messages are placed.\n"
+"'always' - All messages are sent to a single window.\n"
+"'never' - All messages get their own window.\n"
+"'peracct' - Messages for each account are sent to a specific window.\n"
+"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a "
+"specific window. Note, changing this option requires restarting Gajim before "
+"the changes will take effect."
+msgstr ""
+"Controls the window where new messages are placed.\n"
+"'always' - All messages are sent to a single window.\n"
+"'never' - All messages get their own window.\n"
+"'peracct' - Messages for each account are sent to a specific window.\n"
+"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a "
+"specific window. Note, changing this option requires restarting Gajim before "
+"the changes will take effect."
+
+#: ../src/common/config.py:215
+msgid "If False, you will no longer see the avatar in the chat window."
+msgstr "If False, you will no longer see the avatar in the chat window."
+
+#: ../src/common/config.py:216
+msgid "If True, pressing the escape key closes a tab/window."
+msgstr "If True, pressing the escape key closes a tab/window."
+
+#: ../src/common/config.py:217
+#, fuzzy
+msgid "Hides the buttons in chat windows."
+msgstr "Hides the buttons in group chat window."
+
+#: ../src/common/config.py:218
+msgid "Hides the banner in a group chat window"
+msgstr "Hides the banner in a group chat window"
+
+#: ../src/common/config.py:219
+msgid "Hides the banner in two persons chat window"
+msgstr "Hides the banner in two persons chat window"
+
+#: ../src/common/config.py:220
+msgid "Hides the group chat occupants list in group chat window."
+msgstr "Hides the group chat occupants list in group chat window."
+
+#: ../src/common/config.py:221
+msgid ""
+"In a chat, show the nickname at the beginning of a line only when it's not "
+"the same person talking than in previous message."
+msgstr ""
+"In a chat, show the nickname at the beginning of a line only when it's not "
+"the same person talking than in previous message."
+
+#: ../src/common/config.py:222
+msgid "Indentation when using merge consecutive nickname."
+msgstr "Indentation when using merge consecutive nickname."
+
+#: ../src/common/config.py:223
+#, fuzzy
+msgid "Smooth scroll message in conversation window"
+msgstr "Išsiųsti žinutę ir uždaryti langą"
+
+#: ../src/common/config.py:224
+msgid "List of colors that will be used to color nicknames in group chats."
+msgstr "List of colours that will be used to colour nicknames in group chats."
+
+#: ../src/common/config.py:225
+msgid "Ctrl-Tab go to next composing tab when none is unread."
+msgstr "Ctrl-Tab go to next composing tab when none is unread."
+
+#: ../src/common/config.py:226
+msgid ""
+"Should we show the confirm metacontacts creation dialog or not? Empty string "
+"means we never show the dialog."
+msgstr ""
+"Should we show the confirm metacontacts creation dialogue or not? Empty "
+"string means we never show the dialogue."
+
+#: ../src/common/config.py:227
+msgid ""
+"If True, you will be able to set a negative priority to your account in "
+"account modification window. BE CAREFUL, when you are logged in with a "
+"negative priority, you will NOT receive any message from your server."
+msgstr ""
+"If True, you will be able to set a negative priority to your account in "
+"account modification window. BE CAREFUL, when you are logged in with a "
+"negative priority, you will NOT receive any message from your server."
+
+#: ../src/common/config.py:228
+msgid ""
+"If True, Gajim will use Gnome Keyring (if available) to store account "
+"passwords."
+msgstr ""
+"If True, Gajim will use Gnome Keyring (if available) to store account "
+"passwords."
+
+#: ../src/common/config.py:229
+msgid ""
+"If True, Gajim will show number of online and total contacts in account and "
+"group rows."
+msgstr ""
+"If True, Gajim will show number of online and total contacts in account and "
+"group rows."
+
+#: ../src/common/config.py:230
+msgid ""
+"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
+"as if they were of this type"
+msgstr ""
+"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
+"as if they were of this type"
+
+#: ../src/common/config.py:231
+msgid ""
+"If True, Gajim will scroll and select the contact who sent you the last "
+"message, if chat window is not already opened."
+msgstr ""
+
+#: ../src/common/config.py:232
+msgid ""
+"If True, Gajim will convert string between $$ and $$ to an image using dvips "
+"and convert before insterting it in chat window."
+msgstr ""
+
+#: ../src/common/config.py:233
+msgid "Time of inactivity needed before the change status window closes down."
+msgstr ""
+
+#: ../src/common/config.py:234
+msgid ""
+"Maximum number of lines that are printed in conversations. Oldest lines are "
+"cleared."
+msgstr ""
+
+#: ../src/common/config.py:245
+msgid ""
+"Priority will change automatically according to your status. Priorities are "
+"defined in autopriority_* options."
+msgstr ""
+"Priority will change automatically according to your status. Priorities are "
+"defined in autopriority_* options."
+
+#. yes, no, ask
+#: ../src/common/config.py:275
+msgid "Jabberd2 workaround"
+msgstr "Jabberd2 workaround"
+
+#: ../src/common/config.py:279
+msgid ""
+"If checked, Gajim will use your IP and proxies defined in "
+"file_transfer_proxies option for file transfer."
+msgstr ""
+"If ticked, Gajim will use your IP and proxies defined in "
+"file_transfer_proxies option for file transfer."
+
+#: ../src/common/config.py:338
+msgid "Is OpenPGP enabled for this contact?"
+msgstr "Is OpenPGP enabled for this contact?"
+
+#: ../src/common/config.py:339 ../src/common/config.py:342
+msgid "Language for which we want to check misspelled words"
+msgstr "Language for which we want to check misspelt words"
+
+#: ../src/common/config.py:348
+msgid "all or space separated status"
+msgstr "all or space separated status"
+
+#: ../src/common/config.py:349
+msgid "'yes', 'no', or 'both'"
+msgstr "'yes', 'no', or 'both'"
+
+#: ../src/common/config.py:350 ../src/common/config.py:352
+#: ../src/common/config.py:353 ../src/common/config.py:356
+#: ../src/common/config.py:357
+msgid "'yes', 'no' or ''"
+msgstr "'yes', 'no' or ''"
+
+#: ../src/common/config.py:363
+msgid "Sleeping"
+msgstr "Sleeping"
+
+#: ../src/common/config.py:364
+msgid "Back soon"
+msgstr "Back soon"
+
+#: ../src/common/config.py:364
+msgid "Back in some minutes."
+msgstr "Back in some minutes."
+
+#: ../src/common/config.py:365
+msgid "Eating"
+msgstr "Eating"
+
+#: ../src/common/config.py:365
+msgid "I'm eating, so leave me a message."
+msgstr "I'm eating, so leave me a message."
+
+#: ../src/common/config.py:366
+msgid "Movie"
+msgstr "Movie"
+
+#: ../src/common/config.py:366
+msgid "I'm watching a movie."
+msgstr "I'm watching a movie."
+
+#: ../src/common/config.py:367
+msgid "Working"
+msgstr "Working"
+
+#: ../src/common/config.py:367
+msgid "I'm working."
+msgstr "I'm working."
+
+#: ../src/common/config.py:368
+msgid "Phone"
+msgstr "Phone"
+
+#: ../src/common/config.py:368
+msgid "I'm on the phone."
+msgstr "I'm on the phone."
+
+#: ../src/common/config.py:369
+msgid "Out"
+msgstr "Out"
+
+#: ../src/common/config.py:369
+msgid "I'm out enjoying life."
+msgstr "I'm out enjoying life."
+
+#: ../src/common/config.py:373
+msgid "I'm available."
+msgstr "I'm available."
+
+#: ../src/common/config.py:374
+msgid "I'm free for chat."
+msgstr "I'm free for chat."
+
+#: ../src/common/config.py:376
+msgid "I'm not available."
+msgstr "I'm not available."
+
+#: ../src/common/config.py:377
+msgid "Do not disturb."
+msgstr "Do not disturb."
+
+#: ../src/common/config.py:378 ../src/common/config.py:379
+msgid "Bye!"
+msgstr "Bye!"
+
+#: ../src/common/config.py:388
+msgid ""
+"Sound to play when a group chat message contains one of the words in "
+"muc_highlight_words, or when a group chat message contains your nickname."
+msgstr ""
+"Sound to play when a group chat message contains one of the words in "
+"muc_highlight_words, or when a group chat message contains your nickname."
+
+#: ../src/common/config.py:389
+msgid "Sound to play when any MUC message arrives."
+msgstr "Sound to play when any MUC message arrives."
+
+#: ../src/common/config.py:398 ../src/common/optparser.py:208
+msgid "green"
+msgstr "green"
+
+#: ../src/common/config.py:402 ../src/common/optparser.py:194
+msgid "grocery"
+msgstr "grocery"
+
+#: ../src/common/config.py:406
+msgid "human"
+msgstr "human"
+
+#: ../src/common/config.py:410
+msgid "marine"
+msgstr "marine"
+
+#: ../src/common/connection_handlers.py:56
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:44
+msgid "Unable to load idle module"
+msgstr "Unable to load idle module"
+
+#: ../src/common/connection_handlers.py:184
+#: ../src/common/connection_handlers.py:219
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+msgid "Wrong host"
+msgstr "Wrong host"
+
+#: ../src/common/connection_handlers.py:184
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+#, fuzzy, python-format
+msgid ""
+"The host %s you configured as the ft_add_hosts_to_send advanced option is "
+"not valid, so ignored."
+msgstr ""
+"The host you configured as the ft_override_host_to_send advanced option is "
+"not valid, so ignored."
+
+#: ../src/common/connection_handlers.py:220
+msgid "Invalid local address? :-O"
+msgstr ""
+
+#: ../src/common/connection_handlers.py:612
+#, python-format
+msgid "Registration information for transport %s has not arrived in time"
+msgstr "Registration information for transport %s has not arrived in time"
+
+#: ../src/common/connection_handlers.py:1776
+#, python-format
+msgid "Nickname not allowed: %s"
+msgstr "Nickname not allowed: %s"
+
+#. we are banned
+#. group chat does not exist
+#: ../src/common/connection_handlers.py:1846
+#: ../src/common/connection_handlers.py:1849
+#: ../src/common/connection_handlers.py:1852
+#: ../src/common/connection_handlers.py:1855
+#: ../src/common/connection_handlers.py:1859
+#: ../src/common/connection_handlers.py:1868
+msgid "Unable to join group chat"
+msgstr "Unable to join group chat"
+
+#: ../src/common/connection_handlers.py:1847
+#, fuzzy, python-format
+msgid "You are banned from group chat %s."
+msgstr "You are banned from this group chat."
+
+#: ../src/common/connection_handlers.py:1850
+#, fuzzy, python-format
+msgid "Group chat %s does not exist."
+msgstr "Such group chat does not exist."
+
+#: ../src/common/connection_handlers.py:1853
+msgid "Group chat creation is restricted."
+msgstr "Group chat creation is restricted."
+
+#: ../src/common/connection_handlers.py:1856
+#, fuzzy, python-format
+msgid "Your registered nickname must be used in group chat %s."
+msgstr "Your registered nickname must be used."
+
+#: ../src/common/connection_handlers.py:1860
+#, fuzzy, python-format
+msgid "You are not in the members list in groupchat %s."
+msgstr "You are not in the members list."
+
+#: ../src/common/connection_handlers.py:1869
+#, fuzzy, python-format
+msgid ""
+"Your desired nickname in group chat %s is in use or registered by another "
+"occupant.\n"
+"Please specify another nickname below:"
+msgstr ""
+"Your desired nickname is in use or registered by another occupant.\n"
+"Please specify another nickname below:"
+
+#. Room has been destroyed. see
+#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom
+#: ../src/common/connection_handlers.py:1900
+#, fuzzy
+msgid "Room has been destroyed"
+msgstr "Authorisation has been removed"
+
+#: ../src/common/connection_handlers.py:1907
+#, python-format
+msgid "You can join this room instead: %s"
+msgstr ""
+
+#: ../src/common/connection_handlers.py:1934
+msgid "I would like to add you to my roster."
+msgstr "I would like to add you to my roster."
+
+#. BE CAREFUL: no con.updateRosterItem() in a callback
+#: ../src/common/connection_handlers.py:1955
+#, python-format
+msgid "we are now subscribed to %s"
+msgstr "we are now subscribed to %s"
+
+#: ../src/common/connection_handlers.py:1957
+#, python-format
+msgid "unsubscribe request from %s"
+msgstr "unsubscribe request from %s"
+
+#: ../src/common/connection_handlers.py:1959
+#, python-format
+msgid "we are now unsubscribed from %s"
+msgstr "we are now unsubscribed from %s"
+
+#: ../src/common/connection_handlers.py:2081
+#, python-format
+msgid ""
+"JID %s is not RFC compliant. It will not be added to your roster. Use roster "
+"management tools such as http://jru.jabberstudio.org/ to remove it"
+msgstr ""
+"JID %s is not RFC compliant. It will not be added to your roster. Use roster "
+"management tools such as http://jru.jabberstudio.org/ to remove it"
+
+#: ../src/common/connection.py:244
+#: ../src/common/zeroconf/connection_zeroconf.py:203
+#, python-format
+msgid "Connection with account \"%s\" has been lost"
+msgstr "Connection with account \"%s\" has been lost"
+
+#: ../src/common/connection.py:245
+msgid "Reconnect manually."
+msgstr "Reconnect manually."
+
+#: ../src/common/connection.py:256
+#, fuzzy, python-format
+msgid "Server %s answered wrongly to register request: %s"
+msgstr "Transport %s answered wrongly to register request: %s"
+
+#. wrong answer
+#: ../src/common/connection.py:264
+msgid "Invalid answer"
+msgstr "Invalid answer"
+
+#: ../src/common/connection.py:265
+#, python-format
+msgid "Transport %s answered wrongly to register request: %s"
+msgstr "Transport %s answered wrongly to register request: %s"
+
+#: ../src/common/connection.py:411
+#, fuzzy
+msgid "Connection to proxy failed"
+msgstr "Connection Failed"
+
+#: ../src/common/connection.py:465 ../src/common/connection.py:511
+#: ../src/common/connection.py:1067
+#: ../src/common/zeroconf/connection_zeroconf.py:237
+#, python-format
+msgid "Could not connect to \"%s\""
+msgstr "Could not connect to \"%s\""
+
+#: ../src/common/connection.py:479
+#, python-format
+msgid "Connected to server %s:%s with %s"
+msgstr "Connected to server %s:%s with %s"
+
+#: ../src/common/connection.py:512
+msgid "Check your connection or try again later"
+msgstr "Check your connection or try again later"
+
+#: ../src/common/connection.py:537
+#, python-format
+msgid "Authentication failed with \"%s\""
+msgstr "Authentication failed with \"%s\""
+
+#: ../src/common/connection.py:538
+msgid "Please check your login and password for correctness."
+msgstr "Please check your login and password for correctness."
+
+#: ../src/common/connection.py:581
+msgid "Error while removing privacy list"
+msgstr "Error while removing privacy list"
+
+#: ../src/common/connection.py:582
+#, fuzzy, python-format
+msgid ""
+"Privacy list %s has not been removed. It is maybe active in one of your "
+"connected resources. Deactivate it and try again."
+msgstr ""
+"Privacy list %s has not been removed. It is maybe active in one of your "
+"connected resources. Deactivate it and try again."
+
+#. We didn't set a passphrase
+#: ../src/common/connection.py:682
+#: ../src/common/zeroconf/connection_zeroconf.py:163
+msgid "OpenPGP passphrase was not given"
+msgstr "OpenPGP passphrase was not given"
+
+#. we're not english
+#. one  in locale and one en
+#: ../src/common/connection.py:845
+msgid "[This message is *encrypted* (See :JEP:`27`]"
+msgstr "[This message is *encrypted* (See :JEP:`27`]"
+
+#: ../src/common/connection.py:916
+#: ../src/common/zeroconf/connection_zeroconf.py:423
+#, python-format
+msgid ""
+"Subject: %s\n"
+"%s"
+msgstr ""
+"Subject: %s\n"
+"%s"
+
+#: ../src/common/connection.py:1099
+msgid "Not fetched because of invisible status"
+msgstr "Not fetched because of invisible status"
+
+#: ../src/common/contacts.py:294
+msgid "Not in roster"
+msgstr "Not in roster"
+
+#. only say that to non Windows users
+#: ../src/common/dbus_support.py:33
+msgid "D-Bus python bindings are missing in this computer"
+msgstr "D-Bus python bindings are missing in this computer"
+
+#: ../src/common/dbus_support.py:34
+msgid "D-Bus capabilities of Gajim cannot be used"
+msgstr "D-Bus capabilities of Gajim cannot be used"
+
+#: ../src/common/exceptions.py:22
+msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
+msgstr "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
+
+#: ../src/common/exceptions.py:39
+msgid "Service not available: Gajim is not running, or remote_control is False"
+msgstr ""
+"Service not available: Gajim is not running, or remote_control is False"
+
+#: ../src/common/exceptions.py:47
+msgid "D-Bus is not present on this machine or python module is missing"
+msgstr "D-Bus is not present on this machine or python module is missing"
+
+#: ../src/common/exceptions.py:55
+msgid ""
+"Session bus is not available.\n"
+"Try reading http://trac.gajim.org/wiki/GajimDBus"
+msgstr ""
+"Session bus is not available.\n"
+"Try reading http://trac.gajim.org/wiki/GajimDBus"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "one"
+msgstr "one"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "two"
+msgstr "two"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "three"
+msgstr "three"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "four"
+msgstr "four"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "five"
+msgstr "five"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "six"
+msgstr "six"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "seven"
+msgstr "seven"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "eight"
+msgstr "eight"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "nine"
+msgstr "nine"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "ten"
+msgstr "ten"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "eleven"
+msgstr "eleven"
+
+#: ../src/common/fuzzyclock.py:44
+msgid "twelve"
+msgstr "twelve"
+
+#. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). '''
+#. A "singular-form". It is used when talking about hour 0
+#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+msgid "$0 o'clock"
+msgstr "$0 o'clock"
+
+#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+msgid "five past $0"
+msgstr "five past $0"
+
+#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+msgid "ten past $0"
+msgstr "ten past $0"
+
+#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+msgid "quarter past $0"
+msgstr "quarter past $0"
+
+#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+msgid "twenty past $0"
+msgstr "twenty past $0"
+
+#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+msgid "twenty five past $0"
+msgstr "twenty five past $0"
+
+#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+msgid "half past $0"
+msgstr "half past $0"
+
+#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+msgid "twenty five to $1"
+msgstr "twenty five to $1"
+
+#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+msgid "twenty to $1"
+msgstr "twenty to $1"
+
+#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+msgid "quarter to $1"
+msgstr "quarter to $1"
+
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+msgid "ten to $1"
+msgstr "ten to $1"
+
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+msgid "five to $1"
+msgstr "five to $1"
+
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:61
+msgid "$1 o'clock"
+msgstr "$1 o'clock"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Night"
+msgstr "Night"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Early morning"
+msgstr "Early morning"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Morning"
+msgstr "Morning"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Almost noon"
+msgstr "Almost noon"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Noon"
+msgstr "Noon"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Afternoon"
+msgstr "Afternoon"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Evening"
+msgstr "Evening"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Late evening"
+msgstr "Late evening"
+
+#: ../src/common/fuzzyclock.py:67
+msgid "Start of week"
+msgstr "Start of week"
+
+#: ../src/common/fuzzyclock.py:67
+msgid "Middle of week"
+msgstr "Middle of week"
+
+#: ../src/common/fuzzyclock.py:67
+msgid "End of week"
+msgstr "End of week"
+
+#: ../src/common/fuzzyclock.py:68
+msgid "Weekend!"
+msgstr "Weekend!"
+
+#: ../src/common/helpers.py:115
+msgid "Invalid character in username."
+msgstr "Invalid character in username."
+
+#: ../src/common/helpers.py:120
+msgid "Server address required."
+msgstr "Server address required."
+
+#: ../src/common/helpers.py:125
+msgid "Invalid character in hostname."
+msgstr "Invalid character in hostname."
+
+#: ../src/common/helpers.py:131
+msgid "Invalid character in resource."
+msgstr "Invalid character in resource."
+
+#. GiB means gibibyte
+#: ../src/common/helpers.py:171
+#, python-format
+msgid "%s GiB"
+msgstr "%s GiB"
+
+#. GB means gigabyte
+#: ../src/common/helpers.py:174
+#, python-format
+msgid "%s GB"
+msgstr "%s GB"
+
+#. MiB means mibibyte
+#: ../src/common/helpers.py:178
+#, python-format
+msgid "%s MiB"
+msgstr "%s MiB"
+
+#. MB means megabyte
+#: ../src/common/helpers.py:181
+#, python-format
+msgid "%s MB"
+msgstr "%s MB"
+
+#. KiB means kibibyte
+#: ../src/common/helpers.py:185
+#, python-format
+msgid "%s KiB"
+msgstr "%s KiB"
+
+#. KB means kilo bytes
+#: ../src/common/helpers.py:188
+#, python-format
+msgid "%s KB"
+msgstr "%s KB"
+
+#. B means bytes
+#: ../src/common/helpers.py:191
+#, python-format
+msgid "%s B"
+msgstr "%s B"
+
+#: ../src/common/helpers.py:222
+msgid "_Busy"
+msgstr "_Užimtas"
+
+#: ../src/common/helpers.py:224
+msgid "Busy"
+msgstr "Užimtas"
+
+#: ../src/common/helpers.py:227
+msgid "_Not Available"
+msgstr "_Nepasiekiamas"
+
+#: ../src/common/helpers.py:232
+msgid "_Free for Chat"
+msgstr "_Laisvas Pokalbiams"
+
+#: ../src/common/helpers.py:234
+msgid "Free for Chat"
+msgstr "Laisvas Pokalbiams"
+
+#: ../src/common/helpers.py:237
+msgid "_Available"
+msgstr "_Prisijungęs"
+
+#: ../src/common/helpers.py:239
+msgid "Available"
+msgstr "Prisijungęs"
+
+#: ../src/common/helpers.py:241
+msgid "Connecting"
+msgstr "Jungiamasi"
+
+#: ../src/common/helpers.py:244
+msgid "A_way"
+msgstr "_Nuėjęs"
+
+#: ../src/common/helpers.py:249
+msgid "_Offline"
+msgstr "A_tsijungęs"
+
+#: ../src/common/helpers.py:251
+msgid "Offline"
+msgstr "Atsijungęs"
+
+#: ../src/common/helpers.py:254
+msgid "_Invisible"
+msgstr "N_ematomas"
+
+#: ../src/common/helpers.py:260
+msgid "?contact has status:Unknown"
+msgstr "Būklė nežinoma"
+
+#: ../src/common/helpers.py:262
+msgid "?contact has status:Has errors"
+msgstr "BÅ«klÄ— klaidinga"
+
+#: ../src/common/helpers.py:267
+msgid "?Subscription we already have:None"
+msgstr "Joks"
+
+#: ../src/common/helpers.py:269
+msgid "To"
+msgstr "Kam"
+
+#: ../src/common/helpers.py:273
+msgid "Both"
+msgstr "Abu"
+
+#: ../src/common/helpers.py:281
+msgid "?Ask (for Subscription):None"
+msgstr "Joks"
+
+#: ../src/common/helpers.py:283
+msgid "Subscribe"
+msgstr "Subscribe"
+
+#: ../src/common/helpers.py:292
+msgid "?Group Chat Contact Role:None"
+msgstr "None"
+
+#: ../src/common/helpers.py:295
+msgid "Moderators"
+msgstr "Moderators"
+
+#: ../src/common/helpers.py:297
+msgid "Moderator"
+msgstr "Moderator"
+
+#: ../src/common/helpers.py:300
+msgid "Participants"
+msgstr "Participants"
+
+#: ../src/common/helpers.py:302
+msgid "Participant"
+msgstr "Participant"
+
+#: ../src/common/helpers.py:305
+msgid "Visitors"
+msgstr "Visitors"
+
+#: ../src/common/helpers.py:307
+msgid "Visitor"
+msgstr "Visitor"
+
+#: ../src/common/helpers.py:313
+msgid "?Group Chat Contact Affiliation:None"
+msgstr "None"
+
+#: ../src/common/helpers.py:315
+msgid "Owner"
+msgstr "Owner"
+
+#: ../src/common/helpers.py:317
+msgid "Administrator"
+msgstr "Administrator"
+
+#: ../src/common/helpers.py:319
+msgid "Member"
+msgstr "Member"
+
+#: ../src/common/helpers.py:358
+msgid "is paying attention to the conversation"
+msgstr "is paying attention to the conversation"
+
+#: ../src/common/helpers.py:360
+msgid "is doing something else"
+msgstr "is doing something else"
+
+#: ../src/common/helpers.py:362
+msgid "is composing a message..."
+msgstr "is composing a message..."
+
+#. paused means he or she was composing but has stopped for a while
+#: ../src/common/helpers.py:365
+msgid "paused composing a message"
+msgstr "paused composing a message"
+
+#: ../src/common/helpers.py:367
+msgid "has closed the chat window or tab"
+msgstr "has closed the chat window or tab"
+
+#: ../src/common/helpers.py:913 ../src/common/helpers.py:920
+#, fuzzy, python-format
+msgid "%d message pending"
+msgid_plural "%d messages pending"
+msgstr[0] "Siųsti žinutę"
+msgstr[1] "Siųsti žinutę"
+
+#: ../src/common/helpers.py:926
+#, python-format
+msgid " from room %s"
+msgstr ""
+
+#: ../src/common/helpers.py:929 ../src/common/helpers.py:948
+#, python-format
+msgid " from user %s"
+msgstr ""
+
+#: ../src/common/helpers.py:931
+#, python-format
+msgid " from %s"
+msgstr ""
+
+#: ../src/common/helpers.py:938 ../src/common/helpers.py:945
+#, python-format
+msgid "%d event pending"
+msgid_plural "%d events pending"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../src/common/helpers.py:978
+#, python-format
+msgid "Gajim - %s"
+msgstr "Gajim - %s"
+
+#. we talk about a file
+#: ../src/common/optparser.py:60
+#, python-format
+msgid "error: cannot open %s for reading"
+msgstr "error: cannot open %s for reading"
+
+#: ../src/common/optparser.py:203 ../src/common/optparser.py:204
+msgid "cyan"
+msgstr "cyan"
+
+#: ../src/common/optparser.py:320
+msgid "migrating logs database to indices"
+msgstr "migrating logs database to indices"
+
+#: ../src/common/passwords.py:82
+#, python-format
+msgid "Gajim account %s"
+msgstr "Gajim account %s"
+
+#: ../src/common/zeroconf/client_zeroconf.py:135
+#: ../src/common/zeroconf/client_zeroconf.py:218
+msgid "Connection to host could not be established"
+msgstr "Connection to host could not be established"
+
+#: ../src/common/zeroconf/client_zeroconf.py:192
+msgid ""
+"Connection to host could not be established: Incorrect answer from server."
+msgstr ""
+"Connection to host could not be established: Incorrect answer from server."
+
+#: ../src/common/zeroconf/client_zeroconf.py:352
+msgid ""
+"Connection to host could not be established: Timeout while sending data."
+msgstr ""
+"Connection to host could not be established: Timeout while sending data."
+
+#: ../src/common/zeroconf/client_zeroconf.py:638
+msgid "Contact is offline. Your message could not be sent."
+msgstr "Contact is offline. Your message could not be sent."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:204
+msgid "To continue sending and receiving messages, you will need to reconnect."
+msgstr ""
+"To continue sending and receiving messages, you will need to reconnect."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:227
+msgid "Avahi error"
+msgstr "Avahi error"
+
+#: ../src/common/zeroconf/connection_zeroconf.py:227
+#, python-format
+msgid ""
+"%s\n"
+"Link-local messaging might not work properly."
+msgstr ""
+"%s\n"
+"Link-local messaging might not work properly."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:238
+msgid "Please check if Avahi is installed."
+msgstr "Please check if Avahi is installed."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:247
+#: ../src/common/zeroconf/connection_zeroconf.py:251
+msgid "Could not start local service"
+msgstr "Could not start local service"
+
+#: ../src/common/zeroconf/connection_zeroconf.py:248
+#, python-format
+msgid "Unable to bind to port %d."
+msgstr "Unable to bind to port %d."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:252
+#: ../src/common/zeroconf/connection_zeroconf.py:347
+msgid "Please check if avahi-daemon is running."
+msgstr "Please check if avahi-daemon is running."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:346
+#, python-format
+msgid "Could not change status of account \"%s\""
+msgstr "Could not change status of account \"%s\""
+
+#: ../src/common/zeroconf/connection_zeroconf.py:363
+msgid ""
+"You are not connected or not visible to others. Your message could not be "
+"sent."
+msgstr ""
+"You are not connected or not visible to others. Your message could not be "
+"sent."
+
+#. we're not english
+#: ../src/common/zeroconf/connection_zeroconf.py:375
+msgid "[This message is encrypted]"
+msgstr "[This message is encrypted]"
+
+#~ msgid "_Discover Services..."
+#~ msgstr "_Ieškoti paslaugų..."
+
+#~ msgid "_Retype Password:"
+#~ msgstr "_Pakartokite slaptažodį:"
+
+#~ msgid "_Use proxy"
+#~ msgstr "_Naudoti proksi"
+
+#~ msgid "Accounts"
+#~ msgstr "Prieiga"
+
+#~ msgid ""
+#~ "If checked, all local contacts that use a Bonjour compatible chat client "
+#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to "
+#~ "be connected to a jabber server for it to work.\n"
+#~ "This is only available if python-avahi is installed and avahi-daemon is "
+#~ "running."
+#~ msgstr ""
+#~ "Jei pažymėta, visi lokalūs asmenys, kurie naudoja pokalbių programas, "
+#~ "palaikančias Bonjour (tokias kaip: iChat, Trillian ar Gaim) bus rodomi "
+#~ "asmenų sąraše. Jums nereikia būti prisijungusiam prie jabber serverio, "
+#~ "kad tai veiktų.\n"
+#~ "Tai veikia, tik tuo atveju, jei python-avahi yra įdiegtas ir avahi-deamon "
+#~ "yra  paleistas."
+
+#~ msgid ""
+#~ "If you have 2 or more accounts and this is checked, Gajim will list all "
+#~ "contacts as if you had one account"
+#~ msgstr ""
+#~ "Jei jūs turite kelias prieigas ir ši žymė yra pažymėta, Gajim pateiks "
+#~ "visų asmenų sąrašą taip, lyg jie visi priklausytų vienai prieigai"
+
+#~ msgid "_Enable link-local messaging"
+#~ msgstr "Įjungti lokalūjį pokalbių r_ežimą"
+
+#~ msgid "_Modify"
+#~ msgstr "_Keisti"
+
+#~ msgid "_Compact View    Alt+C"
+#~ msgstr "_Kompaktiška išvaizda    Alt+C"
+
+#~ msgid "<b>Interface Customization</b>"
+#~ msgstr "<b>IÅ¡vaizdos keitimas</b>"
+
+#~ msgid "Also known as iChat style"
+#~ msgstr "Taip pat žinomas, kaip iChat stilius"
+
+#~ msgid "Chat"
+#~ msgstr "Pokalbis"
+
+#~ msgid "E_very 5 minutes"
+#~ msgstr "_Kas 5 minutes"
+
+#~ msgid ""
+#~ "Gajim will automatically show new events by popping up the relative window"
+#~ msgstr "Gajim automatiškai rodys naujus įvykius iššokančiame langelyje."
+
+#~ msgid ""
+#~ "Gajim will notify you for new events via a popup in the bottom right of "
+#~ "the screen"
+#~ msgstr ""
+#~ "Gajim praneš apie naujus įvykius iššokančiame langelyje, kuris pasirodys "
+#~ "dešiniajame apatiniame ekrano kampe"
+
+#~ msgid ""
+#~ "Gajim will notify you via a popup window in the bottom right of the "
+#~ "screen about contacts that just signed in"
+#~ msgstr ""
+#~ "Gajim rodys pranešimus apie ką tik prisijungusius asmenis iššokančiame "
+#~ "langelyje, dešiniajame apatiniame ekrano kampe"
+
+#~ msgid ""
+#~ "Gajim will only change the icon of the contact that triggered the new "
+#~ "event"
+#~ msgstr "Gajim keis tik tų asmenų piktogramas, kurie atliko naują įvykį"
+
+#~ msgid ""
+#~ "If checked, Gajim will remember the roster and chat window positions in "
+#~ "the screen and the sizes of them next time you run it"
+#~ msgstr ""
+#~ "Jei pažymėta, Gajim atsimins kontaktų sąrašo ir pokalbių lango pozicijas "
+#~ "ir dydžius ekrane sekančio paleidimo metu"
+
+#~ msgid "On every _message"
+#~ msgstr "_Kiekvienai žinutei"
+
+#~ msgid "Outgoing Chat state noti_fications:"
+#~ msgstr "Išeinančių pokalbių būklės pranešimai:"
+
+#~ msgid "Print time:"
+#~ msgstr "Spausdinimo laikas:"
+
+#~ msgid "Save _position and size for roster and chat windows"
+#~ msgstr "Įsiminti kontakų sąrašo ir pokalbių langų pozicijas ir dydžius"
+
+#~ msgid "Show only in _roster"
+#~ msgstr "Rodyti tik kontaktų _sąrašą"
+
+#~ msgid "Use t_rayicon (aka. notification area icon)"
+#~ msgstr "Naudoti piktogramą trėjuje (pranešimų panelės piktograma)"
+
+#~ msgid ""
+#~ "When a new event (message, file transfer request etc..) is received, the "
+#~ "following methods may be used to inform you about it. Please note that "
+#~ "events about new messages only occur if it is a new message from a "
+#~ "contact you are not already chatting with"
+#~ msgstr ""
+#~ "Naujam įvykiui ivykus (atėjus žinutei, failui ir pan.), sekantys būdai "
+#~ "gali būti naudojami jums informuoti apie tai. Pastaba: naujų žinučių "
+#~ "įvykiai pasirodys tik jei tai bus nauja žinutė nuo kurio nors asmens, su "
+#~ "kuriuo jūs dar nebuvote pradėjęs pokalbio"
+
+#~ msgid "_Never"
+#~ msgstr "_Niekada"
+
+#~ msgid "_Notify me about it"
+#~ msgstr "_Pranešti man apie tai"
+
+#~ msgid "_Pop it up"
+#~ msgstr "_Rodyk"
+
+#~ msgid "_Remove from Roster"
+#~ msgstr "Ša_linti iš Kontaktų Sąrašo"
+
+#~ msgid "Add _Contact"
+#~ msgstr "Įtraukti _Asmenį"
+
+#~ msgid "_Filter:"
+#~ msgstr "_Filtras:"
+
+#~ msgid ""
+#~ "If that is not your language for which you want to highlight misspelled "
+#~ "words, then please set your $LANG as appropriate. Eg. for French do "
+#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to "
+#~ "make it global in /etc/profile.\n"
+#~ "\n"
+#~ "Highlighting misspelled words feature will not be used"
+#~ msgstr ""
+#~ "If that is not your language for which you want to highlight misspelt "
+#~ "words, then please set your $LANG as appropriate. Eg. for French do "
+#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to "
+#~ "make it global in /etc/profile.\n"
+#~ "\n"
+#~ "Highlighting misspelt words feature will not be used"
+
+#~ msgid "Every %s _minutes"
+#~ msgstr "Every %s _minutes"
+
+#~ msgid "You must enter a password for the new account."
+#~ msgstr "You must enter a password for the new account."
+
+#~ msgid "%s does not appear to be a valid JID"
+#~ msgstr "%s does not appear to be a valid JID"
+
+#~ msgid "Drop %s in group %s"
+#~ msgstr "Drop %s in group %s"
+
+#~ msgid "Make %s and %s metacontacts"
+#~ msgstr "Make %s and %s metacontacts"
+
+#~ msgid "Hides the buttons in two persons chat window."
+#~ msgstr "Hides the buttons in two persons chat window."
+
+#~ msgid " %d unread single message"
+#~ msgid_plural " %d unread single messages"
+#~ msgstr[0] " %d unread single message"
+#~ msgstr[1] " %d unread single messages"
+
+#~ msgid " %d unread group chat message"
+#~ msgid_plural " %d unread group chat messages"
+#~ msgstr[0] " %d unread group chat message"
+#~ msgstr[1] " %d unread group chat messages"
+
+#~ msgid " %d unread private message"
+#~ msgid_plural " %d unread private messages"
+#~ msgstr[0] " %d unread private message"
+#~ msgstr[1] " %d unread private messages"
+
+#~ msgid "Error while adding service. %s"
+#~ msgstr "Error while adding service. %s"
+
+#~ msgid "gtk+"
+#~ msgstr "gtk+"
+
+#~ msgid "Private Chat"
+#~ msgstr "Private Chat"
+
+#~ msgid "Group Chat"
+#~ msgstr "Group Chat"
+
+#~ msgid "invisible"
+#~ msgstr "invisible"
+
+#~ msgid "offline"
+#~ msgstr "offline"
+
+#~ msgid "I'm %s"
+#~ msgstr "I'm %s"
+
+#~ msgid "2003-12-13T18:30:02Z"
+#~ msgstr "2003-12-13T18:30:02Z"
+
+#~ msgid "<small>Romeo and Juliet</small>"
+#~ msgstr "<small>Romeo and Juliet</small>"
+
+#~ msgid "Old stories"
+#~ msgstr "Old stories"
+
+#~ msgid "Soliloquy"
+#~ msgstr "Soliloquy"
+
+#~ msgid "A_fter nickname:"
+#~ msgstr "A_fter nickname:"
+
+#~ msgid "B_efore nickname:"
+#~ msgstr "B_efore nickname:"
+
+#~ msgid "_After time:"
+#~ msgstr "_After time:"
+
+#~ msgid "_Before time:"
+#~ msgstr "_Before time:"
+
+#~ msgid "_Publish"
+#~ msgstr "_Publish"
+
+#~ msgid "_Retrieve"
+#~ msgstr "_Retrieve"
+
+#~ msgid "Information published"
+#~ msgstr "Information published"
+
+#~ msgid "Without a connection, you can not get your contact information."
+#~ msgstr "Without a connection, you can not get your contact information."
+
+#~ msgid "This is result of query."
+#~ msgstr "This is result of query."
+
+#~ msgid "Edit items on the list"
+#~ msgstr "Edit items on the list"
diff --git a/po/pl.po b/po/pl.po
index 39fab72d4e77b28603383dbe0d13e53f7e3b2833..930265fa14e013635f96a830e12eb031f52de4d1 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,18 +5,17 @@
 # Automatically generated, 2005.
 #
 #
-#: ../src/chat_control.py:1182 ../src/gajim-remote.py:203
-#: ../src/gajim-remote.py:210 ../src/gajim-remote.py:236
-#: ../src/gajim-remote.py:237 ../src/gajim-remote.py:243
-#: ../src/gajim-remote.py:244 ../src/gajim-remote.py:245
-#: ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:217 ../src/gajim-remote.py:224
+#: ../src/gajim-remote.py:250 ../src/gajim-remote.py:251
+#: ../src/gajim-remote.py:257 ../src/gajim-remote.py:258
+#: ../src/gajim-remote.py:259 ../src/gajim-remote.py:260
 msgid ""
 msgstr ""
 "Project-Id-Version: gajim 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-05-02 20:42+0200\n"
+"POT-Creation-Date: 2007-11-07 14:56+0100\n"
 "PO-Revision-Date: 2006-11-08 09:01+0100\n"
-"Last-Translator: Maciej Chojnacki <byte@byte.livenet.pl>\n"
+"Last-Translator: Maciej Chojnacki <maciej.chojnacki@gmail.com>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -37,36 +36,36 @@ msgid "Jabber IM Client"
 msgstr "Klient komunikatora Jabber"
 
 #: ../data/glade/account_context_menu.glade.h:1
-msgid "Send Single _Message..."
-msgstr "Wyślij _wiadomość..."
+#: ../data/glade/roster_window.glade.h:8
+msgid "Join _Group Chat..."
+msgstr "Dołącz do _pokoju"
 
 #: ../data/glade/account_context_menu.glade.h:2
 msgid "_Add Contact..."
 msgstr "Dod_aj kontakt..."
 
 #: ../data/glade/account_context_menu.glade.h:3
-msgid "_Discover Services..."
-msgstr "_Wyszukuj usługi..."
+#: ../data/glade/roster_window.glade.h:15
+msgid "_Discover Services"
+msgstr "_Wyszukuj usługi"
 
 #: ../data/glade/account_context_menu.glade.h:4
 msgid "_Execute Command..."
 msgstr "_Wykonaj komendÄ™"
 
 #: ../data/glade/account_context_menu.glade.h:5
-#: ../data/glade/roster_window.glade.h:16
-#: ../data/glade/systray_context_menu.glade.h:6
-msgid "_Group Chat"
-msgstr "_Pokój"
+msgid "_Modify Account"
+msgstr "_Modyfikuj konto"
 
 #: ../data/glade/account_context_menu.glade.h:6
-#: ../data/glade/zeroconf_context_menu.glade.h:1
-msgid "_Modify Account..."
-msgstr "_Modyfikuj konto..."
-
-#: ../data/glade/account_context_menu.glade.h:7
 msgid "_Open Gmail Inbox"
 msgstr "_Otwórz skrzynkę Gmail"
 
+#: ../data/glade/account_context_menu.glade.h:7
+#: ../data/glade/roster_window.glade.h:23
+msgid "_Start Chat..."
+msgstr "_Rozpocznij rozmowÄ™"
+
 #: ../data/glade/account_context_menu.glade.h:8
 #: ../data/glade/zeroconf_context_menu.glade.h:2
 msgid "_Status"
@@ -74,11 +73,11 @@ msgstr "_Status"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:1
 msgid ""
-"<b>Account is being created</b>\n"
+"<b>Connecting to server</b>\n"
 "\n"
 "Please wait..."
 msgstr ""
-"<b>Konto jest tworzone</b>\n"
+"<b>Łączenie z serwerem</b>\n"
 "\n"
 "proszę czekać..."
 
@@ -91,50 +90,67 @@ msgid "<b>Please fill in the data for your new account</b>"
 msgstr "<b>Wpisz dane do swojego nowego konta</b>"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:6
+msgid "<b>Please select a server</b>"
+msgstr "<b>Wybierz serwer</b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:7
 msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
 msgstr ""
 "Kliknij by zobaczyć możliwości serwerów jabbera (np. transporty MSN czy ICQ)"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:7
+#: ../data/glade/account_creation_wizard_window.glade.h:8
 msgid "Connect when I press Finish"
 msgstr "Połącz po wciśnięciu przycisku Zakończ"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:8
+#: ../data/glade/account_creation_wizard_window.glade.h:9
 msgid "Gajim: Account Creation Wizard"
 msgstr "Gajim: Kreator Konta"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:9
-msgid "I already have an account I want to use"
-msgstr "Mam już konto i chcę z niego korzystać"
-
 #: ../data/glade/account_creation_wizard_window.glade.h:10
+msgid "I already have an account I want to _use"
+msgstr "_Mam już konto i chcę z niego korzystać"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:11
 msgid "I want to _register for a new account"
 msgstr "Chcę za_rejestrować nowe konto Jabbera"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:11
+#: ../data/glade/account_creation_wizard_window.glade.h:12
 #: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/accounts_window.glade.h:23
 msgid "If checked, Gajim will remember the password for this account"
 msgstr "Włączenie tej opcji spowoduje zapamiętanie hasła dla tego konta"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:12
-#: ../data/glade/manage_proxies_window.glade.h:7
-msgid "Pass_word:"
-msgstr "_Hasło:"
-
 #: ../data/glade/account_creation_wizard_window.glade.h:13
+#: ../data/glade/account_modification_window.glade.h:26
+#: ../data/glade/accounts_window.glade.h:32
+msgid "Manage..."
+msgstr "ZarzÄ…dzaj..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:14
+msgid "Prox_y:"
+msgstr "_Pośrednik:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:15
 #: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/accounts_window.glade.h:47
 msgid "Save pass_word"
 msgstr "Zapisz _hasło"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:14
+#: ../data/glade/account_creation_wizard_window.glade.h:16
 msgid "Servers Features"
 msgstr "Możliwości serwerów"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_creation_wizard_window.glade.h:17
 msgid "Set my profile when I connect"
 msgstr "Ustaw profil po połączeniu"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:16
+#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/accounts_window.glade.h:53
+msgid "Use custom hostname/port"
+msgstr "Użyj własnej nazwy hosta/portu"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:19
 msgid ""
 "You need to have an account in order to connect\n"
 "to the Jabber network."
@@ -142,67 +158,63 @@ msgstr ""
 "Musisz posiadać konto aby połączyć się\n"
 " z sieciÄ… Jabber."
 
-#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_creation_wizard_window.glade.h:21
 msgid "Your JID:"
 msgstr "Twój JID:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:19
-#: ../data/glade/roster_window.glade.h:11
+#: ../data/glade/account_creation_wizard_window.glade.h:22
+#: ../data/glade/roster_window.glade.h:13
 msgid "_Advanced"
 msgstr "Z_aawansowane"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:20
+#: ../data/glade/account_creation_wizard_window.glade.h:23
 msgid "_Finish"
 msgstr "_Zakończ"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:21
-#: ../data/glade/manage_proxies_window.glade.h:10
-msgid "_Host:"
-msgstr "_Host:"
+#: ../data/glade/account_creation_wizard_window.glade.h:24
+msgid "_Hostname:"
+msgstr "_Nazwa hosta: "
 
-#: ../data/glade/account_creation_wizard_window.glade.h:22
+#: ../data/glade/account_creation_wizard_window.glade.h:25
 #: ../data/glade/account_modification_window.glade.h:50
+#: ../data/glade/accounts_window.glade.h:58
 msgid "_Password:"
 msgstr "_Hasło:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:23
+#: ../data/glade/account_creation_wizard_window.glade.h:26
 #: ../data/glade/manage_proxies_window.glade.h:11
 msgid "_Port:"
 msgstr "_Port:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:24
-msgid "_Retype Password:"
-msgstr "_Powtórz hasło:"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_creation_wizard_window.glade.h:27
 msgid "_Server:"
 msgstr "_Serwer:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:26
-msgid "_Use proxy"
-msgstr "_Korzystaj z pośrednika"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:27
+#: ../data/glade/account_creation_wizard_window.glade.h:28
 #: ../data/glade/manage_proxies_window.glade.h:12
 msgid "_Username:"
 msgstr "_Nazwa użytkownika:"
 
 #: ../data/glade/account_modification_window.glade.h:1
+#: ../data/glade/accounts_window.glade.h:1
 #: ../data/glade/preferences_window.glade.h:8
 msgid "<b>Miscellaneous</b>"
 msgstr "<b>Różne</b>"
 
 #: ../data/glade/account_modification_window.glade.h:2
+#: ../data/glade/accounts_window.glade.h:2
 #: ../data/glade/zeroconf_properties_window.glade.h:1
 msgid "<b>OpenPGP</b>"
 msgstr "<b>OpenPGP</b>"
 
 #: ../data/glade/account_modification_window.glade.h:3
+#: ../data/glade/accounts_window.glade.h:3
 #: ../data/glade/zeroconf_properties_window.glade.h:2
 msgid "<b>Personal Information</b>"
 msgstr "<b>Informacje o sobie</b>"
 
 #: ../data/glade/account_modification_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:4
 msgid "Account"
 msgstr "Konto"
 
@@ -211,23 +223,28 @@ msgid "Account Modification"
 msgstr "Modyfikacja konta"
 
 #: ../data/glade/account_modification_window.glade.h:6
+#: ../data/glade/accounts_window.glade.h:5
 msgid "Administration operations"
 msgstr "Operacje administracyjne"
 
 #: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/accounts_window.glade.h:6
 msgid "Auto-reconnect when connection is lost"
 msgstr "Automatyczne połącz po zerwaniu połączenia"
 
 #: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/accounts_window.glade.h:7
 #: ../data/glade/zeroconf_properties_window.glade.h:3
 msgid "C_onnect on Gajim startup"
 msgstr "P_ołącz przy starcie programu"
 
 #: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/accounts_window.glade.h:8
 msgid "Chan_ge Password"
 msgstr "Z_mień hasło"
 
 #: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/accounts_window.glade.h:9
 msgid ""
 "Check this so Gajim will connect in port 5223 where legacy servers are "
 "expected to have SSL capabilities. Note that Gajim uses TLS encryption by "
@@ -239,47 +256,60 @@ msgstr ""
 "tylko serwer daje taką możliwość. Ta opcja wyłącza TLS"
 
 #: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/accounts_window.glade.h:10
 #: ../data/glade/zeroconf_properties_window.glade.h:4
 msgid "Choose _Key..."
 msgstr "Wybierz _klucz..."
 
 #: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/accounts_window.glade.h:11
 msgid "Click to change account's password"
 msgstr "Kliknij, aby zmienić hasło dla konta"
 
 #: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/accounts_window.glade.h:12
 msgid "Click to request authorization to all contacts of another account"
-msgstr "Kliknij aby poprosić o autoryzację od wszystkich kontaktów z innego konta"
+msgstr ""
+"Kliknij aby poprosić o autoryzację od wszystkich kontaktów z innego konta"
 
 #: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/accounts_window.glade.h:13
 msgid "Connection"
 msgstr "Połączenie"
 
 #: ../data/glade/account_modification_window.glade.h:15
+#: ../data/glade/accounts_window.glade.h:15
 msgid "Edit Personal Information..."
 msgstr "Zmień informacje o sobie..."
 
+#. No configured account
 #: ../data/glade/account_modification_window.glade.h:16
-#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:458
-#: ../src/notify.py:480 ../src/notify.py:492 ../src/common/helpers.py:914
+#: ../data/glade/accounts_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:6 ../src/notify.py:476
+#: ../src/notify.py:498 ../src/notify.py:510 ../src/common/helpers.py:982
+#: ../src/common/helpers.py:994
 msgid "Gajim"
 msgstr "Gajim"
 
+#. General group cannot be changed
 #: ../data/glade/account_modification_window.glade.h:17
-#: ../data/glade/preferences_window.glade.h:51
+#: ../data/glade/accounts_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:45
 #: ../data/glade/zeroconf_properties_window.glade.h:7
-#: ../src/roster_window.py:348 ../src/roster_window.py:573
-#: ../src/roster_window.py:1254 ../src/roster_window.py:1613
-#: ../src/roster_window.py:2341 ../src/roster_window.py:2383
-#: ../src/roster_window.py:2420 ../src/common/contacts.py:284
+#: ../src/roster_window.py:365 ../src/roster_window.py:630
+#: ../src/roster_window.py:1366 ../src/roster_window.py:1733
+#: ../src/roster_window.py:2117 ../src/roster_window.py:2627
+#: ../src/roster_window.py:2745 ../src/common/contacts.py:314
 msgid "General"
 msgstr "Ogólne"
 
 #: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/accounts_window.glade.h:20
 msgid "Hostname: "
 msgstr "Nazwa hosta: "
 
 #: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/accounts_window.glade.h:21
 msgid ""
 "If checked, Gajim will also broadcast some more IPs except from just your "
 "IP, so file transfer has higher chances of working."
@@ -288,6 +318,7 @@ msgstr ""
 "Twoim, tak aby przesyłanie plików przebiegało sprawniej."
 
 #: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/accounts_window.glade.h:24
 msgid ""
 "If checked, Gajim will send keep-alive packets to prevent connection timeout "
 "which results in disconnection"
@@ -305,6 +336,7 @@ msgstr ""
 "z prawem do odczytu tylko dla ciebie"
 
 #: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/accounts_window.glade.h:25
 #: ../data/glade/zeroconf_properties_window.glade.h:9
 msgid ""
 "If checked, Gajim, when launched, will automatically connect to jabber using "
@@ -314,6 +346,7 @@ msgstr ""
 "wykorzystaniem tego konta"
 
 #: ../data/glade/account_modification_window.glade.h:24
+#: ../data/glade/accounts_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:10
 msgid ""
 "If checked, any change to the global status (handled by the combobox at the "
@@ -324,46 +357,49 @@ msgstr ""
 "menu na dole okna listy kontaktów) wpłynie odpowiednio na status tego konta"
 
 #: ../data/glade/account_modification_window.glade.h:25
+#: ../data/glade/accounts_window.glade.h:29
 msgid "Information about you, as stored in the server"
 msgstr "Informacje o Tobie, takie jakie sÄ… przechowywane na serwerze"
 
-#: ../data/glade/account_modification_window.glade.h:26
-msgid "Manage..."
-msgstr "ZarzÄ…dzaj..."
-
 #: ../data/glade/account_modification_window.glade.h:27
-#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1623
-#: ../src/config.py:3301
+#: ../data/glade/accounts_window.glade.h:34
+#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1526
+#: ../src/config.py:2002
 msgid "No key selected"
 msgstr "Nie wybrano żadnego klucza"
 
 #. None means no proxy profile selected
 #. GPG Key
 #: ../data/glade/account_modification_window.glade.h:29
-#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1196
-#: ../src/config.py:1201 ../src/config.py:1385 ../src/config.py:1613
-#: ../src/config.py:1622 ../src/config.py:1682 ../src/config.py:1756
-#: ../src/config.py:3291 ../src/config.py:3300 ../src/dialogs.py:281
-#: ../src/dialogs.py:283 ../src/roster_window.py:1717
-#: ../src/roster_window.py:1724 ../src/roster_window.py:1731
+#: ../data/glade/accounts_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1115
+#: ../src/config.py:1186 ../src/config.py:1435 ../src/config.py:1440
+#: ../src/config.py:1900 ../src/config.py:1987 ../src/config.py:2001
+#: ../src/config.py:3083 ../src/config.py:3129 ../src/dialogs.py:342
+#: ../src/dialogs.py:344 ../src/roster_window.py:1837
+#: ../src/roster_window.py:1844 ../src/roster_window.py:1851
 msgid "None"
 msgstr "Żaden"
 
 #: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/accounts_window.glade.h:37
 #: ../data/glade/profile_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:17
 msgid "Personal Information"
 msgstr "Informacje osobiste"
 
 #: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/accounts_window.glade.h:38
 msgid "Port: "
 msgstr "Port: "
 
 #: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/accounts_window.glade.h:39
 msgid "Priori_ty:"
 msgstr "Priory_tet:"
 
 #: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/accounts_window.glade.h:40
 msgid ""
 "Priority is used in Jabber to determine who gets the events from the jabber "
 "server when two or more clients are connected using the same account; The "
@@ -374,18 +410,22 @@ msgstr ""
 "który ma wyższy priorytet, będzie odbierał wiadomości"
 
 #: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/accounts_window.glade.h:41
 msgid "Priority will change automatically according to your status."
 msgstr "Priorytet ulegnie zmianie automatycznie, stosownie do twojego statusu."
 
 #: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/accounts_window.glade.h:42
 msgid "Proxy:"
 msgstr "Pośrednik:"
 
 #: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/accounts_window.glade.h:44
 msgid "Resour_ce:"
 msgstr "Za_sób: "
 
 #: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/accounts_window.glade.h:45
 msgid ""
 "Resource is sent to the Jabber server in order to separate the same JID in "
 "two or more parts depending on the number of the clients connected in the "
@@ -405,41 +445,46 @@ msgid "Save _passphrase (insecure)"
 msgstr "Zapisz _hasło (nie jest to bezpieczne)"
 
 #: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/accounts_window.glade.h:46
 #: ../data/glade/zeroconf_properties_window.glade.h:19
 msgid "Save conversation _logs for all contacts"
 msgstr "Zapisz _logi rozmów dla wszystkich kontaktów"
 
 #: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/accounts_window.glade.h:48
 msgid "Send keep-alive packets"
 msgstr "Wysyłaj pakiety podtrzymujące"
 
 #: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/accounts_window.glade.h:49
 #: ../data/glade/zeroconf_properties_window.glade.h:20
 msgid "Synch_ronize account status with global status"
 msgstr "Synch_ronizuj status konta z globalnym statusem"
 
 #: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/accounts_window.glade.h:50
+#: ../data/glade/synchronise_contacts_dialog.glade.h:2
 #: ../data/glade/synchronise_select_account_dialog.glade.h:2
 msgid "Synchronise contacts"
 msgstr "Synchronizuj kontakty"
 
 #: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/accounts_window.glade.h:52
 msgid "Use _SSL (legacy)"
 msgstr "Korzystaj z _SSL"
 
-#: ../data/glade/account_modification_window.glade.h:45
-msgid "Use custom hostname/port"
-msgstr "Użyj własnej nazwy hosta/portu"
-
 #: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/accounts_window.glade.h:55
 msgid "Use file transfer proxies"
 msgstr "Używaj serwerów proxy do przesyłania plików"
 
 #: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/accounts_window.glade.h:56
 msgid "_Adjust to status"
 msgstr "_Dostosuj do statusu"
 
 #: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/accounts_window.glade.h:57
 msgid "_Jabber ID:"
 msgstr "_Jabber ID:"
 
@@ -447,47 +492,85 @@ msgstr "_Jabber ID:"
 msgid "_Name:"
 msgstr "_Nazwa: "
 
-#: ../data/glade/accounts_window.glade.h:1
-msgid "Accounts"
-msgstr "Konta"
+#: ../data/glade/accounts_window.glade.h:14
+#: ../data/glade/profile_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/zeroconf_information_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:5
+msgid "E-Mail:"
+msgstr "Adres e-mail:"
 
-#: ../data/glade/accounts_window.glade.h:2
-msgid ""
-"If checked, all local contacts that use a Bonjour compatible chat client "
-"(like iChat, Trillian or Gaim) will be shown in roster. You don't need to be "
-"connected to a jabber server for it to work.\n"
-"This is only available if python-avahi is installed and avahi-daemon is "
-"running."
+#. XML Console enable checkbutton
+#: ../data/glade/accounts_window.glade.h:16
+#: ../data/glade/xml_console_window.glade.h:4
+msgid "Enable"
+msgstr "WÅ‚Ä…cz"
+
+#: ../data/glade/accounts_window.glade.h:17
+#: ../data/glade/zeroconf_information_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:6
+msgid "First Name:"
+msgstr "ImiÄ™:"
+
+#: ../data/glade/accounts_window.glade.h:22
+msgid "If checked, Gajim will get the password from a GPG agent like seahorse"
 msgstr ""
-"Jeżeli opcja ta zostanie uaktywniona, znajdujące się w twojej sieci lokalnej "
-"kontakty używające klienta wykorzystującego technologię Bonjour (jak iChat, "
-"Trillian czy Gaim) pojawią się na rosterze. Nie musisz łączyć się z serwerem "
-"Jabbera, by z nimi rozmawiać."
+"Zaznaczenie tej opcji spowoduje pobieranie hasła z agenta GPG, np. Seahorse"
 
-#: ../data/glade/accounts_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:27
+#: ../data/glade/zeroconf_properties_window.glade.h:11
 msgid ""
-"If you have 2 or more accounts and this is checked, Gajim will list all "
-"contacts as if you had one account"
+"If the default port that is used for incoming messages is unfitting for your "
+"setup you can select another one here.\n"
+"You might consider to change possible firewall settings."
 msgstr ""
-"Jeśli masz dwa konta lub więcej, to dzięki tej opcji Gajim pokaże wszystkie "
-"kontakty w taki sposób, jakby było to jedno konto"
+"Jeżeli domyślny port, na którym przyjmowane są nadchodzące wiadomości nie "
+"odpowiada ci, możesz wskazać numer portu, jakiego chcesz używać.\n"
+"Konieczna stać się może ponowna konfiguracja firewalla."
 
-#: ../data/glade/accounts_window.glade.h:5
+#: ../data/glade/accounts_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/zeroconf_information_window.glade.h:4
+#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:509
+msgid "Jabber ID:"
+msgstr "Jabber ID:"
+
+#: ../data/glade/accounts_window.glade.h:31
+#: ../data/glade/zeroconf_information_window.glade.h:5
+#: ../data/glade/zeroconf_properties_window.glade.h:14
+msgid "Last Name:"
+msgstr "Nazwisko:"
+
+#: ../data/glade/accounts_window.glade.h:33
 msgid "Mer_ge accounts"
 msgstr "_Połącz konta"
 
-#: ../data/glade/accounts_window.glade.h:6
-msgid "_Enable link-local messaging"
-msgstr "_Uaktywnij przesyłanie wiadomości do adresów link-local"
+#. Rename
+#: ../data/glade/accounts_window.glade.h:43 ../src/roster_window.py:2697
+msgid "Re_name"
+msgstr "_Zmień nazwę"
 
-#: ../data/glade/accounts_window.glade.h:7
-msgid "_Modify"
-msgstr "_Edytuj"
+#: ../data/glade/accounts_window.glade.h:51
+msgid "Use GPG _Agent"
+msgstr "Użyj _Agenta GPG"
 
-#: ../data/glade/accounts_window.glade.h:8
-#: ../data/glade/remove_account_window.glade.h:4
-msgid "_Remove"
-msgstr "_Usuń"
+#: ../data/glade/accounts_window.glade.h:54
+#: ../data/glade/zeroconf_properties_window.glade.h:21
+msgid "Use custom port:"
+msgstr "Użyj innego portu:"
+
+#: ../data/glade/accounts_window.glade.h:59
+msgid "gtk-add"
+msgstr "gtk-add"
+
+#: ../data/glade/accounts_window.glade.h:60
+#: ../data/glade/features_window.glade.h:4
+msgid "gtk-close"
+msgstr "gtk-close"
+
+#: ../data/glade/accounts_window.glade.h:61
+msgid "gtk-remove"
+msgstr "gtk-remove"
 
 #: ../data/glade/add_new_contact_window.glade.h:1
 msgid "A_ccount:"
@@ -582,6 +665,7 @@ msgid "This jabber entity does not expose any commands."
 msgstr "Ten obiekt Jabbera nie udostępnia żadnych komend."
 
 #: ../data/glade/advanced_configuration_window.glade.h:1
+#: ../data/glade/features_window.glade.h:1
 msgid "<b>Description</b>"
 msgstr "<b>Opis</b>"
 
@@ -608,48 +692,40 @@ msgid "Deletes Message of the Day"
 msgstr "Usuwa Wiadomość Dnia"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:3
+msgid "Edit _Privacy Lists..."
+msgstr "_Edytuj listy prywatności"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:4
 msgid "Sends a message to users currently connected to this server"
 msgstr "Wysyła wiadomość do użytkowników aktualnie połączonych z tym serwerem"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:4
-msgid "Set MOTD"
+#: ../data/glade/advanced_menuitem_menu.glade.h:5
+msgid "Set MOTD..."
 msgstr "Ustaw MOTD"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:5
+#: ../data/glade/advanced_menuitem_menu.glade.h:6
 msgid "Sets Message of the Day"
 msgstr "Ustawia Wiadomość Dnia"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:6
+#: ../data/glade/advanced_menuitem_menu.glade.h:7
 msgid "Show _XML Console"
 msgstr "Konsola _XML"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:7
-msgid "Update MOTD"
-msgstr "Uaktualnij MOTD"
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:8
+msgid "Update MOTD..."
+msgstr "Uaktualnij MOTD..."
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:9
 msgid "Updates Message of the Day"
 msgstr "Uaktualnia Wiadomość Dnia"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:9
+#: ../data/glade/advanced_menuitem_menu.glade.h:10
 msgid "_Administrator"
 msgstr "_Administrator"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:10
-msgid "_Blocked Contacts"
-msgstr "_Kontakty zablokowane"
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:11
-msgid "_Privacy Lists"
-msgstr "_Listy prywatności"
-
-#: ../data/glade/advanced_menuitem_menu.glade.h:12
-msgid "_Send Server Message"
-msgstr "_Wyślij wiadomość do serwera"
-
-#: ../data/glade/advanced_menuitem_menu.glade.h:13
-msgid "_Send Single Message"
-msgstr "_Wyślij wiadomość"
+msgid "_Send Server Message..."
+msgstr "_Wyślij wiadomość do serwera..."
 
 #: ../data/glade/advanced_notifications_window.glade.h:1
 msgid " a window/tab opened with that contact "
@@ -664,7 +740,7 @@ msgid "<b>Conditions</b>"
 msgstr "<b>Warunki</b>"
 
 #: ../data/glade/advanced_notifications_window.glade.h:4
-#: ../data/glade/preferences_window.glade.h:10
+#: ../data/glade/preferences_window.glade.h:12
 msgid "<b>Sounds</b>"
 msgstr "<b>Dźwięki</b>"
 
@@ -681,7 +757,7 @@ msgid "All statuses"
 msgstr "Dowolny status"
 
 #: ../data/glade/advanced_notifications_window.glade.h:8
-#: ../src/common/commands.py:91 ../src/common/helpers.py:243
+#: ../src/common/commands.py:96 ../src/common/helpers.py:251
 msgid "Away"
 msgstr "Zaraz wracam"
 
@@ -698,7 +774,7 @@ msgid "Have "
 msgstr "rozmawiam "
 
 #: ../data/glade/advanced_notifications_window.glade.h:12
-#: ../src/common/helpers.py:253
+#: ../src/common/helpers.py:261
 msgid "Invisible"
 msgstr "Niewidoczny"
 
@@ -707,7 +783,7 @@ msgid "Launch a command"
 msgstr "Wykonaj komendÄ™"
 
 #: ../data/glade/advanced_notifications_window.glade.h:14
-#: ../src/common/helpers.py:226
+#: ../src/common/helpers.py:234
 msgid "Not Available"
 msgstr "Nieobecny"
 
@@ -830,6 +906,10 @@ msgstr "Odebrano nowy wpis"
 msgid "You have received new entry:"
 msgstr "Otrzymałeś nowy artykuł:"
 
+#: ../data/glade/blocked_contacts_window.glade.h:1
+msgid "Blocked Contacts"
+msgstr "Kontakty zablokowane"
+
 #: ../data/glade/change_password_dialog.glade.h:1
 msgid "Change Password"
 msgstr "Zmień hasło"
@@ -859,11 +939,9 @@ msgid "Join _Group Chat"
 msgstr "Dołącz do _pokoju"
 
 #: ../data/glade/chat_context_menu.glade.h:2
-#: ../data/glade/chat_control_popup_menu.glade.h:4
-#: ../data/glade/gc_occupants_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:11
-msgid "_Add to Roster"
-msgstr "Dod_aj do listy kontaktów"
+#: ../data/glade/roster_contact_context_menu.glade.h:12
+msgid "_Add to Roster..."
+msgstr "Dod_aj do listy kontaktów..."
 
 #: ../data/glade/chat_context_menu.glade.h:3
 msgid "_Copy JID/Email Address"
@@ -882,7 +960,6 @@ msgid "_Open Link in Browser"
 msgstr "_Otwórz Link w przeglądarce"
 
 #: ../data/glade/chat_context_menu.glade.h:7
-#: ../data/glade/roster_window.glade.h:20
 #: ../data/glade/subscription_request_popup_menu.glade.h:1
 #: ../data/glade/systray_context_menu.glade.h:7
 msgid "_Start Chat"
@@ -893,28 +970,62 @@ msgid "Click to see past conversations with this contact"
 msgstr "Kliknij by zobaczyć poprzednie rozmowy z tym kontaktem"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Invite _Contacts"
+msgstr "ZaproÅ› kontakty"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:3
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:4
 msgid "Send _File"
 msgstr "Wyślij _plik"
 
-#: ../data/glade/chat_control_popup_menu.glade.h:3
-msgid "Toggle Open_PGP Encryption"
-msgstr "Włącz/wyłącz szyfrowanie Open_PGP"
+#: ../data/glade/chat_control_popup_menu.glade.h:4
+msgid "Toggle End to End Encryption"
+msgstr "Włącz/wyłącz _szyfrowanie połączenia"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:5
-#: ../data/glade/gc_control_popup_menu.glade.h:6
-msgid "_Compact View    Alt+C"
-msgstr "Widok _zwarty    Alt+C"
+msgid "Toggle Open_PGP Encryption"
+msgstr "Włącz/wyłącz szyfrowanie Open_PGP"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:6
-#: ../data/glade/gc_control_popup_menu.glade.h:8
-#: ../data/glade/gc_occupants_menu.glade.h:5
-#: ../data/glade/roster_contact_context_menu.glade.h:15
+#: ../data/glade/gc_occupants_menu.glade.h:4
+msgid "_Add to Roster"
+msgstr "Dod_aj do listy kontaktów"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:7
+#: ../data/glade/gc_control_popup_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/roster_window.glade.h:19
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2566
 msgid "_History"
 msgstr "_Historia"
 
+#: ../data/glade/chat_to_muc_window.glade.h:1
+msgid "In_vite"
+msgstr "_ZaproÅ›"
+
+#: ../data/glade/chat_to_muc_window.glade.h:2
+msgid "Invite Friends !"
+msgstr "Zaproś przyjaciół!"
+
+#: ../data/glade/chat_to_muc_window.glade.h:3
+msgid "MUC server"
+msgstr "Serwer MUC"
+
+#: ../data/glade/chat_to_muc_window.glade.h:4
+msgid "Please select a MUC server."
+msgstr "Proszę wybrać serwer MUC."
+
+#: ../data/glade/chat_to_muc_window.glade.h:5
+msgid ""
+"You are going to begin a Multi-User Chat.\n"
+"Select the contacts you want to invite"
+msgstr ""
+"Zamierzasz rozpocząć czat.\n"
+"Wybierz kontakty, które chcesz do niego zaprosić"
+
 #: ../data/glade/data_form_window.glade.h:1
 msgid "Fill in the form."
 msgstr "Wypełnij formularz."
@@ -927,6 +1038,14 @@ msgstr "Konfiguracja pokoju"
 msgid "Edit Groups"
 msgstr "Edytuj Grupy"
 
+#: ../data/glade/features_window.glade.h:2
+msgid "<b>List of possible features in Gajim:</b>"
+msgstr "<b>Lista możliwych funkcjonalności Gajima:</b>"
+
+#: ../data/glade/features_window.glade.h:3
+msgid "Features"
+msgstr "Możliwości programu"
+
 #: ../data/glade/filetransfers.glade.h:1
 msgid "A list of active, completed and stopped file transfers"
 msgstr "Lista aktywnych, ukończonych i zatrzymanych transferów plików"
@@ -979,7 +1098,7 @@ msgstr ""
 msgid "When a file transfer is complete show a popup notification"
 msgstr "Gdy plik w całości zostanie przesłany, wyświetl okno powiadomienia"
 
-#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:761
+#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:777
 msgid "_Continue"
 msgstr "_Kontynuuj"
 
@@ -987,7 +1106,7 @@ msgstr "_Kontynuuj"
 msgid "_Notify me when a file transfer is complete"
 msgstr "_Powiadom mnie gdy przesyłanie pliku dobiegnie końca"
 
-#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:188
+#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:191
 msgid "_Open Containing Folder"
 msgstr "_Otwórz katalog zawierający ten plik"
 
@@ -1076,62 +1195,70 @@ msgid "_Background:"
 msgstr "_TÅ‚o:"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:1
-msgid "Change _Nickname"
-msgstr "Zmień pseudo_nim"
+msgid "Change _Nickname..."
+msgstr "Zmień pseudo_nim..."
 
 #: ../data/glade/gc_control_popup_menu.glade.h:2
-msgid "Change _Subject"
-msgstr "Zmień _temat"
+msgid "Change _Subject..."
+msgstr "Zmień _temat..."
 
 #: ../data/glade/gc_control_popup_menu.glade.h:3
 msgid "Click to see past conversation in this room"
 msgstr "Kliknij by zobaczyć poprzednie rozmowy w tym pokoju"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:4
-msgid "Configure _Room"
-msgstr "Konfiguruj _pokój"
+msgid "Configure _Room..."
+msgstr "Konfiguruj _pokój..."
 
 #: ../data/glade/gc_control_popup_menu.glade.h:5
-msgid "_Bookmark This Room"
+msgid "_Bookmark"
 msgstr "Dodaj _zakładkę dla tego pokoju"
 
-#: ../data/glade/gc_control_popup_menu.glade.h:7
-msgid "_Destroy room"
+#: ../data/glade/gc_control_popup_menu.glade.h:6
+msgid "_Destroy Room"
 msgstr "_Zlikwiduj pokój"
 
+#: ../data/glade/gc_control_popup_menu.glade.h:8
+msgid "_Manage Room"
+msgstr "ZarzÄ…dzaj pokojem"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:9
+msgid "_Minimize on close"
+msgstr "_Minimalizuj przy zamknięciu"
+
 #: ../data/glade/gc_occupants_menu.glade.h:1
 msgid "Mo_derator"
 msgstr "Mo_derator"
 
-#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:2
+msgid "Occupant Actions"
+msgstr "Działania użytk_ownika"
+
+#: ../data/glade/gc_occupants_menu.glade.h:5
 msgid "_Admin"
 msgstr "_Administrator"
 
-#: ../data/glade/gc_occupants_menu.glade.h:4
+#: ../data/glade/gc_occupants_menu.glade.h:6
 msgid "_Ban"
 msgstr "Za_banuj"
 
-#: ../data/glade/gc_occupants_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:8
 msgid "_Kick"
 msgstr "Wy_rzuć"
 
-#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:9
 msgid "_Member"
 msgstr "_Uczestnik"
 
-#: ../data/glade/gc_occupants_menu.glade.h:8
-msgid "_Occupant Actions"
-msgstr "Działania użytk_ownika"
-
-#: ../data/glade/gc_occupants_menu.glade.h:9
+#: ../data/glade/gc_occupants_menu.glade.h:10
 msgid "_Owner"
 msgstr "_Właściciel"
 
-#: ../data/glade/gc_occupants_menu.glade.h:10
+#: ../data/glade/gc_occupants_menu.glade.h:11
 msgid "_Send Private Message"
 msgstr "_Wyślij prywatną wiadomość"
 
-#: ../data/glade/gc_occupants_menu.glade.h:11
+#: ../data/glade/gc_occupants_menu.glade.h:12
 msgid "_Voice"
 msgstr "_GÅ‚os"
 
@@ -1139,13 +1266,13 @@ msgstr "_GÅ‚os"
 msgid "Create new post"
 msgstr "Utwórz nowy wpis"
 
-#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:268
+#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:276
 msgid "From"
 msgstr "Od"
 
 #. holds subject
-#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:142
-#: ../src/history_manager.py:173
+#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:147
+#: ../src/history_manager.py:178
 msgid "Subject"
 msgstr "Temat"
 
@@ -1186,32 +1313,54 @@ msgid "_Search Database"
 msgstr "_Szukaj w bazie"
 
 #: ../data/glade/history_window.glade.h:1
-msgid "Build custom query"
-msgstr "Stwórz własne zapytanie"
+msgid "<b>History Viewer</b>"
+msgstr "<b>PrzeglÄ…danie historii</b>"
 
 #: ../data/glade/history_window.glade.h:2
+msgid "<b>JID Selection</b>"
+msgstr "<b>Wybór JID-a</b>"
+
+#: ../data/glade/history_window.glade.h:3
+msgid ""
+"Choose the chatlog you want to view. \n"
+"Enter the jid of a groupchat or a contact here. For online accounts you can "
+"even enter a a contact's nickname."
+msgstr ""
+"Wybierz katalog, który chcesz przejrzeć. \n"
+"Tu wpisz JID czatu lub kontaktu. Jeżeli kontakt jest online, możesz podać "
+"sam nick."
+
+#: ../data/glade/history_window.glade.h:5 ../src/history_window.py:224
 msgid "Conversation History"
 msgstr "Historia rozmowy"
 
-#: ../data/glade/history_window.glade.h:3
-msgid "Query Builder..."
-msgstr "Kreator zapytań..."
+#: ../data/glade/history_window.glade.h:6
+msgid ""
+"Current History\n"
+"All Chat Histories"
+msgstr ""
+"Bieżąca historia\n"
+"Wszystkie historie rozmów"
 
-#: ../data/glade/history_window.glade.h:4
+#: ../data/glade/history_window.glade.h:8
 #: ../data/glade/search_window.glade.h:2
 msgid "Search"
 msgstr "Szukaj"
 
-#: ../data/glade/history_window.glade.h:5
+#: ../data/glade/history_window.glade.h:9
 #: ../data/glade/zeroconf_information_window.glade.h:10
 msgid "_Log conversation history"
 msgstr "_Zapisuj historiÄ™ rozmowy"
 
-#: ../data/glade/history_window.glade.h:6
-#: ../data/glade/search_window.glade.h:3 ../src/disco.py:1177
+#: ../data/glade/history_window.glade.h:10
+#: ../data/glade/search_window.glade.h:5 ../src/disco.py:1181
 msgid "_Search"
 msgstr "_Szukaj"
 
+#: ../data/glade/history_window.glade.h:11
+msgid "in"
+msgstr "w"
+
 #: ../data/glade/invitation_received_dialog.glade.h:1
 msgid "Accept"
 msgstr "Akceptuj"
@@ -1225,7 +1374,7 @@ msgstr "Odmów"
 msgid "Invitation Received"
 msgstr "Zaproszenie Odebrane"
 
-#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1208
+#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1381
 msgid "Join Group Chat"
 msgstr "Dołącz do pokoju"
 
@@ -1234,14 +1383,14 @@ msgid "Join this room automatically when I connect"
 msgstr "Automatycznie dołącz do tego pokoju po uzyskaniu połączenia"
 
 #: ../data/glade/join_groupchat_window.glade.h:3
-#: ../data/glade/manage_bookmarks_window.glade.h:4
+#: ../data/glade/manage_bookmarks_window.glade.h:5
 #: ../data/glade/profile_window.glade.h:24
 #: ../data/glade/vcard_information_window.glade.h:31
 msgid "Nickname:"
 msgstr "Pseudonim:"
 
 #: ../data/glade/join_groupchat_window.glade.h:4
-#: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/manage_bookmarks_window.glade.h:6
 msgid "Password:"
 msgstr "Hasło:"
 
@@ -1250,12 +1399,12 @@ msgid "Recently:"
 msgstr "Ostatnio:"
 
 #: ../data/glade/join_groupchat_window.glade.h:6
-#: ../data/glade/manage_bookmarks_window.glade.h:7
+#: ../data/glade/manage_bookmarks_window.glade.h:8
 msgid "Room:"
 msgstr "Pokój:"
 
-#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1165
-#: ../src/disco.py:1615
+#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1169
+#: ../src/disco.py:1624
 msgid "_Join"
 msgstr "_Dołącz"
 
@@ -1275,15 +1424,19 @@ msgstr "Zaznaczenie spowoduje Å‚Ä…czenie z tym pokojem przy starcie programu"
 msgid "Manage Bookmarks"
 msgstr "Zarządzaj zakładkami"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:4
+msgid "Minimize on Auto Join"
+msgstr "Minimalizuj po automatycznym wejściu"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:7
 msgid "Print status:"
 msgstr "Wyświetlaj status:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:8
+#: ../data/glade/manage_bookmarks_window.glade.h:9
 msgid "Server:"
 msgstr "Serwer:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:9
+#: ../data/glade/manage_bookmarks_window.glade.h:10
 msgid "Title:"
 msgstr "Tytuł:"
 
@@ -1299,7 +1452,8 @@ msgstr "<b>Ustawienia</b>"
 msgid ""
 "HTTP Connect\n"
 "SOCKS5"
-msgstr "Połączenie HTTP\n"
+msgstr ""
+"Połączenie HTTP\n"
 "SOCKS5"
 
 #: ../data/glade/manage_proxies_window.glade.h:5
@@ -1312,6 +1466,10 @@ msgstr "Zarządzaj profilami pośrednika"
 msgid "Name:"
 msgstr "Nazwa:"
 
+#: ../data/glade/manage_proxies_window.glade.h:7
+msgid "Pass_word:"
+msgstr "_Hasło:"
+
 #: ../data/glade/manage_proxies_window.glade.h:8
 msgid "Type:"
 msgstr "Typ:"
@@ -1320,17 +1478,21 @@ msgstr "Typ:"
 msgid "Use authentication"
 msgstr "Używaj autoryzacji"
 
+#: ../data/glade/manage_proxies_window.glade.h:10
+msgid "_Host:"
+msgstr "_Host:"
+
 #: ../data/glade/message_window.glade.h:1
 msgid "Click to insert an emoticon (Alt+M)"
 msgstr "Kliknij by wstawić emotikon (Alt+E)"
 
-#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1125
+#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1268
 msgid "OpenPGP Encryption"
 msgstr "Szyfrowanie OpenPGP"
 
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:4
-#: ../data/glade/roster_window.glade.h:10
+#: ../data/glade/roster_window.glade.h:12
 #: ../data/glade/subscription_request_window.glade.h:6
 msgid "_Actions"
 msgstr "_Działania"
@@ -1338,7 +1500,7 @@ msgstr "_Działania"
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:6
 #: ../data/glade/xml_console_window.glade.h:11
-#: ../src/filetransfers_window.py:245
+#: ../src/filetransfers_window.py:248
 msgid "_Send"
 msgstr "_Wyślij"
 
@@ -1354,36 +1516,48 @@ msgstr "<b>Edytor zaawansowanych konfiguracji</b>"
 msgid "<b>Applications</b>"
 msgstr "<b>Aplikacje</b>"
 
+#: ../data/glade/preferences_window.glade.h:3
+msgid "<b>Chat Appearance</b>"
+msgstr "<b>Tożsamość na czacie</b>"
+
 #. a header for custom browser/client/file manager. so translate sth like: Custom Settings
-#: ../data/glade/preferences_window.glade.h:4
+#: ../data/glade/preferences_window.glade.h:5
 msgid "<b>Custom</b>"
 msgstr "<b>WÅ‚asne</b>"
 
-#: ../data/glade/preferences_window.glade.h:5
+#: ../data/glade/preferences_window.glade.h:6
 msgid "<b>Format of a line</b>"
 msgstr "<b>Format linii</b>"
 
-#: ../data/glade/preferences_window.glade.h:6
+#: ../data/glade/preferences_window.glade.h:7
 msgid "<b>GMail Options</b>"
 msgstr "<b>Opcje konta Gmail</b>"
 
-#: ../data/glade/preferences_window.glade.h:7
-msgid "<b>Interface Customization</b>"
-msgstr "<b>WÅ‚asne ustawienia interfejsu</b>"
-
 #: ../data/glade/preferences_window.glade.h:9
 msgid "<b>Preset Status Messages</b>"
 msgstr "<b>Zapisane opisy</b>"
 
+#: ../data/glade/preferences_window.glade.h:10
+msgid "<b>Privacy</b>"
+msgstr "<p>Prywatność</i>"
+
 #: ../data/glade/preferences_window.glade.h:11
+msgid "<b>Roster Appearance</b>"
+msgstr "<b>Tożsamość na rosterze</b>"
+
+#: ../data/glade/preferences_window.glade.h:13
+msgid "<b>Themes</b>"
+msgstr "<b>Tematy</b>"
+
+#: ../data/glade/preferences_window.glade.h:14
 msgid "<b>Visual Notifications</b>"
 msgstr "<b>Powiadomienia wizualne</b>"
 
-#: ../data/glade/preferences_window.glade.h:12
+#: ../data/glade/preferences_window.glade.h:15
 msgid "Advanced"
 msgstr "Zaawansowane"
 
-#: ../data/glade/preferences_window.glade.h:13
+#: ../data/glade/preferences_window.glade.h:16
 msgid ""
 "All chat states\n"
 "Composing only\n"
@@ -1393,26 +1567,22 @@ msgstr ""
 "Tylko dotyczÄ…ce pisania\n"
 "Wyłączone"
 
-#: ../data/glade/preferences_window.glade.h:16
+#: ../data/glade/preferences_window.glade.h:19
 msgid "Allow _OS information to be sent"
 msgstr "Zezwól na wysyłanie informacji o systemie _operacyjnym"
 
-#: ../data/glade/preferences_window.glade.h:17
+#: ../data/glade/preferences_window.glade.h:20
 msgid "Allow popup/notifications when I'm _away/na/busy/invisible"
 msgstr ""
 "Pokazuj powiadomienia gdy mam status _zaraz wracam/nieobecny/zajęty/"
 "niewidoczny"
 
-#: ../data/glade/preferences_window.glade.h:18
-msgid "Also known as iChat style"
-msgstr "Znany także jako styl iChat"
-
-#: ../data/glade/preferences_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:21
 msgid "Always check to see if Gajim is the _default Jabber client on startup"
 msgstr ""
 "Przy starcie zawsze sprawdzaj czy Gajim jest _domyślnym_ klientem Jabbera"
 
-#: ../data/glade/preferences_window.glade.h:20
+#: ../data/glade/preferences_window.glade.h:22
 msgid ""
 "An example: If you have enabled status message for away, Gajim won't ask you "
 "anymore for a status message when you change your status to away; it will "
@@ -1422,19 +1592,19 @@ msgstr ""
 "zapamięta go i nie będzie prosił o jego zmianę po ponownym ustawieniu "
 "takiego stanu"
 
-#: ../data/glade/preferences_window.glade.h:21
+#: ../data/glade/preferences_window.glade.h:23
 msgid "Ask status message when I:"
 msgstr "Pytaj o opis przy zmianie statusu na:"
 
-#: ../data/glade/preferences_window.glade.h:22
+#: ../data/glade/preferences_window.glade.h:24
 msgid "Auto _away after:"
 msgstr "Automatyczny status '_Zaraz wracam' po:"
 
-#: ../data/glade/preferences_window.glade.h:23
+#: ../data/glade/preferences_window.glade.h:25
 msgid "Auto _not available after:"
 msgstr "Automatyczny status '_Nieobecny' po:"
 
-#: ../data/glade/preferences_window.glade.h:24
+#: ../data/glade/preferences_window.glade.h:26
 msgid ""
 "Autodetect on every Gajim startup\n"
 "Always use GNOME default applications\n"
@@ -1448,11 +1618,7 @@ msgstr ""
 "Zawsze używaj domyślnych aplikacji XFCE4\n"
 "WÅ‚asne"
 
-#: ../data/glade/preferences_window.glade.h:29
-msgid "Chat"
-msgstr "Rozmowa"
-
-#: ../data/glade/preferences_window.glade.h:30
+#: ../data/glade/preferences_window.glade.h:31
 msgid ""
 "Check this option, only if someone you don't have in the roster spams/annoys "
 "you. Use with caution, because it blocks all messages from any contact that "
@@ -1462,18 +1628,14 @@ msgstr ""
 "wiadomościami. Stosuj ją ostrożnie, ponieważ powoduje ona blokowanie "
 "wszystkich wiadomości od osób, których nie masz na liście kontaktów"
 
-#: ../data/glade/preferences_window.glade.h:31
+#: ../data/glade/preferences_window.glade.h:32
 msgid "Configure color and font of the interface"
 msgstr "Konfiguruj kolor i czcionkÄ™ interfejsu"
 
-#: ../data/glade/preferences_window.glade.h:32
+#: ../data/glade/preferences_window.glade.h:33
 msgid "Default Status Messages"
 msgstr "Domyślne stany opisowe"
 
-#: ../data/glade/preferences_window.glade.h:33
-msgid "Default status _iconset:"
-msgstr "Domyślny zestaw ikon _statusu:"
-
 #: ../data/glade/preferences_window.glade.h:34
 msgid ""
 "Determined by sender\n"
@@ -1497,22 +1659,14 @@ msgid "Display status _messages of contacts in roster"
 msgstr "Wyświetlaj _opisy statusu kontaktu na liście kontaktów"
 
 #: ../data/glade/preferences_window.glade.h:40
-msgid "Displayed Chat state noti_fications:"
-msgstr "Rodzaj wyświetlanych _powiadomień podczas rozmowy:"
-
-#: ../data/glade/preferences_window.glade.h:41
-msgid "E_very 5 minutes"
-msgstr "Co 5 _minut"
-
-#: ../data/glade/preferences_window.glade.h:42
 msgid "Emoticons:"
 msgstr "Emotikony:"
 
-#: ../data/glade/preferences_window.glade.h:43
+#: ../data/glade/preferences_window.glade.h:41
 msgid "Events"
 msgstr "Zdarzenia"
 
-#: ../data/glade/preferences_window.glade.h:44
+#: ../data/glade/preferences_window.glade.h:42
 msgid ""
 "Gajim can send and receive meta-information related to a conversation you "
 "may have with a contact. Here you can specify which chatstates you want to "
@@ -1522,7 +1676,7 @@ msgstr ""
 "W tym miejscu możesz zdecydować, które z tych danych chcesz wyświetlać w "
 "oknie rozmowy."
 
-#: ../data/glade/preferences_window.glade.h:45
+#: ../data/glade/preferences_window.glade.h:43
 msgid ""
 "Gajim can send and receive meta-information related to a conversation you "
 "may have with a contact. Here you can specify which chatstates you want to "
@@ -1531,30 +1685,7 @@ msgstr ""
 "Gajim może wysyłać i odbierać meta-infomacje związane z prowadzoną rozmową. "
 "W tym miejscu możesz zdecydować, jakie dane chcesz wysyłać do rozmówcy."
 
-#: ../data/glade/preferences_window.glade.h:46
-msgid ""
-"Gajim will automatically show new events by popping up the relevant window"
-msgstr ""
-"Gajim automatycznie wyświetli nową wiadomość w nowym oknie lub w nowej "
-"karcie otwartego okna rozmowy"
-
-#: ../data/glade/preferences_window.glade.h:47
-msgid ""
-"Gajim will notify you for new events via a popup in the bottom right of the "
-"screen"
-msgstr ""
-"Gajim powiadomi Cię o nadejściu nowej wiadomości wyświetlając okienko w "
-"prawym dolnym rogu ekranu"
-
-#: ../data/glade/preferences_window.glade.h:48
-msgid ""
-"Gajim will notify you via a popup window in the bottom right of the screen "
-"about contacts that just signed in"
-msgstr ""
-"Gajim powiadomi automatycznie przy pomocy okna w prawym dolnym rogu o "
-"kontaktach, które zmieniają status na Dostępny"
-
-#: ../data/glade/preferences_window.glade.h:49
+#: ../data/glade/preferences_window.glade.h:44
 msgid ""
 "Gajim will notify you via a popup window in the bottom right of the screen "
 "about contacts that just signed out"
@@ -1562,12 +1693,11 @@ msgstr ""
 "Gajim powiadomi automatycznie przy pomocy okna w prawym dolnym rogu o "
 "kontaktach które zmieniają status na Rozłączony"
 
-#: ../data/glade/preferences_window.glade.h:50
-msgid ""
-"Gajim will only change the icon of the contact that triggered the new event"
-msgstr "Gajim zmieni jedynie ikonę kontaktu, który przysłał nową wiadomość"
+#: ../data/glade/preferences_window.glade.h:46
+msgid "Hides buttons in chatwindows to "
+msgstr "Ukrywa przyciski w oknie czatu "
 
-#: ../data/glade/preferences_window.glade.h:52
+#: ../data/glade/preferences_window.glade.h:47
 msgid ""
 "If checked, Gajim will also include information about the sender of the new "
 "emails"
@@ -1575,7 +1705,7 @@ msgstr ""
 "Jeżeli opcja ta zostanie uaktywniona, Gajim będzie również wyświetlał "
 "informacje o nadawcach nowej poczty w twojej skrzynce"
 
-#: ../data/glade/preferences_window.glade.h:53
+#: ../data/glade/preferences_window.glade.h:48
 msgid ""
 "If checked, Gajim will display avatars of contacts in roster window and in "
 "group chats"
@@ -1583,7 +1713,7 @@ msgstr ""
 "Zaznaczenie tej opcji spowoduje wyświetlanie awatarów w oknie listy "
 "kontaktów (roster oraz okno czatu)"
 
-#: ../data/glade/preferences_window.glade.h:54
+#: ../data/glade/preferences_window.glade.h:49
 msgid ""
 "If checked, Gajim will display status messages of contacts under the contact "
 "name in roster window and in group chats"
@@ -1591,15 +1721,7 @@ msgstr ""
 "Jeśli jest zaznaczone, Gajim będzie wyświetlał opis statusu kontaktu pod "
 "jego nazwą na liście kontaktów"
 
-#: ../data/glade/preferences_window.glade.h:55
-msgid ""
-"If checked, Gajim will remember the roster and chat window positions in the "
-"screen and the sizes of them next time you run it"
-msgstr ""
-"Zaznaczenie tej opcji spowoduje zapamiętanie położenia głównego okna "
-"programu na ekranie oraz jego rozmiaru"
-
-#: ../data/glade/preferences_window.glade.h:56
+#: ../data/glade/preferences_window.glade.h:50
 msgid ""
 "If checked, Gajim will use protocol-specific status icons. (eg. A contact "
 "from MSN will have the equivalent msn icon for status online, away, busy, "
@@ -1609,7 +1731,7 @@ msgstr ""
 "transportu, np. kontakt z MSN będzie miał odpowiednie ikony statusu "
 "dostępny, zaraz wracam, zajęty, itd"
 
-#: ../data/glade/preferences_window.glade.h:57
+#: ../data/glade/preferences_window.glade.h:51
 msgid ""
 "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent "
 "animated or static graphical emoticons"
@@ -1617,15 +1739,15 @@ msgstr ""
 "Zaznaczenie tej opcji spowoduje zastÄ…pienie emotikon tekstowych jak ':)' "
 "emotikonami graficznymi"
 
-#: ../data/glade/preferences_window.glade.h:58
+#: ../data/glade/preferences_window.glade.h:52
 msgid "Ignore rich content in incoming messages"
 msgstr "Ignoruj wzbogaconą treść w wiadomościach"
 
-#: ../data/glade/preferences_window.glade.h:59
+#: ../data/glade/preferences_window.glade.h:53
 msgid "Ma_nage..."
 msgstr "Za_rzÄ…dzaj..."
 
-#: ../data/glade/preferences_window.glade.h:60
+#: ../data/glade/preferences_window.glade.h:54
 msgid ""
 "Never\n"
 "Always\n"
@@ -1637,59 +1759,53 @@ msgstr ""
 "Według konta\n"
 "Według typu"
 
-#: ../data/glade/preferences_window.glade.h:64
-msgid "Notify me about contacts that: "
-msgstr "Powiadom mnie o kontaktach zmieniajÄ…cych status na: "
+#: ../data/glade/preferences_window.glade.h:58
+msgid "Notify me about contacts that sign _in"
+msgstr "Powiadom mnie o kontaktach, które się _logują"
 
-#: ../data/glade/preferences_window.glade.h:65
+#: ../data/glade/preferences_window.glade.h:59
+msgid "Notify me about contacts that sign _out"
+msgstr "Powiadom mnie o kontaktach, które się _wylogowują "
+
+#: ../data/glade/preferences_window.glade.h:60
 msgid "Notify on new _GMail email"
 msgstr "Powiadamiaj o nowej poczcie na koncie _Gmail"
 
-#: ../data/glade/preferences_window.glade.h:66
-msgid "On every _message"
-msgstr "W każdej _wiadomości"
-
-#: ../data/glade/preferences_window.glade.h:67
-msgid "One message _window:"
-msgstr "Grupuj okna:"
-
-#: ../data/glade/preferences_window.glade.h:68
-msgid "Outgoing Chat state noti_fications:"
-msgstr "Wysyłanie powiadomienia o stanie _rozmowy:"
-
-#: ../data/glade/preferences_window.glade.h:69
+#: ../data/glade/preferences_window.glade.h:61
 msgid "Play _sounds"
 msgstr "Odtwórz _dźwięk"
 
-#: ../data/glade/preferences_window.glade.h:70
+#: ../data/glade/preferences_window.glade.h:62
+msgid ""
+"Pop it up\n"
+"Notify me about it\n"
+"Show only in roster"
+msgstr ""
+"Otwórz okno\n"
+"Powiadom mnie o tym\n"
+"Pokaż tylko w rosterze"
+
+#: ../data/glade/preferences_window.glade.h:65
 msgid "Preferences"
 msgstr "Ustawienia"
 
-#: ../data/glade/preferences_window.glade.h:71
-msgid "Print time:"
-msgstr "Wyświetlaj czas:"
-
-#: ../data/glade/preferences_window.glade.h:72
-msgid "Save _position and size for roster and chat windows"
-msgstr "Zapisz _pozycję i rozmiar okna kontaktów i okna rozmowy"
+#: ../data/glade/preferences_window.glade.h:66
+msgid "Privacy"
+msgstr "Prywatność"
 
-#: ../data/glade/preferences_window.glade.h:73
+#: ../data/glade/preferences_window.glade.h:67
 msgid "Set status message to reflect currently playing _music track"
 msgstr "Wyświetlaj informacje o odtwarzanej _muzyce w statusie opisowym"
 
-#: ../data/glade/preferences_window.glade.h:74
-msgid "Show only in _roster"
-msgstr "Pokaż tylko _listę kontaktów"
-
-#: ../data/glade/preferences_window.glade.h:75
+#: ../data/glade/preferences_window.glade.h:68
 msgid "Sign _in"
 msgstr "_Połączony"
 
-#: ../data/glade/preferences_window.glade.h:76
+#: ../data/glade/preferences_window.glade.h:69
 msgid "Sign _out"
 msgstr "R_ozłączony"
 
-#: ../data/glade/preferences_window.glade.h:77
+#: ../data/glade/preferences_window.glade.h:70
 msgid ""
 "Some messages may include rich content (formatting, colors etc). If checked, "
 "Gajim will just display the raw message text."
@@ -1698,54 +1814,47 @@ msgstr ""
 "formatowanie. Jeżeli ta opcja jest aktywna, Gajim będzie ignorował te "
 "dodatki i wyświetlał czysty tekst."
 
-#: ../data/glade/preferences_window.glade.h:78
+#: ../data/glade/preferences_window.glade.h:71
 msgid "Status"
 msgstr "Status"
 
-#: ../data/glade/preferences_window.glade.h:79
+#: ../data/glade/preferences_window.glade.h:72
+msgid "Status _iconset:"
+msgstr "Zestaw ikon _statusu:"
+
+#: ../data/glade/preferences_window.glade.h:73
 msgid "T_heme:"
 msgstr "_Motyw:"
 
-#: ../data/glade/preferences_window.glade.h:80
+#: ../data/glade/preferences_window.glade.h:74
 msgid "The auto away status message"
 msgstr "Automatyczny status \"Zaraz wracam\""
 
-#: ../data/glade/preferences_window.glade.h:81
+#: ../data/glade/preferences_window.glade.h:75
 msgid "The auto not available status message"
 msgstr "Automatyczny status \"Nieobecny\""
 
-#: ../data/glade/preferences_window.glade.h:82
+#: ../data/glade/preferences_window.glade.h:76
 msgid "Treat all incoming messages as:"
 msgstr "Traktuj wszystkie otrzymane wiadomości jako:"
 
-#: ../data/glade/preferences_window.glade.h:83
+#: ../data/glade/preferences_window.glade.h:77
 msgid "Use _transports iconsets"
 msgstr "Używaj zestawów ikon _transportów"
 
-#: ../data/glade/preferences_window.glade.h:84
+#: ../data/glade/preferences_window.glade.h:78
+msgid "Use only one message _window:"
+msgstr "_Grupuj okna:"
+
+#: ../data/glade/preferences_window.glade.h:79
 msgid "Use system _default"
 msgstr "Użyj _domyślnej dla systemu"
 
-#: ../data/glade/preferences_window.glade.h:85
-msgid "Use t_rayicon (aka. notification area icon)"
-msgstr "_Ikona w obszarze powiadamiania"
-
-#: ../data/glade/preferences_window.glade.h:86
-msgid ""
-"When a new event (message, file transfer request etc..) is received, the "
-"following methods may be used to inform you about it. Please note that "
-"events about new messages only occur if it is a new message from a contact "
-"you are not already chatting with"
-msgstr ""
-"Kiedy pojawi się nowe zdarzenie (wiadomość, prośba o przesłanie pliku itp.), "
-"możesz zostać o tym powiadomiony na takie sposoby. UWAGA: Nowa wiadomość "
-"pojawia się jeśli nie pochodzi od osoby, z którą aktualnie rozmawiasz"
-
-#: ../data/glade/preferences_window.glade.h:87
-msgid "When new event is received"
+#: ../data/glade/preferences_window.glade.h:80
+msgid "When new event is received:"
 msgstr "Gdy odebrane zostanie nowe zdarzenie"
 
-#: ../data/glade/preferences_window.glade.h:88
+#: ../data/glade/preferences_window.glade.h:81
 msgid ""
 "Works for Rhythmbox and Muine players. For more players, please visit http://"
 "trac.gajim.org/wiki/GajimAndMusicPlayer"
@@ -1754,86 +1863,90 @@ msgstr ""
 "obsłudze innego oprogramowania, odwiedź stronę http://trac.gajim.org/wiki/"
 "GajimAndMusicPlayer"
 
-#: ../data/glade/preferences_window.glade.h:89
+#: ../data/glade/preferences_window.glade.h:82
 msgid "_Advanced Notifications Control..."
 msgstr "_Edytor zaawansowanych ustawień"
 
-#: ../data/glade/preferences_window.glade.h:90
+#: ../data/glade/preferences_window.glade.h:83
 msgid "_Browser:"
 msgstr "Prze_glÄ…darka:"
 
-#: ../data/glade/preferences_window.glade.h:91
+#: ../data/glade/preferences_window.glade.h:84
+msgid "_Display chat state notifications:"
+msgstr "Wyświetlaj informacje stanie kontaktu:"
+
+#: ../data/glade/preferences_window.glade.h:85
 msgid "_File manager:"
 msgstr "Menadżer _plików:"
 
-#: ../data/glade/preferences_window.glade.h:92
+#: ../data/glade/preferences_window.glade.h:86
 msgid "_Font:"
 msgstr "_Czcionka:"
 
-#: ../data/glade/preferences_window.glade.h:93
+#: ../data/glade/preferences_window.glade.h:87
 msgid "_Highlight misspelled words"
 msgstr "Podś_wietlaj błędy w pisowni"
 
-#: ../data/glade/preferences_window.glade.h:94
+#: ../data/glade/preferences_window.glade.h:88
 msgid "_Ignore events from contacts not in the roster"
 msgstr "_Ignoruj wiadomości od osób spoza listy kontaktów"
 
-#: ../data/glade/preferences_window.glade.h:95
+#: ../data/glade/preferences_window.glade.h:89
 msgid "_Incoming message:"
 msgstr "Wiadomość _otrzymana:"
 
-#: ../data/glade/preferences_window.glade.h:96
+#: ../data/glade/preferences_window.glade.h:90
 msgid "_Log status changes of contacts"
 msgstr "_Zapisuj w logach zmiany statusów kontaktów"
 
-#: ../data/glade/preferences_window.glade.h:97
+#: ../data/glade/preferences_window.glade.h:91
 msgid "_Mail client:"
 msgstr "Klient _poczty:"
 
-#: ../data/glade/preferences_window.glade.h:98
-msgid "_Never"
-msgstr "_Nigdy"
-
-#: ../data/glade/preferences_window.glade.h:99
-msgid "_Notify me about it"
-msgstr "Powia_dom mnie o tym"
+#: ../data/glade/preferences_window.glade.h:92
+msgid "_Make message windows compact"
+msgstr "_Ukrywaj przyciski w oknach rozmowy"
 
-#: ../data/glade/preferences_window.glade.h:100
+#: ../data/glade/preferences_window.glade.h:93
 msgid "_Open..."
 msgstr "_Otwórz..."
 
-#: ../data/glade/preferences_window.glade.h:101
+#: ../data/glade/preferences_window.glade.h:94
 msgid "_Outgoing message:"
 msgstr "Wysłana wiadomość :"
 
-#: ../data/glade/preferences_window.glade.h:102
+#: ../data/glade/preferences_window.glade.h:95
 msgid "_Player:"
 msgstr "_Program odtwarzający dźwięk:"
 
-#: ../data/glade/preferences_window.glade.h:103
-msgid "_Pop it up"
-msgstr "_Wyświetl"
-
-#: ../data/glade/preferences_window.glade.h:104
+#: ../data/glade/preferences_window.glade.h:96
 msgid "_Reset to Default Colors"
 msgstr "Wróć do kolorów _domyślnych"
 
-#: ../data/glade/preferences_window.glade.h:105
+#: ../data/glade/preferences_window.glade.h:97
+msgid "_Send chat state notifications:"
+msgstr "Rodzaje powiadomień wysyłanych podczas rozmowy:"
+
+#: ../data/glade/preferences_window.glade.h:98
 msgid "_Sort contacts by status"
 msgstr "Sortuj kontakty według statusu"
 
-#: ../data/glade/preferences_window.glade.h:106
+#: ../data/glade/preferences_window.glade.h:99
 msgid "_Status message:"
 msgstr "_Informacja o statusie:"
 
-#: ../data/glade/preferences_window.glade.h:107
+#: ../data/glade/preferences_window.glade.h:100
 msgid "_URL:"
 msgstr "_URL:"
 
-#: ../data/glade/preferences_window.glade.h:108
+#: ../data/glade/preferences_window.glade.h:101
 msgid "minutes"
 msgstr "minutach"
 
+#: ../data/glade/privacy_lists_window.glade.h:1
+msgid "Privacy Lists:"
+msgstr "Listy prywatności"
+
 #: ../data/glade/privacy_list_window.glade.h:1
 msgid "<b>Add / Edit a rule</b>"
 msgstr "<b>Dodaj / Edytuj regułę</b>"
@@ -1870,7 +1983,7 @@ msgstr "JID"
 msgid "Order:"
 msgstr "Kolejność:"
 
-#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2052
+#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2248
 msgid "Privacy List"
 msgstr "Lista prywatności"
 
@@ -1910,10 +2023,6 @@ msgstr "wysyłać mi status"
 msgid "to view my status"
 msgstr "widzieć mój status"
 
-#: ../data/glade/privacy_lists_window.glade.h:1
-msgid "Privacy Lists:"
-msgstr "Listy prywatności"
-
 #. "About" is the text of a tab of vcard window
 #: ../data/glade/profile_window.glade.h:2
 #: ../data/glade/vcard_information_window.glade.h:2
@@ -1944,66 +2053,59 @@ msgid "Click to set your avatar"
 msgstr "Kliknij aby ustawić avatar"
 
 #: ../data/glade/profile_window.glade.h:8
-#: ../data/glade/vcard_information_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:10
 msgid "Company:"
 msgstr "Firma:"
 
 #: ../data/glade/profile_window.glade.h:9
-#: ../data/glade/vcard_information_window.glade.h:15
+#: ../data/glade/vcard_information_window.glade.h:14
 msgid "Country:"
 msgstr "Kraj:"
 
 #: ../data/glade/profile_window.glade.h:10
-#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/vcard_information_window.glade.h:15
 msgid "Department:"
 msgstr "Dział:"
 
-#: ../data/glade/profile_window.glade.h:11
-#: ../data/glade/vcard_information_window.glade.h:17
-#: ../data/glade/zeroconf_information_window.glade.h:2
-#: ../data/glade/zeroconf_properties_window.glade.h:5
-msgid "E-Mail:"
-msgstr "Adres e-mail:"
-
 #: ../data/glade/profile_window.glade.h:12
-#: ../data/glade/vcard_information_window.glade.h:18
+#: ../data/glade/vcard_information_window.glade.h:17
 msgid "Extra Address:"
 msgstr "Dodatkowy adres:"
 
 #. Family Name
 #: ../data/glade/profile_window.glade.h:14
-#: ../data/glade/vcard_information_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:19
 msgid "Family:"
 msgstr "Nazwisko:"
 
 #. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly)
 #: ../data/glade/profile_window.glade.h:16
-#: ../data/glade/vcard_information_window.glade.h:22
+#: ../data/glade/vcard_information_window.glade.h:21
 msgid "Format: YYYY-MM-DD"
 msgstr "Format: RRRR-MM-DD"
 
+#: ../data/glade/profile_window.glade.h:17
+#: ../data/glade/vcard_information_window.glade.h:22
+msgid "Full Name"
+msgstr "ImiÄ™ i nazwisko"
+
 #. Given Name
-#: ../data/glade/profile_window.glade.h:18
+#: ../data/glade/profile_window.glade.h:19
 #: ../data/glade/vcard_information_window.glade.h:24
 msgid "Given:"
 msgstr "ImiÄ™:"
 
-#: ../data/glade/profile_window.glade.h:19
+#: ../data/glade/profile_window.glade.h:20
 #: ../data/glade/vcard_information_window.glade.h:25
 msgid "Homepage:"
 msgstr "Strona domowa:"
 
 #. Middle Name
-#: ../data/glade/profile_window.glade.h:21
+#: ../data/glade/profile_window.glade.h:22
 #: ../data/glade/vcard_information_window.glade.h:28
 msgid "Middle:"
 msgstr "Drugie imiÄ™:"
 
-#: ../data/glade/profile_window.glade.h:22
-#: ../data/glade/vcard_information_window.glade.h:29
-msgid "More"
-msgstr "Więcej"
-
 #: ../data/glade/profile_window.glade.h:25
 #: ../data/glade/vcard_information_window.glade.h:34
 msgid "Personal Info"
@@ -2031,7 +2133,7 @@ msgid "Prefix:"
 msgstr "Prefiks:"
 
 #: ../data/glade/profile_window.glade.h:32
-#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:381
+#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:307
 msgid "Role:"
 msgstr "Funkcja:"
 
@@ -2068,82 +2170,95 @@ msgstr "Usuń konto _tylko z Gajima"
 msgid "Remove account from Gajim and from _server"
 msgstr "Usuń konto z Gajima i z _serwera"
 
+#. Remove
+#. Remove group
+#. Remove
+#: ../data/glade/remove_account_window.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../src/roster_window.py:2523 ../src/roster_window.py:2733
+#: ../src/roster_window.py:2869
+msgid "_Remove"
+msgstr "_Usuń"
+
 #: ../data/glade/roster_contact_context_menu.glade.h:1
 msgid "A_sk to see his/her status"
 msgstr "Poproś o to, żeby móc widzieć jego/jej _status"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:2
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
-msgid "Add Special _Notification"
-msgstr "Dodaj powiadomienia _specjalne"
+msgid "Add Special _Notification..."
+msgstr "Dodaj powiadomienia _specjalne..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:3
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
-msgid "Assign Open_PGP Key"
-msgstr "Przypisz klucz Open_PGP"
+msgid "Assign Open_PGP Key..."
+msgstr "Przypisz klucz Open_PGP..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:4
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
-#: ../src/roster_window.py:2293
-msgid "Edit _Groups"
-msgstr "Modyfikuj _grupy"
+msgid "Edit _Groups..."
+msgstr "Modyfikuj _grupy..."
 
+#. Execute Command
 #: ../data/glade/roster_contact_context_menu.glade.h:5
-#: ../src/roster_window.py:2481
+#: ../src/roster_window.py:2826
 msgid "Execute Command..."
 msgstr "Wykonaj komendÄ™..."
 
+#. Invite to Groupchat
 #: ../data/glade/roster_contact_context_menu.glade.h:6
-#: ../src/roster_window.py:2251
+#: ../src/roster_window.py:2439
 msgid "In_vite to"
 msgstr "_ZaproÅ› do"
 
+#. Send Custom Status
 #: ../data/glade/roster_contact_context_menu.glade.h:7
-#: ../data/glade/systray_context_menu.glade.h:2
-msgid "Send Single _Message"
-msgstr "Wyślij _wiadomość"
+#: ../src/roster_window.py:2663 ../src/roster_window.py:2797
+msgid "Send Cus_tom Status"
+msgstr "Wyślij odrębny status"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Send Single _Message..."
+msgstr "Wyślij _wiadomość..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:9
-msgid "Send cus_tom status"
-msgstr "Wyślij _odrębny status"
+msgid "Send _File..."
+msgstr "Wyślij _plik..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:10
+msgid "Set Custom _Avatar..."
+msgstr "Ustaw własny _avatar..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:11
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:5
 msgid "Start _Chat"
 msgstr "Rozpocznij _rozmowÄ™"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:12
+#: ../data/glade/roster_contact_context_menu.glade.h:13
 msgid "_Allow him/her to see my status"
 msgstr "_Pozwól mu/jej widzieć swój status"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:13
-#: ../src/roster_window.py:2317 ../src/roster_window.py:2428
+#: ../data/glade/roster_contact_context_menu.glade.h:14
+#: ../src/roster_window.py:2513 ../src/roster_window.py:2724
 msgid "_Block"
 msgstr "_Zablokuj"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:14
+#: ../data/glade/roster_contact_context_menu.glade.h:15
 msgid "_Forbid him/her to see my status"
 msgstr "_Zabroń mu/jej widzieć twój status"
 
-#. Remove group
-#: ../data/glade/roster_contact_context_menu.glade.h:16
-#: ../src/roster_window.py:2245 ../src/roster_window.py:2354
-#: ../src/roster_window.py:2502
-msgid "_Remove from Roster"
-msgstr "_Usuń z listy kontaktów"
-
 #: ../data/glade/roster_contact_context_menu.glade.h:17
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7
-#: ../src/roster_window.py:2490
-msgid "_Rename"
-msgstr "_Zmień nazwę"
+msgid "_Manage Contact"
+msgstr "_Modyfikuj dane kontaktu"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../data/glade/roster_contact_context_menu.glade.h:19
+msgid "_Rename..."
+msgstr "_Zmień nazwę..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:20
 msgid "_Subscription"
 msgstr "_Autoryzacja"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:19
-#: ../src/roster_window.py:2311 ../src/roster_window.py:2422
+#: ../data/glade/roster_contact_context_menu.glade.h:21
+#: ../src/roster_window.py:2507 ../src/roster_window.py:2718
 msgid "_Unblock"
 msgstr "_Cofnij blokadÄ™"
 
@@ -2152,63 +2267,66 @@ msgid "A_ccounts"
 msgstr "_Konta"
 
 #: ../data/glade/roster_window.glade.h:2
-msgid "Add _Contact"
-msgstr "Dodaj _kontakt"
+msgid "Add _Contact..."
+msgstr "Dod_aj kontakt..."
 
 #: ../data/glade/roster_window.glade.h:3
+msgid "Fea_tures"
+msgstr "_Możliwości serwerów"
+
+#: ../data/glade/roster_window.glade.h:4
 msgid "File _Transfers"
 msgstr "_Przesyłanie plików"
 
-#: ../data/glade/roster_window.glade.h:4
+#: ../data/glade/roster_window.glade.h:5
 msgid "Frequently Asked Questions (online)"
 msgstr "Najczęściej Zadawane Pytania (w sieci)"
 
-#: ../data/glade/roster_window.glade.h:6
+#: ../data/glade/roster_window.glade.h:7
 msgid "Help online"
 msgstr "Pomoc w sieci"
 
-#: ../data/glade/roster_window.glade.h:7
+#: ../data/glade/roster_window.glade.h:9
 msgid "Profile, A_vatar"
 msgstr "Profil, _Awatar"
 
-#: ../data/glade/roster_window.glade.h:8
+#: ../data/glade/roster_window.glade.h:10
 msgid "Show Trans_ports"
 msgstr "Pokaż _transporty"
 
-#: ../data/glade/roster_window.glade.h:9
+#: ../data/glade/roster_window.glade.h:11
 msgid "Show _Offline Contacts"
 msgstr "Pokaż kontakty niep_ołączone"
 
-#: ../data/glade/roster_window.glade.h:12
+#: ../data/glade/roster_window.glade.h:14
 msgid "_Contents"
 msgstr "_Zawartość"
 
-#: ../data/glade/roster_window.glade.h:13
-msgid "_Discover Services"
-msgstr "_Wyszukuj usługi"
-
-#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1353
-#: ../src/roster_window.py:2473
+#: ../data/glade/roster_window.glade.h:16 ../src/disco.py:1357
 msgid "_Edit"
 msgstr "_Edycja"
 
-#: ../data/glade/roster_window.glade.h:15
+#: ../data/glade/roster_window.glade.h:17
 msgid "_FAQ"
 msgstr "_FAQ"
 
-#: ../data/glade/roster_window.glade.h:17
+#: ../data/glade/roster_window.glade.h:18
 msgid "_Help"
 msgstr "_Pomoc"
 
-#: ../data/glade/roster_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:20
 msgid "_Preferences"
 msgstr "_Ustawienia"
 
-#: ../data/glade/roster_window.glade.h:19
+#: ../data/glade/roster_window.glade.h:21
 msgid "_Quit"
 msgstr "_Zakończ"
 
-#: ../data/glade/roster_window.glade.h:21
+#: ../data/glade/roster_window.glade.h:22
+msgid "_Send Single Message..."
+msgstr "Wyślij _wiadomość..."
+
+#: ../data/glade/roster_window.glade.h:24
 msgid "_View"
 msgstr "_Widok"
 
@@ -2216,6 +2334,15 @@ msgstr "_Widok"
 msgid "Please wait while retrieving search form..."
 msgstr "Proszę czekać, trwa pobieranie formularza wyszukiwania..."
 
+#: ../data/glade/search_window.glade.h:3
+msgid "_Add contact"
+msgstr "Dodaj _kontakt"
+
+#. Information
+#: ../data/glade/search_window.glade.h:4 ../src/roster_window.py:2881
+msgid "_Information"
+msgstr "Informacje o kontakcie"
+
 #: ../data/glade/service_discovery_window.glade.h:1
 msgid "G_o"
 msgstr "I_dź"
@@ -2224,10 +2351,6 @@ msgstr "I_dź"
 msgid "_Address:"
 msgstr "_Adres:"
 
-#: ../data/glade/service_discovery_window.glade.h:3
-msgid "_Filter:"
-msgstr "_Filtr:"
-
 #: ../data/glade/service_registration_window.glade.h:1
 msgid "Register to"
 msgstr "Zarejestruj w"
@@ -2304,6 +2427,11 @@ msgstr "Prośba o autoryzację"
 msgid "_Deny"
 msgstr "O_dmów"
 
+#: ../data/glade/synchronise_contacts_dialog.glade.h:1
+#, fuzzy
+msgid "Select the account with which to synchronise"
+msgstr "Wskaż konto, z którym chcesz zsynchronizować kontakty"
+
 #: ../data/glade/synchronise_select_account_dialog.glade.h:1
 msgid "Select the account with which you want to synchronise"
 msgstr "Wskaż konto, z którym chcesz zsynchronizować kontakty"
@@ -2320,6 +2448,10 @@ msgstr "Synchronizacja: wybierz kontakty"
 msgid "Mute Sounds"
 msgstr "Wyłącz dźwięki"
 
+#: ../data/glade/systray_context_menu.glade.h:2
+msgid "Send Single _Message"
+msgstr "Wyślij _wiadomość"
+
 #: ../data/glade/systray_context_menu.glade.h:3
 msgid "Show All Pending _Events"
 msgstr "Pokaż wszystkie oczekujące _zdarzenia"
@@ -2332,41 +2464,39 @@ msgstr "Pokaż _listę kontaktów"
 msgid "Sta_tus"
 msgstr "Sta_tus"
 
+#: ../data/glade/systray_context_menu.glade.h:6
+msgid "_Group Chat"
+msgstr "_Pokój"
+
 #. Given Name
 #: ../data/glade/vcard_information_window.glade.h:5
 msgid "Ask:"
 msgstr "Pytaj:"
 
 #: ../data/glade/vcard_information_window.glade.h:8
-msgid "Click to force avatar"
-msgstr "Kliknij aby ustawić avatar"
-
-#: ../data/glade/vcard_information_window.glade.h:9
 msgid "Client:"
 msgstr "Klient:"
 
-#: ../data/glade/vcard_information_window.glade.h:10
+#: ../data/glade/vcard_information_window.glade.h:9
 msgid "Comments"
 msgstr "Komentarze"
 
-#: ../data/glade/vcard_information_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:11
 msgid "Configured avatar:"
 msgstr "Ustawiony avatar:"
 
-#: ../data/glade/vcard_information_window.glade.h:13
+#: ../data/glade/vcard_information_window.glade.h:12
 #: ../data/glade/zeroconf_information_window.glade.h:1
 msgid "Contact"
 msgstr "Kontakt"
 
-#: ../data/glade/vcard_information_window.glade.h:14
+#: ../data/glade/vcard_information_window.glade.h:13
 msgid "Contact Information"
 msgstr "Informacje o kontakcie"
 
-#: ../data/glade/vcard_information_window.glade.h:26
-#: ../data/glade/zeroconf_information_window.glade.h:4
-#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:416
-msgid "Jabber ID:"
-msgstr "Jabber ID:"
+#: ../data/glade/vcard_information_window.glade.h:29
+msgid "More"
+msgstr "Więcej"
 
 #: ../data/glade/vcard_information_window.glade.h:33
 msgid "OS:"
@@ -2399,11 +2529,6 @@ msgstr "<b>Jabber Traffic</b>"
 msgid "<b>XML Input</b>"
 msgstr "<b>Wejście XML</b>"
 
-#. XML Console enable checkbutton
-#: ../data/glade/xml_console_window.glade.h:4
-msgid "Enable"
-msgstr "WÅ‚Ä…cz"
-
 #. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem)
 #: ../data/glade/xml_console_window.glade.h:6
 msgid "Info/Query"
@@ -2422,15 +2547,29 @@ msgstr "Wiado_mość"
 msgid "_Presence"
 msgstr "_Obecność"
 
-#: ../data/glade/zeroconf_information_window.glade.h:3
-#: ../data/glade/zeroconf_properties_window.glade.h:6
-msgid "First Name:"
-msgstr "ImiÄ™:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
+msgid "Add Special _Notification"
+msgstr "Dodaj powiadomienia _specjalne"
 
-#: ../data/glade/zeroconf_information_window.glade.h:5
-#: ../data/glade/zeroconf_properties_window.glade.h:14
-msgid "Last Name:"
-msgstr "Nazwisko:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
+msgid "Assign Open_PGP Key"
+msgstr "Przypisz klucz Open_PGP"
+
+#. Edit Groups
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
+#: ../src/roster_window.py:2496
+msgid "Edit _Groups"
+msgstr "Modyfikuj _grupy"
+
+#. Rename
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:8
+#: ../src/roster_window.py:2853
+msgid "_Rename"
+msgstr "_Zmień nazwę"
+
+#: ../data/glade/zeroconf_context_menu.glade.h:1
+msgid "_Modify Account..."
+msgstr "_Modyfikuj konto..."
 
 #: ../data/glade/zeroconf_information_window.glade.h:6
 msgid "Local jid:"
@@ -2440,266 +2579,275 @@ msgstr "Lokalny JID:"
 msgid "Personal"
 msgstr "Informacje osobiste"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:11
-msgid ""
-"If the default port that is used for incoming messages is unfitting for your "
-"setup you can select another one here.\n"
-"You might consider to change possible firewall settings."
-msgstr ""
-"Jeżeli domyślny port, na którym przyjmowane są nadchodzące wiadomości nie "
-"odpowiada ci, możesz wskazać numer portu, jakiego chcesz używać.\n"
-"Konieczna stać się może ponowna konfiguracja firewalla."
-
 #: ../data/glade/zeroconf_properties_window.glade.h:15
 msgid "Modify Account"
 msgstr "Modyfikuj konto"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:21
-msgid "Use custom port:"
-msgstr "Użyj innego portu:"
-
 #. For i18n
-#: ../src/advanced.py:51
+#: ../src/advanced.py:56
 msgid "Activated"
 msgstr "Aktywny"
 
-#: ../src/advanced.py:51
+#: ../src/advanced.py:56
 msgid "Deactivated"
 msgstr "Nieaktywny"
 
-#: ../src/advanced.py:53
+#: ../src/advanced.py:58
 msgid "Boolean"
 msgstr "Zmienna logiczna"
 
-#: ../src/advanced.py:54
+#: ../src/advanced.py:59
 msgid "Integer"
 msgstr "Liczba całkowita"
 
-#: ../src/advanced.py:55
+#: ../src/advanced.py:60
 msgid "Text"
 msgstr "Tekst"
 
-#: ../src/advanced.py:56
+#: ../src/advanced.py:61
 msgid "Color"
 msgstr "Kolor"
 
-#: ../src/advanced.py:65
+#: ../src/advanced.py:70
 msgid "Preference Name"
 msgstr "Nazwa opcji"
 
-#: ../src/advanced.py:71
+#: ../src/advanced.py:76
 msgid "Value"
 msgstr "Wartość"
 
-#: ../src/advanced.py:79
+#: ../src/advanced.py:84
 msgid "Type"
 msgstr "Typ"
 
 #. we talk about option description in advanced configuration editor
-#: ../src/advanced.py:136
+#: ../src/advanced.py:140
 msgid "(None)"
 msgstr "(Brak)"
 
 #. we talk about password
-#: ../src/advanced.py:239
+#: ../src/advanced.py:243
 msgid "Hidden"
 msgstr "Ukryte"
 
 #. the next script, executed in the "po" directory,
 #. generates the following list.
 #. #!/bin/sh
-#. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
+#. LANG=$(for i in *.po; do j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
 #. echo "{_('en'):'en'",$LANG"}"
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "English"
 msgstr "angielski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Belarusian"
 msgstr "bułgarski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Bulgarian"
 msgstr "bułgarski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Breton"
 msgstr "bretoński"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Czech"
 msgstr "czeski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "German"
 msgstr "niemiecki"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Greek"
 msgstr "grecki"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "British"
 msgstr "brytyjski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Esperanto"
 msgstr "esperanto"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Spanish"
 msgstr "hiszpański"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Basque"
 msgstr "baskijski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "French"
 msgstr "francuski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Croatian"
 msgstr "chorwacki"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Italian"
 msgstr "włoski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Norwegian (b)"
 msgstr "norweski (b)"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Dutch"
 msgstr "holenderski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Norwegian"
 msgstr "norweski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Polish"
 msgstr "polski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Portuguese"
 msgstr "portugalski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Brazilian Portuguese"
 msgstr "portugalski (Brazylia)"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Russian"
 msgstr "rosyjski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Serbian"
 msgstr "serbski"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Slovak"
 msgstr "słowacki"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Swedish"
 msgstr "szwedzki"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control.py:60
 msgid "Chinese (Ch)"
 msgstr "chiński (Ch)"
 
-#: ../src/chat_control.py:212 ../src/dialogs.py:1706
-msgid ""
-"If that is not your language for which you want to highlight misspelled "
-"words, then please set your $LANG as appropriate. Eg. for French do export "
-"LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to make it "
-"global in /etc/profile.\n"
-"\n"
-"Highlighting misspelled words feature will not be used"
-msgstr ""
-"Jeśli podświetlanie błędów w pisowni działa dla niewłaściwego języka, to "
-"ustaw odpowiednio zmienną środowiskową $LANG. Np. dla języka polskiego wpisz "
-"export LANG=pl_PL do pliku ~/.bash_profile lub globalnie do pliku in /etc/"
-"profile.\n"
-"\n"
-"Podświedlanie błędów w pisowni nie będzie używane"
-
-#: ../src/chat_control.py:251
+#: ../src/chat_control.py:314
 msgid "Spelling language"
 msgstr "Wybierz słownik"
 
 #. we are not connected
-#: ../src/chat_control.py:274 ../src/chat_control.py:480
+#: ../src/chat_control.py:337 ../src/chat_control.py:560
 msgid "A connection is not available"
 msgstr "Połączenie jest niemożliwe"
 
-#: ../src/chat_control.py:275 ../src/chat_control.py:481
+#: ../src/chat_control.py:338 ../src/chat_control.py:561
 msgid "Your message can not be sent until you are connected."
 msgstr "Nie możesz wysłać wiadomości dopóki nie będziesz połączony."
 
-#: ../src/chat_control.py:1050
+#: ../src/chat_control.py:1187
 #, python-format
 msgid "%(nickname)s from group chat %(room_name)s"
 msgstr "%(nickname)s z pokoju %(room_name)s"
 
 #. we talk about a contact here
-#: ../src/chat_control.py:1139
+#: ../src/chat_control.py:1282
 #, python-format
 msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
 msgstr ""
 "Ani %s nie przesyła swojego klucza OpenPGP, ani Ty nie przypisałeś mu "
 "żadnego klucza"
 
-#: ../src/chat_control.py:1173 ../src/groupchat_control.py:1276
+#: ../src/chat_control.py:1325 ../src/groupchat_control.py:1433
+#, python-format
+msgid "No such command: /%s (if you want to send this, prefix it with /say)"
+msgstr ""
+"Nie ma takiego polecenia: /%s (jeśli chcesz je wysłać, poprzedź je znakami: /"
+"say)"
+
+#: ../src/chat_control.py:1332 ../src/groupchat_control.py:1456
 #, python-format
 msgid "Commands: %s"
 msgstr "Polecenia: %s"
 
-#: ../src/chat_control.py:1176 ../src/groupchat_control.py:1290
+#: ../src/chat_control.py:1335 ../src/groupchat_control.py:1470
 #, python-format
 msgid "Usage: /%s, clears the text window."
 msgstr "Użycie: /%s czyście okno tekstowe."
 
-#: ../src/chat_control.py:1179 ../src/groupchat_control.py:1295
+#: ../src/chat_control.py:1338 ../src/groupchat_control.py:1475
 #, python-format
 msgid "Usage: /%s, hide the chat buttons."
 msgstr "Użycie: /%s ukrywa przyciski czatu."
 
-#: ../src/chat_control.py:1184 ../src/groupchat_control.py:1334
+#: ../src/chat_control.py:1341 ../src/groupchat_control.py:1491
+#, python-format
+msgid ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+msgstr ""
+"Użycie: /%s <działanie> wysyła działanie do aktualnego pokoju. Używaj w "
+"trzeciej osobie (np. /%s eksploduje.)"
+
+#: ../src/chat_control.py:1345
+#, python-format
+msgid "Usage: /%s, sends a ping to the contact"
+msgstr "Uzycie: /%s, wysyła sygnał ping do kontaktu"
+
+#: ../src/chat_control.py:1348
+#, python-format
+msgid "Usage: /%s, send the message to the contact"
+msgstr "Użycie: /%s wysyła wiadomość do kontaktu"
+
+#: ../src/chat_control.py:1351 ../src/groupchat_control.py:1514
 #, python-format
 msgid "No help info for /%s"
 msgstr "Brak informacji o pomocy dla /%s"
 
-#: ../src/chat_control.py:1314
+#: ../src/chat_control.py:1489 ../src/chat_control.py:1515
 msgid "Encryption enabled"
 msgstr "Szyfrowanie włączone"
 
-#: ../src/chat_control.py:1319
+#: ../src/chat_control.py:1494
+msgid "Session WILL be logged"
+msgstr "Sesja BĘDZIE logowana"
+
+#: ../src/chat_control.py:1496
+msgid "Session WILL NOT be logged"
+msgstr "Sesja NIE BĘDZIE logowana"
+
+#: ../src/chat_control.py:1503
+msgid "The following message was NOT encrypted"
+msgstr "Ta wiadomość NIE została jest zaszyfrowana"
+
+#: ../src/chat_control.py:1507 ../src/chat_control.py:1520
+#: ../src/chat_control.py:2166
 msgid "Encryption disabled"
 msgstr "Szyfrowanie wyłączone"
 
 #. add_to_roster_menuitem
-#: ../src/chat_control.py:1463 ../src/conversation_textview.py:501
-#: ../src/dialogs.py:629 ../src/gajim.py:853 ../src/gajim.py:854
-#: ../src/gajim.py:1199 ../src/roster_window.py:334
-#: ../src/roster_window.py:414 ../src/roster_window.py:1675
-#: ../src/roster_window.py:1685 ../src/roster_window.py:1864
-#: ../src/roster_window.py:2088 ../src/roster_window.py:2745
-#: ../src/roster_window.py:2949 ../src/roster_window.py:4234
-#: ../src/roster_window.py:4236 ../src/common/contacts.py:73
-#: ../src/common/helpers.py:43 ../src/common/helpers.py:255
+#: ../src/chat_control.py:1683 ../src/conversation_textview.py:701
+#: ../src/dialogs.py:730 ../src/gajim.py:904 ../src/gajim.py:905
+#: ../src/gajim.py:1393 ../src/gajim.py:1644 ../src/roster_window.py:351
+#: ../src/roster_window.py:435 ../src/roster_window.py:1795
+#: ../src/roster_window.py:1805 ../src/roster_window.py:2044
+#: ../src/roster_window.py:2276 ../src/roster_window.py:3124
+#: ../src/roster_window.py:3363 ../src/roster_window.py:4734
+#: ../src/roster_window.py:4736 ../src/common/contacts.py:89
+#: ../src/common/helpers.py:49 ../src/common/helpers.py:263
 msgid "Not in Roster"
 msgstr "spoza listy kontaktów"
 
 #. %s is being replaced in the code with JID
-#: ../src/chat_control.py:1607
+#: ../src/chat_control.py:1836
 #, python-format
 msgid "You just received a new message from \"%s\""
 msgstr "Właśnie otrzymałeś nową wiadomość od \"%s\""
 
-#: ../src/chat_control.py:1608
+#: ../src/chat_control.py:1837
 msgid ""
 "If you close this tab and you have history disabled, this message will be "
 "lost."
@@ -2707,29 +2855,24 @@ msgstr ""
 "Jeśli zamkniesz tę kartę, a nie masz uaktywnionej opcji historii, to "
 "utracisz tę wiadomość."
 
-#: ../src/config.py:139 ../src/config.py:588
+#: ../src/config.py:127 ../src/config.py:549
 msgid "Disabled"
 msgstr "Wyłączone"
 
-#: ../src/config.py:233
-#, python-format
-msgid "Every %s _minutes"
-msgstr "Co %s _minut"
-
-#: ../src/config.py:353
+#: ../src/config.py:293
 msgid "Active"
 msgstr "Aktywny"
 
-#: ../src/config.py:361
+#: ../src/config.py:301
 msgid "Event"
 msgstr "Zdarzenie"
 
-#: ../src/config.py:684 ../src/gajim.py:2309
+#: ../src/config.py:622 ../src/dialogs.py:1014
 #, python-format
 msgid "Dictionary for lang %s not available"
 msgstr "Brak słownika dla tego języka (%s)"
 
-#: ../src/config.py:685 ../src/gajim.py:2310
+#: ../src/config.py:623
 #, python-format
 msgid ""
 "You have to install %s dictionary to use spellchecking, or choose another "
@@ -2738,248 +2881,253 @@ msgstr ""
 "Musisz zainstalować słownik %s aby aktywować sprawdzanie pisowni lub wybrać "
 "inny język korzystać z opcji speller_langugage."
 
-#: ../src/config.py:1008
+#: ../src/config.py:974
 msgid "status message title"
 msgstr "nagłówek informacji o statusie"
 
-#: ../src/config.py:1008
+#: ../src/config.py:974
 msgid "status message text"
 msgstr "treść informacji o statusie"
 
-#: ../src/config.py:1044
+#: ../src/config.py:1010
 msgid "First Message Received"
 msgstr "Otrzymano pierwszą wiadomość"
 
-#: ../src/config.py:1045
+#: ../src/config.py:1011
 msgid "Next Message Received"
 msgstr "Otrzymałeś nową wiadomość"
 
-#: ../src/config.py:1046
+#: ../src/config.py:1012
 msgid "Contact Connected"
 msgstr "Kontakt połączył się"
 
-#: ../src/config.py:1047
+#: ../src/config.py:1013
 msgid "Contact Disconnected"
 msgstr "Kontakt rozłączył się"
 
-#: ../src/config.py:1048
+#: ../src/config.py:1014
 msgid "Message Sent"
 msgstr "Wiadomość została wysłana"
 
-#: ../src/config.py:1049
+#: ../src/config.py:1015
 msgid "Group Chat Message Highlight"
 msgstr "Podświetlenie wiadomości z czatu"
 
-#: ../src/config.py:1050
+#: ../src/config.py:1016
 msgid "Group Chat Message Received"
 msgstr "Otrzymano wiadomość na czacie"
 
-#: ../src/config.py:1057
+#: ../src/config.py:1023
 msgid "GMail Email Received"
 msgstr "Nowa poczta na koncie Gmail"
 
-#: ../src/config.py:1260
+#. Name column
+#: ../src/config.py:1292 ../src/dialogs.py:1513 ../src/dialogs.py:1577
+#: ../src/disco.py:742 ../src/disco.py:1568 ../src/disco.py:1814
+#: ../src/history_window.py:113
+msgid "Name"
+msgstr "Nazwa"
+
+#: ../src/config.py:1400 ../src/common/config.py:379
+msgid "Be right back."
+msgstr "Zaraz wracam."
+
+#: ../src/config.py:1404
+msgid "Relogin now?"
+msgstr "Czy zalogować się ponownie?"
+
+#: ../src/config.py:1405
+msgid "If you want all the changes to apply instantly, you must relogin."
+msgstr ""
+"Jeżeli chcesz by wszelkie zmiany odniosły natychmiastowy skutek, musisz "
+"zalogować się ponownie."
+
+#: ../src/config.py:1500 ../src/config.py:1591
 msgid "OpenPGP is not usable in this computer"
 msgstr "Nie można używać OpenPGP na tym komputerze"
 
-#: ../src/config.py:1306
+#: ../src/config.py:1627 ../src/config.py:1668
+msgid "Unread events"
+msgstr "Nieprzeczytane wiadomości"
+
+#: ../src/config.py:1628
+msgid "Read all pending events before removing this account."
+msgstr ""
+"Przejrzyj wszystkie niepotwierdzone zdarzenia przed usunięciem tego konta."
+
+#: ../src/config.py:1654
+#, python-format
+msgid "You have opened chat in account %s"
+msgstr "Masz otwarte okno rozmowy na koncie %s"
+
+#: ../src/config.py:1655
+msgid "All chat and groupchat windows will be closed. Do you want to continue?"
+msgstr ""
+"Wszystkie otwarte zakładki rozmów i czatów zostaną zamknięte. Kontynuować?"
+
+#: ../src/config.py:1664
 msgid "You are currently connected to the server"
 msgstr "Jesteś połączony z serwerem"
 
-#: ../src/config.py:1307
+#: ../src/config.py:1665
 msgid "To change the account name, you must be disconnected."
 msgstr "Aby zmienić nazwę konta, musisz być rozłączony."
 
-#: ../src/config.py:1310 ../src/config.py:1916
-msgid "Unread events"
-msgstr "Nieprzeczytane wiadomości"
-
-#: ../src/config.py:1311
+#: ../src/config.py:1669
 msgid "To change the account name, you must read all pending events."
 msgstr ""
 "Aby zmienić nazwę konta, musisz przeczytać wszystkie zaległe wiadomości."
 
-#: ../src/config.py:1315
+#: ../src/config.py:1675
 msgid "Account Name Already Used"
 msgstr "Konto o takiej nazwie już istnieje"
 
-#: ../src/config.py:1316
+#: ../src/config.py:1676
 msgid ""
 "This name is already used by another of your accounts. Please choose another "
 "name."
 msgstr "Posiadasz już konto o tej nazwie. Zmień nazwę konta na unikalną."
 
-#: ../src/config.py:1320 ../src/config.py:1324
+#: ../src/config.py:1680 ../src/config.py:1684
 msgid "Invalid account name"
 msgstr "Niepoprawna nazwa konta"
 
-#: ../src/config.py:1321
+#: ../src/config.py:1681
 msgid "Account name cannot be empty."
 msgstr "Nazwa konta nie może być pusta."
 
-#: ../src/config.py:1325
+#: ../src/config.py:1685
 msgid "Account name cannot contain spaces."
 msgstr "Nazwa konta nie może zawierać spacji."
 
-#: ../src/config.py:1333 ../src/config.py:1339 ../src/config.py:1349
-#: ../src/config.py:2900
+#: ../src/config.py:1749
+msgid "Rename Account"
+msgstr "Zmień nazwę konta"
+
+#: ../src/config.py:1750
+#, python-format
+msgid "Enter a new name for account %s"
+msgstr "Wpisz nowÄ… nazwÄ™ dla kontaktu %s."
+
+#: ../src/config.py:1768 ../src/config.py:1776 ../src/config.py:1816
+#: ../src/config.py:3022
 msgid "Invalid Jabber ID"
 msgstr "Niepoprawny Jabber ID"
 
-#: ../src/config.py:1340
+#: ../src/config.py:1777
 msgid "A Jabber ID must be in the form \"user@servername\"."
 msgstr "Jabber ID musi być postaci \"użytkownik@nazwaserwera\"."
 
-#: ../src/config.py:1399
+#: ../src/config.py:1962 ../src/config.py:3093
 msgid "Invalid entry"
 msgstr "Niepoprawny wpis"
 
-#: ../src/config.py:1400
+#: ../src/config.py:1963 ../src/config.py:3094
 msgid "Custom port must be a port number."
 msgstr "Wybrany port musi być numerem portu."
 
-#: ../src/config.py:1528 ../src/common/config.py:368
-msgid "Be right back."
-msgstr "Zaraz wracam."
-
-#: ../src/config.py:1538
-msgid "Relogin now?"
-msgstr "Czy zalogować się ponownie?"
+#: ../src/config.py:1984
+msgid "Failed to get secret keys"
+msgstr "Pobieranie kluczy prywatnych nie powiodło się"
 
-#: ../src/config.py:1539
-msgid "If you want all the changes to apply instantly, you must relogin."
+#: ../src/config.py:1985
+msgid "There was a problem retrieving your OpenPGP secret keys."
 msgstr ""
-"Jeżeli chcesz by wszelkie zmiany odniosły natychmiastowy skutek, musisz "
-"zalogować się ponownie."
+"Wystąpił problem w trakcie odzyskiwania Twoich kluczy prywatnych OpenPGP."
+
+#: ../src/config.py:1988
+msgid "OpenPGP Key Selection"
+msgstr "Wybór klucza OpenPGP"
 
-#: ../src/config.py:1565
+#: ../src/config.py:1989
+msgid "Choose your OpenPGP key"
+msgstr "Wybierz klucz OpenPGP"
+
+#: ../src/config.py:2029
 msgid "No such account available"
 msgstr "Takie konto nie jest dostępne"
 
-#: ../src/config.py:1566
+#: ../src/config.py:2030
 msgid "You must create your account before editing your personal information."
 msgstr "Musisz najpierw stworzyć konto by móc edytować informacje o sobie."
 
-#: ../src/config.py:1573 ../src/dialogs.py:1190 ../src/dialogs.py:1326
-#: ../src/dialogs.py:1506 ../src/disco.py:420 ../src/profile_window.py:325
+#: ../src/config.py:2037 ../src/dialogs.py:1360 ../src/dialogs.py:1501
+#: ../src/dialogs.py:1681 ../src/disco.py:426 ../src/profile_window.py:306
 msgid "You are not connected to the server"
 msgstr "Nie jesteś połączony z serwerem"
 
-#: ../src/config.py:1574
+#: ../src/config.py:2038
 msgid "Without a connection, you can not edit your personal information."
 msgstr "Musisz być połączony, aby móc zmieniać informacje o sobie."
 
-#: ../src/config.py:1578
+#: ../src/config.py:2042
 msgid "Your server doesn't support Vcard"
 msgstr "Twój serwer nie akceptuje Vcard"
 
-#: ../src/config.py:1579
+#: ../src/config.py:2043
 msgid "Your server can't save your personal information."
 msgstr "Twój serwer nie potrafi zapisać informacji osobistych."
 
-#: ../src/config.py:1610 ../src/config.py:3288
-msgid "Failed to get secret keys"
-msgstr "Pobieranie kluczy prywatnych nie powiodło się"
-
-#: ../src/config.py:1611 ../src/config.py:3289
-msgid "There was a problem retrieving your OpenPGP secret keys."
-msgstr ""
-"Wystąpił problem w trakcie odzyskiwania Twoich kluczy prywatnych OpenPGP."
-
-#: ../src/config.py:1614 ../src/config.py:3292
-msgid "OpenPGP Key Selection"
-msgstr "Wybór klucza OpenPGP"
-
-#: ../src/config.py:1615 ../src/config.py:3293
-msgid "Choose your OpenPGP key"
-msgstr "Wybierz klucz OpenPGP"
-
-#. Name column
-#: ../src/config.py:1850 ../src/dialogs.py:1338 ../src/dialogs.py:1402
-#: ../src/disco.py:741 ../src/disco.py:1564 ../src/disco.py:1802
-#: ../src/history_window.py:78
-msgid "Name"
-msgstr "Nazwa"
-
-#: ../src/config.py:1853 ../src/dialogs.py:1341
-msgid "Server"
-msgstr "Serwer"
-
-#: ../src/config.py:1917
-msgid "Read all pending events before removing this account."
-msgstr ""
-"Przejrzyj wszystkie niepotwierdzone zdarzenia przed usunięciem tego konta."
-
-#: ../src/config.py:1954
-#, python-format
-msgid "You have opened chat in account %s"
-msgstr "Masz otwarte okno rozmowy na koncie %s"
-
-#: ../src/config.py:1955
-msgid "All chat and groupchat windows will be closed. Do you want to continue?"
-msgstr ""
-"Wszystkie otwarte zakładki rozmów i czatów zostaną zamknięte. Kontynuować?"
-
-#: ../src/config.py:2014
+#: ../src/config.py:2074
 msgid "Account Local already exists."
 msgstr "Konto o takiej nazwie już istnieje."
 
-#: ../src/config.py:2015
+#: ../src/config.py:2075
 msgid "Please rename or remove it before enabling link-local messaging."
 msgstr ""
 "Proszę go zmienić lub usunąć przed uaktywnieniem komunikacji link-local."
 
-#: ../src/config.py:2111
+#: ../src/config.py:2251
 #, python-format
 msgid "Edit %s"
 msgstr "Modyfikuj %s"
 
-#: ../src/config.py:2113
+#: ../src/config.py:2253
 #, python-format
 msgid "Register to %s"
 msgstr "Zarejestruj na %s"
 
 #. list at the beginning
-#: ../src/config.py:2179
+#: ../src/config.py:2289
 msgid "Ban List"
 msgstr "Lista kontaktów zablokowanych"
 
-#: ../src/config.py:2180
+#: ../src/config.py:2290
 msgid "Member List"
 msgstr "_Lista uczestników"
 
-#: ../src/config.py:2181
+#: ../src/config.py:2291
 msgid "Owner List"
 msgstr "_Lista właścicieli"
 
-#: ../src/config.py:2182
+#: ../src/config.py:2292
 msgid "Administrator List"
 msgstr "_Administratorzy"
 
 #. Address column
 #. holds JID (who said this)
-#: ../src/config.py:2231 ../src/disco.py:748 ../src/history_manager.py:155
+#: ../src/config.py:2341 ../src/disco.py:749 ../src/history_manager.py:160
 msgid "JID"
 msgstr "JID"
 
-#: ../src/config.py:2239
+#: ../src/config.py:2349
 msgid "Reason"
 msgstr "Powód"
 
-#: ../src/config.py:2244
+#: ../src/config.py:2354
 msgid "Nick"
 msgstr "Nick"
 
-#: ../src/config.py:2248
+#: ../src/config.py:2358
 msgid "Role"
 msgstr "Funkcja:"
 
-#: ../src/config.py:2273
+#: ../src/config.py:2383
 msgid "Banning..."
 msgstr "Blokuję użytkownika..."
 
 #. You can move '\n' before user@domain if that line is TOO BIG
-#: ../src/config.py:2275
+#: ../src/config.py:2385
 msgid ""
 "<b>Whom do you want to ban?</b>\n"
 "\n"
@@ -2987,11 +3135,11 @@ msgstr ""
 "<b>Którego użytkownika chcesz zablokować?</b>\n"
 "\n"
 
-#: ../src/config.py:2277
+#: ../src/config.py:2387
 msgid "Adding Member..."
 msgstr "Dodaję członka..."
 
-#: ../src/config.py:2278
+#: ../src/config.py:2388
 msgid ""
 "<b>Whom do you want to make a member?</b>\n"
 "\n"
@@ -2999,11 +3147,11 @@ msgstr ""
 "<b>Status którego użytkownika chcesz zmienić?</b>\n"
 "\n"
 
-#: ../src/config.py:2280
+#: ../src/config.py:2390
 msgid "Adding Owner..."
 msgstr "Dodaję właściciela..."
 
-#: ../src/config.py:2281
+#: ../src/config.py:2391
 msgid ""
 "<b>Whom do you want to make an owner?</b>\n"
 "\n"
@@ -3011,11 +3159,11 @@ msgstr ""
 "<b>Którego użytkownika chcesz uczynić właścicielem pokoju?</b>\n"
 "\n"
 
-#: ../src/config.py:2283
+#: ../src/config.py:2393
 msgid "Adding Administrator..."
 msgstr "DodajÄ™ administratora..."
 
-#: ../src/config.py:2284
+#: ../src/config.py:2394
 msgid ""
 "<b>Whom do you want to make an administrator?</b>\n"
 "\n"
@@ -3023,7 +3171,7 @@ msgstr ""
 "<b>Którego użytkownika chcesz uczynić administratorem?</b>\n"
 "\n"
 
-#: ../src/config.py:2285
+#: ../src/config.py:2395
 msgid ""
 "Can be one of the following:\n"
 "1. user@domain/resource (only that resource matches).\n"
@@ -3039,99 +3187,83 @@ msgstr ""
 "4. domena (dotyczy domeny a także dowolnego adresu typu użytkownik@domena,\n"
 "domena/zasób lub adresu zawierającego subdomenę)."
 
-#: ../src/config.py:2389
+#: ../src/config.py:2499
 #, python-format
 msgid "Removing %s account"
 msgstr "Usuwanie konta %s"
 
-#: ../src/config.py:2406 ../src/roster_window.py:3008
+#: ../src/config.py:2514 ../src/gajim.py:1336 ../src/roster_window.py:3426
 msgid "Password Required"
 msgstr "Wymagane hasło"
 
-#: ../src/config.py:2407 ../src/roster_window.py:3004
+#: ../src/config.py:2515 ../src/roster_window.py:3422
 #, python-format
 msgid "Enter your password for account %s"
 msgstr "Wpisz hasło dla konta %s"
 
-#: ../src/config.py:2408 ../src/roster_window.py:3009
+#: ../src/config.py:2516 ../src/roster_window.py:3427
 msgid "Save password"
 msgstr "Zapisz hasło"
 
-#: ../src/config.py:2422
+#: ../src/config.py:2529
 #, python-format
 msgid "Account \"%s\" is connected to the server"
 msgstr "Konto \"%s\" jest połączone z serwerem."
 
-#: ../src/config.py:2423
+#: ../src/config.py:2530
 msgid "If you remove it, the connection will be lost."
 msgstr "Jeśli to usuniesz, połączenie zostanie zerwane."
 
-#: ../src/config.py:2508
+#: ../src/config.py:2623
 msgid "Default"
 msgstr "Domyślny"
 
-#: ../src/config.py:2508
+#: ../src/config.py:2623
 msgid "?print_status:All"
 msgstr "?print_status:Wszystkie"
 
-#: ../src/config.py:2509
+#: ../src/config.py:2624
 msgid "Enter and leave only"
 msgstr "Jedynie wejdź i wyjdź"
 
-#: ../src/config.py:2510
+#: ../src/config.py:2625
 msgid "?print_status:None"
 msgstr "?print_status:Żaden"
 
-#: ../src/config.py:2578
+#: ../src/config.py:2694
 msgid "New Group Chat"
 msgstr "Nowa rozmowa grupowa"
 
-#: ../src/config.py:2611
+#: ../src/config.py:2727
 msgid "This bookmark has invalid data"
 msgstr "Ta zakładka zawiera niepoprawne dane"
 
-#: ../src/config.py:2612
+#: ../src/config.py:2728
 msgid ""
 "Please be sure to fill out server and room fields or remove this bookmark."
 msgstr "Upewnij się, że wypełniłeś pola serwer i pokój lub usuń tę zakładkę."
 
-#: ../src/config.py:2875
+#: ../src/config.py:3005
 msgid "Invalid username"
 msgstr "Niepoprawna nazwa użytkownika"
 
-#: ../src/config.py:2876
+#: ../src/config.py:3007
 msgid "You must provide a username to configure this account."
 msgstr "Musisz wpisać nazwę użytkownika aby skonfigurować to konto."
 
-#: ../src/config.py:2886 ../src/dialogs.py:1525
-msgid "Invalid password"
-msgstr "Niepoprawne hasło"
-
-#: ../src/config.py:2887
-msgid "You must enter a password for the new account."
-msgstr "Musisz wpisać hasło dla nowego konta."
-
-#: ../src/config.py:2891 ../src/dialogs.py:1530
-msgid "Passwords do not match"
-msgstr "Hasła nie zgadzają się"
-
-#: ../src/config.py:2892 ../src/dialogs.py:1531
-msgid "The passwords typed in both fields must be identical."
-msgstr "Hasła wpisane w obydwu polach muszą być identyczne."
-
-#: ../src/config.py:2911
+#: ../src/config.py:3033
 msgid "Duplicate Jabber ID"
 msgstr "Taki Jabber ID już istnieje!"
 
-#: ../src/config.py:2912
+#: ../src/config.py:3034
 msgid "This account is already configured in Gajim."
 msgstr "Konto o takiej nazwie jest już skonfigurowane."
 
-#: ../src/config.py:2929
+#: ../src/config.py:3051
 msgid "Account has been added successfully"
 msgstr "Konto zostało pomyślnie dodane"
 
-#: ../src/config.py:2930 ../src/config.py:2965
+#: ../src/config.py:3052 ../src/config.py:3197
 msgid ""
 "You can set advanced account options by pressing the Advanced button, or "
 "later by choosing the Accounts menuitem under the Edit menu from the main "
@@ -3140,23 +3272,31 @@ msgstr ""
 "Możesz ustawić opcje zaawansowane wciskając przycisk Zaawansowane lub "
 "później wybierając pozycję Konta z menu Edycja w głównym oknie programu."
 
-#: ../src/config.py:2964
-msgid "Your new account has been created successfully"
-msgstr "Twoje konto zostało założone"
+#: ../src/config.py:3069
+msgid "Invalid server"
+msgstr "Niepoprawna nazwa serwera"
+
+#: ../src/config.py:3070
+msgid "Please provide a server on which you want to register."
+msgstr "Wpisz adres serwera, na którym chcesz się zarejestrować."
 
-#: ../src/config.py:2982
+#: ../src/config.py:3176 ../src/config.py:3215
 msgid "An error occurred during account creation"
 msgstr "Wystąpił błąd w trakcie tworzenia konta"
 
-#: ../src/config.py:3040
+#: ../src/config.py:3196
+msgid "Your new account has been created successfully"
+msgstr "Twoje konto zostało założone"
+
+#: ../src/config.py:3299
 msgid "Account name is in use"
 msgstr "Nazwa konta jest już zajęta"
 
-#: ../src/config.py:3041
+#: ../src/config.py:3300
 msgid "You already have an account using this name."
 msgstr "Masz już konto o takiej nazwie."
 
-#: ../src/conversation_textview.py:279
+#: ../src/conversation_textview.py:450
 msgid ""
 "Text below this line is what has been said since the last time you paid "
 "attention to this group chat"
@@ -3164,191 +3304,200 @@ msgstr ""
 "Tekst poniżej tej linii zawiera to, co zostało napisane w tym pokoju od "
 "momentu gdy ostatni raz zwracałeś/zwracałaś na niego uwagę"
 
-#: ../src/conversation_textview.py:348
+#: ../src/conversation_textview.py:548
 #, python-format
 msgid "_Actions for \"%s\""
 msgstr "_Działania dla wyrażenia \"%s\""
 
-#: ../src/conversation_textview.py:360
+#: ../src/conversation_textview.py:560
 msgid "Read _Wikipedia Article"
 msgstr "Przeczytaj artykuł w _Wikipedii"
 
-#: ../src/conversation_textview.py:365
+#: ../src/conversation_textview.py:565
 msgid "Look it up in _Dictionary"
 msgstr "Szukaj w _słowniku"
 
 #. we must have %s in the url if not WIKTIONARY
-#: ../src/conversation_textview.py:381
+#: ../src/conversation_textview.py:581
 #, python-format
 msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
 msgstr "W URL-u słownika brakuje \"%s\" i nie jest to WIKTIONARY"
 
 #. we must have %s in the url
-#: ../src/conversation_textview.py:394
+#: ../src/conversation_textview.py:594
 #, python-format
 msgid "Web Search URL is missing an \"%s\""
 msgstr "W URL-u Przeszukiwania Sieci brakuje \"%s\""
 
-#: ../src/conversation_textview.py:397
+#: ../src/conversation_textview.py:597
 msgid "Web _Search for it"
 msgstr "Szukaj w _Internecie"
 
-#: ../src/conversation_textview.py:403
+#: ../src/conversation_textview.py:603
 msgid "Open as _Link"
 msgstr "Otwórz jako _odnośnik"
 
-#: ../src/conversation_textview.py:848
+#: ../src/conversation_textview.py:1069
 msgid "Yesterday"
 msgstr "Wczoraj"
 
 #. the number is >= 2
 #. %i is day in year (1-365), %d (1-31) we want %i
-#: ../src/conversation_textview.py:852
+#: ../src/conversation_textview.py:1073
 #, python-format
 msgid "%i days ago"
 msgstr "%i dni temu"
 
 #. if we have subject, show it too!
-#: ../src/conversation_textview.py:886
+#: ../src/conversation_textview.py:1107
 #, python-format
 msgid "Subject: %s\n"
 msgstr "Temat: %s\n"
 
-#: ../src/dialogs.py:59
+#: ../src/dialogs.py:71
 #, python-format
 msgid "Contact name: <i>%s</i>"
 msgstr "Nazwa kontaktu: <i>%s</i>"
 
-#: ../src/dialogs.py:61
+#: ../src/dialogs.py:73
 #, python-format
 msgid "Jabber ID: <i>%s</i>"
 msgstr "JID : <i>%s</i>"
 
-#: ../src/dialogs.py:211
+#: ../src/dialogs.py:223
 msgid "Group"
 msgstr "Grupa"
 
-#: ../src/dialogs.py:218
+#: ../src/dialogs.py:230
 msgid "In the group"
 msgstr "W grupie"
 
-#: ../src/dialogs.py:269
+#: ../src/dialogs.py:330
 msgid "KeyID"
 msgstr "Identyfikator klucza"
 
-#: ../src/dialogs.py:272
+#: ../src/dialogs.py:333
 msgid "Contact name"
 msgstr "Nazwa kontaktu"
 
-#: ../src/dialogs.py:318
+#: ../src/dialogs.py:379
 #, python-format
 msgid "%s Status Message"
 msgstr "Informacja o statusie %s"
 
-#: ../src/dialogs.py:320
+#: ../src/dialogs.py:381
 msgid "Status Message"
 msgstr "Opis statusu"
 
-#: ../src/dialogs.py:395
+#: ../src/dialogs.py:481
 msgid "Save as Preset Status Message"
 msgstr "Szablony opisów"
 
-#: ../src/dialogs.py:396
+#: ../src/dialogs.py:482
 msgid "Please type a name for this status message"
 msgstr "Podaj nazwÄ™ dla tego szablonu"
 
-#: ../src/dialogs.py:417
+#: ../src/dialogs.py:493
+msgid "Overwrite Status Message?"
+msgstr "Zmienić opis statusu?"
+
+#: ../src/dialogs.py:494
+msgid ""
+"This name is already used. Do you want to overwrite this status message?"
+msgstr "Status o tej nazwie jest w użyciu. Czy chcesz go zmienić?"
+
+#: ../src/dialogs.py:510
 msgid "AIM Address:"
 msgstr "_Adres AIM:"
 
-#: ../src/dialogs.py:418
+#: ../src/dialogs.py:511
 msgid "GG Number:"
 msgstr "Numer GG:"
 
-#: ../src/dialogs.py:419
+#: ../src/dialogs.py:512
 msgid "ICQ Number:"
 msgstr "Numer ICQ:"
 
-#: ../src/dialogs.py:420
+#: ../src/dialogs.py:513
 msgid "MSN Address:"
 msgstr "_Adres MSN:"
 
-#: ../src/dialogs.py:421
+#: ../src/dialogs.py:514
 msgid "Yahoo! Address:"
 msgstr "Adres _Yahoo:"
 
-#: ../src/dialogs.py:457
+#: ../src/dialogs.py:551
 #, python-format
 msgid "Please fill in the data of the contact you want to add in account %s"
 msgstr "Wypełnij informacje o kontakcie, który chcesz dodać do konta %s"
 
-#: ../src/dialogs.py:459
+#: ../src/dialogs.py:553
 msgid "Please fill in the data of the contact you want to add"
 msgstr "Wypełnij informacje o kontakcie, który chcesz dodać"
 
-#: ../src/dialogs.py:609 ../src/dialogs.py:615
+#: ../src/dialogs.py:710 ../src/dialogs.py:716
 msgid "Invalid User ID"
 msgstr "Niepoprawny identyfikator użytkownika"
 
-#: ../src/dialogs.py:616
+#: ../src/dialogs.py:717
 msgid "The user ID must not contain a resource."
 msgstr "ID użytkownika nie może zawierać zasobu."
 
-#: ../src/dialogs.py:630
+#: ../src/dialogs.py:731
 msgid "Contact already in roster"
 msgstr "Kontakt jest już na liście kontaktów"
 
-#: ../src/dialogs.py:631
+#: ../src/dialogs.py:732
 msgid "This contact is already listed in your roster."
 msgstr "Ten kontakt znajduje się już na twojej liście kontaktów."
 
-#: ../src/dialogs.py:668
+#: ../src/dialogs.py:768
 msgid "User ID:"
 msgstr "ID uzytkownika:"
 
-#: ../src/dialogs.py:731
+#: ../src/dialogs.py:830
 msgid "A GTK+ jabber client"
 msgstr "Klient jabbera w GTK+."
 
-#: ../src/dialogs.py:732
+#: ../src/dialogs.py:831
 msgid "GTK+ Version:"
 msgstr "Wersja GTK+:"
 
-#: ../src/dialogs.py:733
+#: ../src/dialogs.py:832
 msgid "PyGTK Version:"
 msgstr "Wersja PyGTK:"
 
-#: ../src/dialogs.py:747
+#: ../src/dialogs.py:846
 msgid "Current Developers:"
 msgstr "Bieżący deweloperzy:"
 
-#: ../src/dialogs.py:749
+#: ../src/dialogs.py:848
 msgid "Past Developers:"
 msgstr "Poprzedni deweloperzy:"
 
-#: ../src/dialogs.py:759
+#: ../src/dialogs.py:858
 msgid "THANKS:"
 msgstr "Podziękowania:"
 
 #. remove one english sentence
 #. and add it manually as translatable
-#: ../src/dialogs.py:765
+#: ../src/dialogs.py:864
 msgid "Last but not least, we would like to thank all the package maintainers."
 msgstr "I wreszcie, chcielibyśmy podziękować wszystkim opiekunom pakietów."
 
 #. here you write your name in the form Name FamilyName <someone@somewhere>
-#: ../src/dialogs.py:778
+#: ../src/dialogs.py:877
 msgid "translator-credits"
 msgstr ""
-"Tłumaczenie na język polski: Witold Kieraś <pambuk@gmail.com>\n"
-"Maciej Chojnacki <byte@byte.livenet.pl>"
+"Tłumaczenie na język polski: Witold Kieraś\n"
+"Maciej Chojnacki <maciej@chojnacki.name>"
 
-#: ../src/dialogs.py:908
+#: ../src/dialogs.py:1007
 #, python-format
 msgid "Unable to bind to port %s."
 msgstr "Nie można podłączyć się do portu %s."
 
-#: ../src/dialogs.py:909
+#: ../src/dialogs.py:1008
 msgid ""
 "Maybe you have another running instance of Gajim. File Transfer will be "
 "cancelled."
@@ -3356,75 +3505,92 @@ msgstr ""
 "Być może masz już uruchomioną inną kopię Gajima. Przesyłanie plików zostanie "
 "anulowane."
 
-#: ../src/dialogs.py:1120
+#: ../src/dialogs.py:1015
 #, python-format
-msgid "Subscription request for account %s from %s"
-msgstr "Prośba o autoryzację dla konta %s od %s"
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option.\n"
+"\n"
+"Highlighting misspelled words feature will not be used"
+msgstr ""
+"Musisz zainstalować słownik %s aby aktywować sprawdzanie pisowni lub wybrać "
+"inny język korzystać z opcji speller_langugage.\n"
+"Do tego czasu podświetlanie błędnie wpisanych słów nie będzie działało"
+
+#: ../src/dialogs.py:1289
+#, python-format
+msgid "Subscription request for account %s from %s"
+msgstr "Prośba o autoryzację dla konta %s od %s"
 
-#: ../src/dialogs.py:1123
+#: ../src/dialogs.py:1292
 #, python-format
 msgid "Subscription request from %s"
 msgstr "Prośba o autoryzację od %s"
 
-#: ../src/dialogs.py:1183 ../src/roster_window.py:705
+#: ../src/dialogs.py:1353 ../src/roster_window.py:769
 #, python-format
 msgid "You are already in group chat %s"
 msgstr "Już jesteś w pokoju %s"
 
-#: ../src/dialogs.py:1191
+#: ../src/dialogs.py:1361
 msgid "You can not join a group chat unless you are connected."
 msgstr "Nie możesz dołączyć do pokoju gdy nie jesteś połączony."
 
-#: ../src/dialogs.py:1206
+#: ../src/dialogs.py:1379
 #, python-format
 msgid "Join Group Chat with account %s"
 msgstr "Dołącz do pokoju z konta %s"
 
-#: ../src/dialogs.py:1274 ../src/dialogs.py:1280
-#: ../src/groupchat_control.py:1475
+#: ../src/dialogs.py:1449 ../src/dialogs.py:1455
+#: ../src/groupchat_control.py:1683
 msgid "Invalid group chat Jabber ID"
 msgstr "Niepoprawny Jabber ID"
 
-#: ../src/dialogs.py:1275 ../src/dialogs.py:1281
-#: ../src/groupchat_control.py:1476
+#: ../src/dialogs.py:1450 ../src/dialogs.py:1456
+#: ../src/groupchat_control.py:1684
 msgid "The group chat Jabber ID has not allowed characters."
 msgstr "Używane przez ciebie Jabber ID zawiera niedozwolone znaki."
 
-#: ../src/dialogs.py:1287
+#: ../src/dialogs.py:1462
 msgid "This is not a group chat"
 msgstr "To nie jest czat"
 
-#: ../src/dialogs.py:1288
+#: ../src/dialogs.py:1463
 #, python-format
 msgid "%s is not the name of a group chat."
 msgstr "%s nie jest nazwÄ… czatu."
 
-#: ../src/dialogs.py:1327
+#: ../src/dialogs.py:1502
 msgid "Without a connection, you can not synchronise your contacts."
 msgstr "Nie możesz zsynchronizować kontaktów przy niektywnym połączeniu."
 
-#: ../src/dialogs.py:1374
+#: ../src/dialogs.py:1516
+msgid "Server"
+msgstr "Serwer"
+
+#: ../src/dialogs.py:1549
 msgid "This account is not connected to the server"
 msgstr "To konto nie jest połączone z serwerem"
 
-#: ../src/dialogs.py:1375
+#: ../src/dialogs.py:1550
 msgid "You cannot synchronize with an account unless it is connected."
-msgstr "Nie możesz synchronizować kontaktów z kontem, które nie jest połączone."
+msgstr ""
+"Nie możesz synchronizować kontaktów z kontem, które nie jest połączone."
 
-#: ../src/dialogs.py:1399
+#: ../src/dialogs.py:1574
 msgid "Synchronise"
 msgstr "Synchronizuj"
 
-#: ../src/dialogs.py:1457
+#: ../src/dialogs.py:1632
 #, python-format
 msgid "Start Chat with account %s"
 msgstr "Rozpocznij rozmowÄ™ z konta %s"
 
-#: ../src/dialogs.py:1459
+#: ../src/dialogs.py:1634
 msgid "Start Chat"
 msgstr "Rozpocznij rozmowÄ™"
 
-#: ../src/dialogs.py:1460
+#: ../src/dialogs.py:1635
 msgid ""
 "Fill in the nickname or the Jabber ID of the contact you would like\n"
 "to send a chat message to:"
@@ -3433,283 +3599,290 @@ msgstr ""
 "wysłać wiadomość:"
 
 #. if offline or connecting
-#: ../src/dialogs.py:1485 ../src/dialogs.py:1844 ../src/dialogs.py:1975
+#: ../src/dialogs.py:1660 ../src/dialogs.py:2030 ../src/dialogs.py:2171
 msgid "Connection not available"
 msgstr "Połączenie jest niedostępne"
 
-#: ../src/dialogs.py:1486 ../src/dialogs.py:1845 ../src/dialogs.py:1976
+#: ../src/dialogs.py:1661 ../src/dialogs.py:2031 ../src/dialogs.py:2172
 #, python-format
 msgid "Please make sure you are connected with \"%s\"."
 msgstr "Sprawdź, czy jesteś połączony z \"%s\"."
 
-#: ../src/dialogs.py:1495 ../src/dialogs.py:1498
+#: ../src/dialogs.py:1670 ../src/dialogs.py:1673
 msgid "Invalid JID"
 msgstr "Niepoprawny JID"
 
-#: ../src/dialogs.py:1498
+#: ../src/dialogs.py:1673
 #, python-format
 msgid "Unable to parse \"%s\"."
 msgstr "Nie można sparsować \"%s\"."
 
-#: ../src/dialogs.py:1507
+#: ../src/dialogs.py:1682
 msgid "Without a connection, you can not change your password."
 msgstr "Nie możesz zmienić hasła, jeśli nie jesteś połączony."
 
-#: ../src/dialogs.py:1526
+#: ../src/dialogs.py:1700
+msgid "Invalid password"
+msgstr "Niepoprawne hasło"
+
+#: ../src/dialogs.py:1701
 msgid "You must enter a password."
 msgstr "Musisz wpisać hasło."
 
+#: ../src/dialogs.py:1705
+msgid "Passwords do not match"
+msgstr "Hasła nie zgadzają się"
+
+#: ../src/dialogs.py:1706
+msgid "The passwords typed in both fields must be identical."
+msgstr "Hasła wpisane w obydwu polach muszą być identyczne."
+
 #. img to display
 #. default value
-#: ../src/dialogs.py:1573 ../src/notify.py:212 ../src/notify.py:416
+#: ../src/dialogs.py:1748 ../src/notify.py:224 ../src/notify.py:434
 msgid "Contact Signed In"
 msgstr "Kontakt połączył się"
 
-#: ../src/dialogs.py:1575 ../src/notify.py:220 ../src/notify.py:418
+#: ../src/dialogs.py:1750 ../src/notify.py:232 ../src/notify.py:436
 msgid "Contact Signed Out"
 msgstr "Kontakt rozłączył się"
 
 #. chat message
-#: ../src/dialogs.py:1577 ../src/notify.py:239 ../src/notify.py:420
+#: ../src/dialogs.py:1752 ../src/notify.py:255 ../src/notify.py:438
 msgid "New Message"
 msgstr "Nowa wiadomość"
 
 #. single message
-#: ../src/dialogs.py:1577 ../src/notify.py:224 ../src/notify.py:420
+#: ../src/dialogs.py:1752 ../src/notify.py:236 ../src/notify.py:438
 msgid "New Single Message"
 msgstr "Nowa wiadomość"
 
 #. private message
-#: ../src/dialogs.py:1578 ../src/notify.py:231 ../src/notify.py:421
+#: ../src/dialogs.py:1753 ../src/notify.py:243 ../src/notify.py:439
 msgid "New Private Message"
 msgstr "Wyślij prywatną wiadomość"
 
-#: ../src/dialogs.py:1578 ../src/gajim.py:1294 ../src/notify.py:429
+#: ../src/dialogs.py:1753 ../src/gajim.py:1489 ../src/notify.py:447
 msgid "New E-mail"
 msgstr "Nowy adres e-mail"
 
-#: ../src/dialogs.py:1580 ../src/gajim.py:1447 ../src/notify.py:423
+#: ../src/dialogs.py:1755 ../src/gajim.py:1664 ../src/notify.py:441
 msgid "File Transfer Request"
 msgstr "Pytanie o przysłanie pliku"
 
-#: ../src/dialogs.py:1582 ../src/gajim.py:1266 ../src/gajim.py:1423
-#: ../src/notify.py:425
+#: ../src/dialogs.py:1757 ../src/gajim.py:1461 ../src/gajim.py:1631
+#: ../src/notify.py:443
 msgid "File Transfer Error"
 msgstr "Błąd przesyłania pliku"
 
-#: ../src/dialogs.py:1584 ../src/gajim.py:1486 ../src/gajim.py:1508
-#: ../src/gajim.py:1525 ../src/notify.py:427
+#: ../src/dialogs.py:1759 ../src/gajim.py:1703 ../src/gajim.py:1725
+#: ../src/gajim.py:1742 ../src/notify.py:445
 msgid "File Transfer Completed"
 msgstr "Zakończono przesyłanie pliku"
 
-#: ../src/dialogs.py:1585 ../src/gajim.py:1489 ../src/notify.py:427
+#: ../src/dialogs.py:1760 ../src/gajim.py:1706 ../src/notify.py:445
 msgid "File Transfer Stopped"
 msgstr "Przesyłanie pliku zatrzymane"
 
-#: ../src/dialogs.py:1587 ../src/gajim.py:1163 ../src/notify.py:431
+#: ../src/dialogs.py:1762 ../src/gajim.py:1357 ../src/notify.py:449
 msgid "Groupchat Invitation"
 msgstr "Zaproszenie na czat"
 
-#: ../src/dialogs.py:1589 ../src/notify.py:204 ../src/notify.py:433
+#: ../src/dialogs.py:1764 ../src/notify.py:216 ../src/notify.py:451
 msgid "Contact Changed Status"
 msgstr "Kontakt zmienił status"
 
-#: ../src/dialogs.py:1774
+#: ../src/dialogs.py:1949
 #, python-format
 msgid "Single Message using account %s"
 msgstr "Wiadomość z konta %s"
 
-#: ../src/dialogs.py:1776
+#: ../src/dialogs.py:1951
 #, python-format
 msgid "Single Message in account %s"
 msgstr "Wiadomość z konta %s"
 
-#: ../src/dialogs.py:1778
+#: ../src/dialogs.py:1953
 msgid "Single Message"
 msgstr "Pojedyncza wiadomość"
 
 #. prepare UI for Sending
-#: ../src/dialogs.py:1781
+#: ../src/dialogs.py:1956
 #, python-format
 msgid "Send %s"
 msgstr "Wyślij %s"
 
 #. prepare UI for Receiving
-#: ../src/dialogs.py:1804
+#: ../src/dialogs.py:1979
 #, python-format
 msgid "Received %s"
 msgstr "Odebrane %s"
 
+#. prepare UI for Receiving
+#: ../src/dialogs.py:2002
+#, python-format
+msgid "Form %s"
+msgstr "Od %s"
+
 #. we create a new blank window to send and we preset RE: and to jid
-#: ../src/dialogs.py:1876
+#: ../src/dialogs.py:2072
 #, python-format
 msgid "RE: %s"
 msgstr "RE: %s"
 
-#: ../src/dialogs.py:1877
+#: ../src/dialogs.py:2073
 #, python-format
 msgid "%s wrote:\n"
 msgstr "%s napisał:\n"
 
-#: ../src/dialogs.py:1921
+#: ../src/dialogs.py:2117
 #, python-format
 msgid "XML Console for %s"
 msgstr "Kosola XML dla %s"
 
-#: ../src/dialogs.py:1923
+#: ../src/dialogs.py:2119
 msgid "XML Console"
 msgstr "Konsola XML"
 
-#: ../src/dialogs.py:2046
+#: ../src/dialogs.py:2242
 #, python-format
 msgid "Privacy List <b><i>%s</i></b>"
 msgstr "Lista prywatności <b><i>%s</i></b>"
 
-#: ../src/dialogs.py:2050
+#: ../src/dialogs.py:2246
 #, python-format
 msgid "Privacy List for %s"
 msgstr "Lista prywatności dla %s"
 
-#: ../src/dialogs.py:2098
+#: ../src/dialogs.py:2302
 #, python-format
 msgid "Order: %s, action: %s, type: %s, value: %s"
 msgstr "Kolejność: %s, akcja: %s, typ: %s, wartość: %s"
 
-#: ../src/dialogs.py:2101
+#: ../src/dialogs.py:2305
 #, python-format
 msgid "Order: %s, action: %s"
 msgstr "Kolejność: %s, akcja: %s"
 
-#: ../src/dialogs.py:2143
+#: ../src/dialogs.py:2347
 msgid "<b>Edit a rule</b>"
 msgstr "<b>Edytuj regułę</b>"
 
-#: ../src/dialogs.py:2230
+#: ../src/dialogs.py:2434
 msgid "<b>Add a rule</b>"
 msgstr "<b>Dodaj regułę</b>"
 
-#: ../src/dialogs.py:2319
-#, python-format
-msgid "Blocked Contacts for %s"
-msgstr "Kontakty zablokowane (dla %s)"
-
-#: ../src/dialogs.py:2321
-msgid "Blocked Contacts"
-msgstr "Kontakty zablokowane"
-
-#: ../src/dialogs.py:2390
-msgid "Group %s"
-msgstr "Grupa %"
-
-#: ../src/dialogs.py:2421
+#: ../src/dialogs.py:2530
 #, python-format
 msgid "Privacy Lists for %s"
 msgstr "Listy prywatności dla %s"
 
-#: ../src/dialogs.py:2423
+#: ../src/dialogs.py:2532
 msgid "Privacy Lists"
 msgstr "Listy prywatności"
 
-#: ../src/dialogs.py:2493
+#: ../src/dialogs.py:2602
 msgid "Invalid List Name"
 msgstr "Niepoprawna nazwa listy"
 
-#: ../src/dialogs.py:2494
+#: ../src/dialogs.py:2603
 msgid "You must enter a name to create a privacy list."
 msgstr "Musisz podać nazwę nowej listy prywatności."
 
-#. Don't translate $Contact
-#: ../src/dialogs.py:2528
+#: ../src/dialogs.py:2640
+msgid "$Contact has invited you to join a discussion"
+msgstr "$Contact zaprasza ciÄ™ do rozmowy"
+
+#: ../src/dialogs.py:2642
 #, python-format
 msgid "$Contact has invited you to group chat %(room_jid)s"
 msgstr "$Contact zaprasza ciÄ™ do pokoju %(room_jid)s"
 
-#. only if not None and not ''
-#: ../src/dialogs.py:2540
+#: ../src/dialogs.py:2655
 #, python-format
 msgid "Comment: %s"
 msgstr "Komentarz: %s"
 
-#: ../src/dialogs.py:2602
+#: ../src/dialogs.py:2721
 msgid "Choose Sound"
 msgstr "Wybierz dźwięk"
 
-#: ../src/dialogs.py:2612 ../src/dialogs.py:2657
+#: ../src/dialogs.py:2731 ../src/dialogs.py:2779
 msgid "All files"
 msgstr "Wszystkie pliki"
 
-#: ../src/dialogs.py:2617
+#: ../src/dialogs.py:2736
 msgid "Wav Sounds"
 msgstr "Dźwięki w Wav"
 
-#: ../src/dialogs.py:2647
+#: ../src/dialogs.py:2769
 msgid "Choose Image"
 msgstr "Wybierz obrazek"
 
-#: ../src/dialogs.py:2662
+#: ../src/dialogs.py:2784
 msgid "Images"
 msgstr "Obrazki"
 
-#: ../src/dialogs.py:2719
+#: ../src/dialogs.py:2849
 #, python-format
 msgid "When %s becomes:"
 msgstr "Gdy %s ma status:"
 
-#: ../src/dialogs.py:2721
+#: ../src/dialogs.py:2851
 #, python-format
 msgid "Adding Special Notification for %s"
 msgstr "DodajÄ™ specjalne powiadomienia dla %s"
 
 #. # means number
-#: ../src/dialogs.py:2792
+#: ../src/dialogs.py:2922
 msgid "#"
 msgstr "Nr"
 
-#: ../src/dialogs.py:2798
+#: ../src/dialogs.py:2928
 msgid "Condition"
 msgstr "Warunek"
 
-#: ../src/dialogs.py:2919
+#: ../src/dialogs.py:3046
 msgid "when I am "
 msgstr "kiedy mam "
 
-#: ../src/disco.py:104
+#: ../src/disco.py:110
 msgid "Others"
 msgstr "Inni"
 
-#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1350
-#: ../src/gajim.py:607 ../src/roster_window.py:273 ../src/roster_window.py:331
-#: ../src/roster_window.py:370 ../src/roster_window.py:454
-#: ../src/roster_window.py:486 ../src/roster_window.py:488
-#: ../src/roster_window.py:4230 ../src/roster_window.py:4232
-#: ../src/common/contacts.py:267 ../src/common/contacts.py:282
-#: ../src/common/helpers.py:43
+#: ../src/disco.py:111 ../src/disco.py:112 ../src/disco.py:1354
+#: ../src/gajim.py:653 ../src/roster_window.py:288 ../src/roster_window.py:348
+#: ../src/roster_window.py:388 ../src/roster_window.py:496
+#: ../src/roster_window.py:528 ../src/roster_window.py:530
+#: ../src/roster_window.py:4730 ../src/roster_window.py:4732
+#: ../src/common/contacts.py:295 ../src/common/contacts.py:310
+#: ../src/common/helpers.py:49
 msgid "Transports"
 msgstr "Transporty"
 
 #. conference is a category for listing mostly groupchats in service discovery
-#: ../src/disco.py:108
+#: ../src/disco.py:114
 msgid "Conference"
 msgstr "Konferencja"
 
-#: ../src/disco.py:421
+#: ../src/disco.py:427
 msgid "Without a connection, you can not browse available services"
 msgstr "Nie możesz przeglądać usług, jeśli nie jesteś połączony"
 
-#: ../src/disco.py:500
+#: ../src/disco.py:501
 #, python-format
 msgid "Service Discovery using account %s"
 msgstr "Przeglądanie usług przy użyciu konta %s"
 
-#: ../src/disco.py:502
+#: ../src/disco.py:503
 msgid "Service Discovery"
 msgstr "Przeglądanie usług"
 
-#: ../src/disco.py:642
+#: ../src/disco.py:643
 msgid "The service could not be found"
 msgstr "Nie można odnaleźć usługi"
 
-#: ../src/disco.py:643
+#: ../src/disco.py:644
 msgid ""
 "There is no service at the address you entered, or it is not responding. "
 "Check the address and try again."
@@ -3717,210 +3890,458 @@ msgstr ""
 "Pod wpisanym adresem nie ma żadnych usług lub one nie odpowiadają. Sprawdź "
 "adres i spróbuj ponownie."
 
-#: ../src/disco.py:647 ../src/disco.py:928
+#: ../src/disco.py:648 ../src/disco.py:929
 msgid "The service is not browsable"
 msgstr "Tej usługi nie można przeglądać"
 
-#: ../src/disco.py:648
+#: ../src/disco.py:649
 msgid "This type of service does not contain any items to browse."
 msgstr "Tego typu usługa nie zawiera elementów, które można przeglądać."
 
-#: ../src/disco.py:728
+#: ../src/disco.py:729
 #, python-format
 msgid "Browsing %s using account %s"
 msgstr "Przeglądanie %s przy użyciu konta %s"
 
-#: ../src/disco.py:767
+#: ../src/disco.py:768
 msgid "_Browse"
 msgstr "Prze_glÄ…daj"
 
-#: ../src/disco.py:929
+#: ../src/disco.py:930
 msgid "This service does not contain any items to browse."
 msgstr "Usługa nie zawiera elementów, które można przeglądać."
 
-#: ../src/disco.py:1147
+#: ../src/disco.py:1151
 msgid "_Execute Command"
 msgstr "_Wykonaj komendÄ™"
 
-#: ../src/disco.py:1157 ../src/disco.py:1355
+#: ../src/disco.py:1161 ../src/disco.py:1359
 msgid "Re_gister"
 msgstr "Za_rejestruj"
 
-#: ../src/disco.py:1392
+#: ../src/disco.py:1396
 #, python-format
 msgid "Scanning %d / %d.."
 msgstr "Skanowanie %d / %d.."
 
 #. Users column
-#: ../src/disco.py:1573
+#: ../src/disco.py:1578
 msgid "Users"
 msgstr "Użytkownicy"
 
 #. Description column
-#: ../src/disco.py:1580
+#: ../src/disco.py:1586
 msgid "Description"
 msgstr "Opis"
 
 #. Id column
-#: ../src/disco.py:1587
+#: ../src/disco.py:1594
 msgid "Id"
 msgstr "Id"
 
-#: ../src/disco.py:1810
+#: ../src/disco.py:1823
 msgid "Subscribed"
 msgstr "Zasubskrybowano"
 
-#: ../src/disco.py:1836
+#: ../src/disco.py:1831
+msgid "Node"
+msgstr "Węzeł"
+
+#: ../src/disco.py:1888
 msgid "New post"
 msgstr "Nowy wpis"
 
-#: ../src/disco.py:1842
+#: ../src/disco.py:1894
 msgid "_Subscribe"
 msgstr "_Autoryzuj"
 
-#: ../src/disco.py:1848
+#: ../src/disco.py:1900
 msgid "_Unsubscribe"
 msgstr "_Cofnij autoryzacjÄ™"
 
-#: ../src/filetransfers_window.py:72
+#: ../src/features_window.py:46
+msgid "PyOpenSSL"
+msgstr "PyOpenSSL"
+
+#: ../src/features_window.py:47
+msgid ""
+"A library used to validate server certificates to ensure a secure connection."
+msgstr ""
+"Biblioteka używana do weryfikacji certyfikatów w celu zapewnienia "
+"bezpiecznego połączenia."
+
+#: ../src/features_window.py:48 ../src/features_window.py:49
+msgid "Requires python-pyopenssl."
+msgstr "Wymaga python-pyopenssl"
+
+#: ../src/features_window.py:50
+msgid "Bonjour / Zeroconf"
+msgstr "Bonjour / Zeroconf"
+
+#: ../src/features_window.py:51
+msgid "Serverless chatting with autodetected clients in a local network."
+msgstr ""
+"Rozmowy w sieci lokalnej, bez pośrednictwa serwera i z automatycznym "
+"wykrywaniem klientów."
+
+#: ../src/features_window.py:52
+msgid "Requires python-avahi."
+msgstr "Wymaga python-avahi."
+
+#: ../src/features_window.py:53
+msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+msgstr "Wymaga pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)"
+
+#: ../src/features_window.py:54
+msgid "gajim-remote"
+msgstr "gajim-remote"
+
+#: ../src/features_window.py:55
+msgid "A script to controle gajim via commandline."
+msgstr "Skrypt pozwalajÄ…cy na sterowanie Gajimem z linii komend."
+
+#: ../src/features_window.py:56
+msgid "Requires python-dbus."
+msgstr "Wymaga python-dbus"
+
+#: ../src/features_window.py:57 ../src/features_window.py:61
+#: ../src/features_window.py:65 ../src/features_window.py:69
+#: ../src/features_window.py:73 ../src/features_window.py:81
+#: ../src/features_window.py:85 ../src/features_window.py:97
+msgid "Feature not available under Windows."
+msgstr "Funkcjonalność niedostępna dla systemu Windows."
+
+#: ../src/features_window.py:58
+msgid "OpenGPG"
+msgstr "OpenGPG"
+
+#: ../src/features_window.py:59
+msgid "Encrypting chatmessages with gpg keys."
+msgstr "Szyfrowanie wiadomości kluczami GPG."
+
+#: ../src/features_window.py:60
+msgid "Requires gpg and python-GnuPGInterface."
+msgstr "Wymaga GPG oraz python-GnuPGInterface."
+
+#: ../src/features_window.py:62
+msgid "network-manager"
+msgstr "Menedżer sieci"
+
+#: ../src/features_window.py:63
+msgid "Autodetection of network status."
+msgstr "Automatyczne wykrywanie stanu sieci."
+
+#: ../src/features_window.py:64
+msgid "Requires gnome-network-manager and python-dbus."
+msgstr "Wymaga gnome-network-manager oraz python-dbus."
+
+#: ../src/features_window.py:66
+msgid "Session Management"
+msgstr "ZarzÄ…dzanie sesjÄ…"
+
+#: ../src/features_window.py:67
+msgid "Gajim session is stored on logout and restored on login."
+msgstr ""
+"Sesja jest zapisywana przy wylogowaniu z serwera i przywracana przy "
+"logowaniu."
+
+#: ../src/features_window.py:68
+msgid "Requires python-gnome2."
+msgstr "Wymaga python-gnome2."
+
+#: ../src/features_window.py:70
+msgid "gnome-keyring"
+msgstr "Baza kluczy GNOME"
+
+#: ../src/features_window.py:71
+msgid "Passwords can be stored securely and not just in plaintext."
+msgstr "Bezpieczne przechowywanie haseł."
+
+#: ../src/features_window.py:72
+msgid "Requires gnome-keyring and python-gnome2-desktop."
+msgstr "Wymaga gnome-keyring oraz python-gnome-desktop."
+
+#: ../src/features_window.py:74
+msgid "SRV"
+msgstr "SRV"
+
+#: ../src/features_window.py:75
+msgid "Ability to connect to servers which are using SRV records."
+msgstr "Możliwość połączenia z serwerami, które używają rekordów SRV."
+
+#: ../src/features_window.py:76
+msgid "Requires dnsutils."
+msgstr "Wymaga dnsutils."
+
+#: ../src/features_window.py:77
+msgid "Requires nslookup to use SRV records."
+msgstr "Wymaga nslookup."
+
+#: ../src/features_window.py:78
+msgid "Spell Checker"
+msgstr "SÅ‚ownik"
+
+#: ../src/features_window.py:79
+msgid "Spellchecking of composed messages."
+msgstr "Zwraca uwagę na błędy w wysyłanych wiadomościach."
+
+#: ../src/features_window.py:80
+msgid ""
+"Requires python-gnome2-extras or compilation of gtkspell module from Gajim "
+"sources."
+msgstr "Wymaga python-gnome2-extras lub kompilacji gtkspell ze źródeł Gajima."
+
+#: ../src/features_window.py:82
+msgid "Notification-daemon"
+msgstr "Powiadamianie o zdarzeniach"
+
+#: ../src/features_window.py:83
+msgid "Passive popups notifying for new events."
+msgstr "Wyświetla okna informujące o nowych zdarzeniach."
+
+#: ../src/features_window.py:84
+msgid ""
+"Requires python-notify or instead python-dbus in conjunction with "
+"notification-daemon."
+msgstr ""
+"Wymaga python-notify lub python-dbus w połączeniu z notification-daemon."
+
+#: ../src/features_window.py:86
+msgid "Trayicon"
+msgstr "Ikona w obszarze powiadamiania"
+
+#: ../src/features_window.py:87
+msgid "A icon in systemtray reflecting the current presence."
+msgstr "Ikona w obszarze powiadamiania odzwierciedla aktualny status."
+
+#: ../src/features_window.py:88
+msgid ""
+"Requires python-gnome2-extras or compiled  trayicon module from Gajim "
+"sources."
+msgstr ""
+"Wymaga python-gnome2-extras lub skompilowanego modułu trayicon ze źródeł "
+"Gajima."
+
+#: ../src/features_window.py:89
+msgid "Requires PyGTK >= 2.10."
+msgstr "Wymaga PyGTK >= 2.10."
+
+#: ../src/features_window.py:90
+msgid "Idle"
+msgstr "Stan bezczynności"
+
+#: ../src/features_window.py:91
+msgid "Ability to measure idle time, in order to set auto status."
+msgstr ""
+"Umożliwia mierzenie czasu bezczynności i odpowiednie ustawienie statusu."
+
+#: ../src/features_window.py:92 ../src/features_window.py:93
+msgid "Requires compilation of the idle module from Gajim sources."
+msgstr "Wymaga kompilacji modułu idle ze źródeł Gajima."
+
+#: ../src/features_window.py:94
+msgid "LaTeX"
+msgstr "LaTeX"
+
+#: ../src/features_window.py:95
+msgid "Transform LaTeX espressions between $$ $$."
+msgstr "Przekształcanie wyrażeń jezyka LaTeX pomiędzy $$ $$."
+
+#: ../src/features_window.py:96
+msgid ""
+"Requires texlive-latex-base, dvips and imagemagick. You have to set "
+"'use_latex' to True in the Advanced Configuration Editor."
+msgstr ""
+"Wymaga texlive-latex-ase, dvips oraz imagemagick. Musisz ustawić zmienną "
+"'use_latex' na 'True'."
+
+#: ../src/features_window.py:98
+msgid "End to end encryption"
+msgstr "Szyfrowanie transmisji"
+
+#: ../src/features_window.py:99
+msgid "Encrypting chatmessages."
+msgstr "Szyfrowanie wysyłanych wiadomości."
+
+#: ../src/features_window.py:100 ../src/features_window.py:101
+msgid "Requires python-crypto."
+msgstr "Wymaga python-crypto."
+
+#: ../src/features_window.py:102
+msgid "RST Generator"
+msgstr "Generator RST"
+
+#: ../src/features_window.py:103
+msgid ""
+"Generate XHTML output from RST code (see http://docutils.sourceforge.net/"
+"docs/ref/rst/restructuredtext.html)."
+msgstr ""
+"Tworzy XHTML z kodu RST (patrz http://docutils.sourceforge.net/docs/ref/rst/"
+"restructuredtext.html)."
+
+#: ../src/features_window.py:104 ../src/features_window.py:105
+msgid "Requires python-docutils."
+msgstr "Wymaga python-docutils."
+
+#: ../src/features_window.py:106
+msgid "libsexy"
+msgstr "libsexy"
+
+#: ../src/features_window.py:107
+msgid "Ability to have clickable URLs in chat window."
+msgstr "Dodaje możliwość wyświetlania aktywnych ('klikalnych') adresów URL."
+
+#: ../src/features_window.py:108 ../src/features_window.py:109
+msgid "Requires python-sexy."
+msgstr "Wymaga python-sexy"
+
+#: ../src/features_window.py:116 ../src/common/helpers.py:244
+msgid "Available"
+msgstr "Dostępny"
+
+#: ../src/features_window.py:123
+msgid "Feature"
+msgstr "Możliwości"
+
+#: ../src/filetransfers_window.py:77
 msgid "File"
 msgstr "Plik"
 
-#: ../src/filetransfers_window.py:87
+#: ../src/filetransfers_window.py:92
 msgid "Time"
 msgstr "Czas"
 
-#: ../src/filetransfers_window.py:99
+#: ../src/filetransfers_window.py:104
 msgid "Progress"
 msgstr "Postęp"
 
-#: ../src/filetransfers_window.py:161 ../src/filetransfers_window.py:215
+#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:218
 #, python-format
 msgid "Filename: %s"
 msgstr "Nazwa pliku: %s"
 
-#: ../src/filetransfers_window.py:162 ../src/filetransfers_window.py:290
+#: ../src/filetransfers_window.py:165 ../src/filetransfers_window.py:293
 #, python-format
 msgid "Size: %s"
 msgstr "Rozmiar: %s"
 
 #. You is a reply of who sent a file
 #. You is a reply of who received a file
-#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:181
-#: ../src/history_manager.py:463
+#: ../src/filetransfers_window.py:174 ../src/filetransfers_window.py:184
+#: ../src/history_manager.py:468
 msgid "You"
 msgstr "Ty"
 
-#: ../src/filetransfers_window.py:172
+#: ../src/filetransfers_window.py:175
 #, python-format
 msgid "Sender: %s"
 msgstr "Nadawca: %s"
 
-#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:564
-#: ../src/tooltips.py:574
+#: ../src/filetransfers_window.py:176 ../src/filetransfers_window.py:580
+#: ../src/tooltips.py:593
 msgid "Recipient: "
 msgstr "Odbiorca: "
 
-#: ../src/filetransfers_window.py:184
+#: ../src/filetransfers_window.py:187
 #, python-format
 msgid "Saved in: %s"
 msgstr "Zapisane w: %s"
 
-#: ../src/filetransfers_window.py:186
+#: ../src/filetransfers_window.py:189
 msgid "File transfer completed"
 msgstr "Zakończono przesyłanie pliku"
 
-#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:206
+#: ../src/filetransfers_window.py:203 ../src/filetransfers_window.py:209
 msgid "File transfer cancelled"
 msgstr "Przesyłanie pliku anulowane"
 
-#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:207
+#: ../src/filetransfers_window.py:203 ../src/filetransfers_window.py:210
 msgid "Connection with peer cannot be established."
 msgstr "Nie można ustanowić połączenia z drugą stroną."
 
-#: ../src/filetransfers_window.py:216
+#: ../src/filetransfers_window.py:219
 #, python-format
 msgid "Recipient: %s"
 msgstr "Odbiorca: %s"
 
-#: ../src/filetransfers_window.py:218
+#: ../src/filetransfers_window.py:221
 #, python-format
 msgid "Error message: %s"
 msgstr "Komunikat błędu: %s"
 
-#: ../src/filetransfers_window.py:219
+#: ../src/filetransfers_window.py:222
 msgid "File transfer stopped by the contact at the other end"
 msgstr "Przesyłanie pliku zostało zatrzymane przez drugą osobę"
 
-#: ../src/filetransfers_window.py:236
+#: ../src/filetransfers_window.py:239
 msgid "Choose File to Send..."
 msgstr "Wybierz plik do wysłania..."
 
-#: ../src/filetransfers_window.py:255
+#: ../src/filetransfers_window.py:258
 msgid "Gajim cannot access this file"
 msgstr "Gajim nie może uzyskać dostępu do tego pliku"
 
-#: ../src/filetransfers_window.py:256
+#: ../src/filetransfers_window.py:259
 msgid "This file is being used by another process."
 msgstr "Ten plik jest używany przez inny proces."
 
-#: ../src/filetransfers_window.py:288
+#: ../src/filetransfers_window.py:291
 #, python-format
 msgid "File: %s"
 msgstr "Plik: %s"
 
-#: ../src/filetransfers_window.py:293
+#: ../src/filetransfers_window.py:296
 #, python-format
 msgid "Type: %s"
 msgstr "Typ: %s"
 
-#: ../src/filetransfers_window.py:295
+#: ../src/filetransfers_window.py:298
 #, python-format
 msgid "Description: %s"
 msgstr "Opis: %s"
 
-#: ../src/filetransfers_window.py:296
+#: ../src/filetransfers_window.py:299
 #, python-format
 msgid "%s wants to send you a file:"
 msgstr "%s chce przesłać Ci plik:"
 
-#: ../src/filetransfers_window.py:310 ../src/gtkgui_helpers.py:767
+#: ../src/filetransfers_window.py:312 ../src/gtkgui_helpers.py:768
 #, python-format
 msgid "Cannot overwrite existing file \"%s\""
 msgstr "Nie można nadpisać pliku \"%s\""
 
-#: ../src/filetransfers_window.py:311 ../src/gtkgui_helpers.py:769
+#: ../src/filetransfers_window.py:313 ../src/gtkgui_helpers.py:770
 msgid ""
 "A file with this name already exists and you do not have permission to "
 "overwrite it."
 msgstr ""
 "Istnieje już plik o tej nazwie a Ty nie masz uprawnień do jego nadpisania."
 
-#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:773
+#: ../src/filetransfers_window.py:320 ../src/gtkgui_helpers.py:774
 msgid "This file already exists"
 msgstr "Ten plik już istnieje"
 
-#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:773
+#: ../src/filetransfers_window.py:320 ../src/gtkgui_helpers.py:774
 msgid "What do you want to do?"
 msgstr "<b>Co chcesz zrobić?</b>"
 
-#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:783
+#: ../src/filetransfers_window.py:332 ../src/gtkgui_helpers.py:784
 #, python-format
 msgid "Directory \"%s\" is not writable"
 msgstr "Nie masz uprawnień do zapisu w folderze \"%s\""
 
-#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:784
+#: ../src/filetransfers_window.py:332 ../src/gtkgui_helpers.py:785
 msgid "You do not have permission to create files in this directory."
 msgstr "Nie masz uprawnień do tworzenia plików w tym folderze."
 
-#: ../src/filetransfers_window.py:340
+#: ../src/filetransfers_window.py:342
 msgid "Save File as..."
 msgstr "Zapisz obraz jako..."
 
 #. Print remaining time in format 00:00:00
 #. You can change the places of (hours), (minutes), (seconds) -
 #. they are not translatable.
-#: ../src/filetransfers_window.py:421
+#: ../src/filetransfers_window.py:422
 #, python-format
 msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
@@ -3928,288 +4349,660 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 #. This should make the string Kb/s,
 #. where 'Kb' part is taken from %s.
 #. Only the 's' after / (which means second) should be translated.
-#: ../src/filetransfers_window.py:497
+#: ../src/filetransfers_window.py:511
 #, python-format
 msgid "(%(filesize_unit)s/s)"
 msgstr "(%(filesize_unit)s/ów)"
 
-#: ../src/filetransfers_window.py:536 ../src/filetransfers_window.py:539
+#: ../src/filetransfers_window.py:550 ../src/filetransfers_window.py:553
 msgid "Invalid File"
 msgstr "Niepoprawny plik"
 
-#: ../src/filetransfers_window.py:536
+#: ../src/filetransfers_window.py:550
 msgid "File: "
 msgstr "Plik: "
 
-#: ../src/filetransfers_window.py:540
+#: ../src/filetransfers_window.py:554
 msgid "It is not possible to send empty files"
 msgstr "Nie można wysłać pustego pliku"
 
-#: ../src/filetransfers_window.py:560 ../src/tooltips.py:564
+#: ../src/filetransfers_window.py:576 ../src/tooltips.py:583
 msgid "Name: "
 msgstr "Nazwa: "
 
-#: ../src/filetransfers_window.py:562 ../src/tooltips.py:568
+#: ../src/filetransfers_window.py:578 ../src/tooltips.py:587
 msgid "Sender: "
 msgstr "Nadawca: "
 
-#: ../src/filetransfers_window.py:750
+#: ../src/filetransfers_window.py:766
 msgid "Pause"
 msgstr "Zatrzymaj"
 
-#: ../src/gajim-remote.py:65
-msgid "Shows a help on specific command"
-msgstr "Wyświetla pomoc dla wybranego polecenia"
-
-#. User gets help for the command, specified by this parameter
-#: ../src/gajim-remote.py:68
-msgid "command"
-msgstr "polecenie"
-
-#: ../src/gajim-remote.py:69
-msgid "show help on command"
-msgstr "pokaż pomoc polecenia"
+#: ../src/gajim.py:55
+#, python-format
+msgid "%s is not a valid loglevel"
+msgstr "%s nie jest prawidłowym poziomem logowania"
 
-#: ../src/gajim-remote.py:73
-msgid "Shows or hides the roster window"
-msgstr "Pokazuje lub ukrywa okno listy kontaktów"
+#: ../src/gajim.py:128
+msgid "Gajim needs X server to run. Quiting..."
+msgstr "Gajim wymaga do działania serwera X. Zamykanie programu..."
 
-#: ../src/gajim-remote.py:77
-msgid "Pops up a window with the next pending event"
-msgstr "Pokazuje okno z następną nieprzeczytaną wiadomością"
+#: ../src/gajim.py:155
+msgid "Gajim needs PyGTK 2.8 or above"
+msgstr "Gajim wymaga PyGTK w wersji 2.8 lub wyższej"
 
-#: ../src/gajim-remote.py:81
-msgid ""
-"Prints a list of all contacts in the roster. Each contact appears on a "
-"separate line"
+#: ../src/gajim.py:156
+msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
 msgstr ""
-"Wyświetla listę wszystkich kontaktów. Każdy kontakt zostanie wyświetlony w "
-"osobnej linii"
-
-#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99
-#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122
-#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:157
-#: ../src/gajim-remote.py:187 ../src/gajim-remote.py:196
-#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210
-#: ../src/gajim-remote.py:221 ../src/gajim-remote.py:237
-#: ../src/gajim-remote.py:246
-msgid "account"
-msgstr "konto"
-
-#: ../src/gajim-remote.py:84
-msgid "show only contacts of the given account"
-msgstr "pokaż tylko kontakty z danego konta"
-
-#: ../src/gajim-remote.py:90
-msgid "Prints a list of registered accounts"
-msgstr "Wypisuje listÄ™ zarejestrowanych kont"
-
-#: ../src/gajim-remote.py:94
-msgid "Changes the status of account or accounts"
-msgstr "Zmienia status kont lub kont"
+"Gajim wymaga do działania PyGTK w wersji 2.8 lub wyższej. Zamykanie "
+"programu..."
 
-#. offline, online, chat, away, xa, dnd, invisible should not be translated
-#: ../src/gajim-remote.py:97
-msgid "status"
-msgstr "status"
+#: ../src/gajim.py:158
+msgid "Gajim needs GTK 2.8 or above"
+msgstr "Gajim wymaga GTK w wersji 2.8 lub wyższej"
 
-#: ../src/gajim-remote.py:97
-msgid "one of: offline, online, chat, away, xa, dnd, invisible "
+#: ../src/gajim.py:159
+msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
 msgstr ""
-"jeden z: rozłączony, dostępny, chętny do rozmowy, zaraz wracam, nieobecny, "
-"zajęty, niewidoczny "
-
-#: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119
-#: ../src/gajim-remote.py:133
-msgid "message"
-msgstr "wiadomość"
+"Gajim wymaga do działania GTK w wersji 2.8 lub wyższej. Zamykanie programu..."
 
-#: ../src/gajim-remote.py:98
-msgid "status message"
-msgstr "informacja o statusie"
+#: ../src/gajim.py:164
+msgid "GTK+ runtime is missing libglade support"
+msgstr "W GTK+ brakuje wsparcia dla libglade"
 
-#: ../src/gajim-remote.py:99
+#: ../src/gajim.py:166
+#, python-format
 msgid ""
-"change status of account \"account\". If not specified, try to change status "
-"of all accounts that have \"sync with global status\" option set"
-msgstr ""
-"zmień status konta \"konto\". Jeśli nie jest on określony, to spróbuj "
-"zmienić status wszystkich kont, które mają ustawioną opcję synchronizacji ze "
-"statusem globalnym"
-
-#: ../src/gajim-remote.py:105
-msgid "Shows the chat dialog so that you can send messages to a contact"
-msgstr "Pokazuje okno dialogowe umożliwiające wysłanie wiadomości do kontaktu"
-
-#: ../src/gajim-remote.py:107
-msgid "JID of the contact that you want to chat with"
-msgstr "JID osoby, z którą chcesz porozmawiać"
-
-#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:187
-msgid "if specified, contact is taken from the contact list of this account"
+"Please remove your current GTK+ runtime and install the latest stable "
+"version from %s"
 msgstr ""
-"jeśli jest podany, to kontakt jest pobierany z listy kontaktów tego konta"
+"Proszę usunąć obecną wersje GTK+ i zainstalować najnowszą stabilną wesję z %s"
 
-#: ../src/gajim-remote.py:114
+#: ../src/gajim.py:168
 msgid ""
-"Sends new chat message to a contact in the roster. Both OpenPGP key and "
-"account are optional. If you want to set only 'account', without 'OpenPGP "
-"key', just set 'OpenPGP key' to ''."
+"Please make sure that GTK+ and PyGTK have libglade support in your system."
 msgstr ""
-"Wysyła nową wiadomość do kontaktu z listy. Zarówno klucz OpenPGP jak i konto "
-"nie są wymagane. Jeśli chcesz ustawić jedynie 'konto' bez 'klucza OpenPGP', "
-"to ustaw 'klucz OpenPGP' na ''."
-
-#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:131
-msgid "JID of the contact that will receive the message"
-msgstr "JID osoby, która otrzyma wiadomość"
+"Sprawdź, czy GTK+ oraz PyGTK posiadają w twoim systemie wsparcie dla "
+"libglade."
 
-#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133
-msgid "message contents"
-msgstr "zawartość wiadomości"
+#: ../src/gajim.py:173
+msgid "Gajim needs PySQLite2 to run"
+msgstr "Gajim wymaga do działania PySQLite2"
 
-#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
-msgid "pgp key"
-msgstr "klucz pgp"
+#: ../src/gajim.py:181
+msgid "Gajim needs pywin32 to run"
+msgstr "Gajim wymaga do działania pakietu pywin32"
 
-#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
-msgid "if specified, the message will be encrypted using this public key"
+#: ../src/gajim.py:182
+#, python-format
+msgid ""
+"Please make sure that Pywin32 is installed on your system. You can get it at "
+"%s"
 msgstr ""
-"jeśli jest podany, to wiadomość zostanie zaszyfrowana tym kluczem publicznym"
+"Proszę upewnić się, że zainstalowany jest pakiet Pywin32. Możesz go pobrać "
+"spod adresu %s"
 
-#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136
-msgid "if specified, the message will be sent using this account"
-msgstr "jeśli jest podane, to wiadomość zostanie wysłana z tego konta"
+#. set the icon to all newly opened wind
+#: ../src/gajim.py:324
+msgid "Gajim is already running"
+msgstr "Gajim jest już uruchomiony"
 
-#: ../src/gajim-remote.py:127
+#: ../src/gajim.py:325
 msgid ""
-"Sends new single message to a contact in the roster. Both OpenPGP key and "
-"account are optional. If you want to set only 'account', without 'OpenPGP "
-"key', just set 'OpenPGP key' to ''."
+"Another instance of Gajim seems to be running\n"
+"Run anyway?"
 msgstr ""
-"Wysyła nową wiadomość do kontaktu z listy. Zarówno klucz OpenPGP jak i konto "
-"nie są wymagane. Jeśli chcesz ustawić jedynie 'konto' bez 'klucza OpenPGP', "
-"to ustaw 'klucz OpenPGP' na ''."
+"Wydaje się, że w tle działa już inna kopia Gajima.\n"
+"Czy mimo to chcesz uruchomić program?"
 
-#: ../src/gajim-remote.py:132
-msgid "subject"
-msgstr "temat"
+#: ../src/gajim.py:348 ../src/common/connection_handlers.py:908
+#: ../src/common/connection_handlers.py:1619
+#: ../src/common/connection_handlers.py:1648
+#: ../src/common/connection_handlers.py:1658
+#: ../src/common/connection_handlers.py:1677
+#: ../src/common/connection_handlers.py:1914
+#: ../src/common/connection_handlers.py:2026 ../src/common/connection.py:933
+msgid "Disk Write Error"
+msgstr "BÅ‚Ä…d zapisu na dysk"
+
+#: ../src/gajim.py:441
+msgid "Do you accept this request?"
+msgstr "Czy akceptujesz tę prośbę?"
 
-#: ../src/gajim-remote.py:132
-msgid "message subject"
-msgstr "temat wiadomości"
+#: ../src/gajim.py:443
+#, python-format
+msgid "Do you accept this request on account %s?"
+msgstr "Czy akceptujesz tę prośbę na koncie %s?"
 
-#: ../src/gajim-remote.py:141
-msgid "Gets detailed info on a contact"
-msgstr "Pobiera szczegółowe informacje o kontakcie"
+#: ../src/gajim.py:446
+#, python-format
+msgid "HTTP (%s) Authorization for %s (id: %s)"
+msgstr "Autoryzacja HTTP (%s) dla %s (id: %s)"
 
-#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156
-#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195
-msgid "JID of the contact"
-msgstr "JID kontaktu"
+#: ../src/gajim.py:493 ../src/notify.py:453
+msgid "Connection Failed"
+msgstr "Połączenie nie powiodło się"
 
-#: ../src/gajim-remote.py:147
-msgid "Gets detailed info on a account"
-msgstr "Pobiera szczegółowe informacje o koncie"
+#: ../src/gajim.py:827
+#, python-format
+msgid "Subject: %s"
+msgstr "Temat: %s"
+
+#. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
+#: ../src/gajim.py:874 ../src/gajim.py:887
+#, python-format
+msgid "error while sending %s ( %s )"
+msgstr "błąd przy wysyłaniu %s ( %s )"
+
+#: ../src/gajim.py:920
+msgid "Authorization accepted"
+msgstr "Autoryzacja przyjęta"
+
+#: ../src/gajim.py:921
+#, python-format
+msgid "The contact \"%s\" has authorized you to see his or her status."
+msgstr "Kontakt \"%s\" udzielił Ci autoryzacji byś mógł widzieć jego status."
+
+#: ../src/gajim.py:929
+#, python-format
+msgid "Contact \"%s\" removed subscription from you"
+msgstr "Kontakt \"%s\" cofnÄ…Å‚ Ci autoryzacjÄ™"
+
+#: ../src/gajim.py:930
+msgid "You will always see him or her as offline."
+msgstr "Zawsze będziesz widział ten kontakt jako niepołączony."
+
+#: ../src/gajim.py:974
+#, python-format
+msgid "Contact with \"%s\" cannot be established"
+msgstr "Nie można ustanowić połączenia z \"%s\""
+
+#: ../src/gajim.py:975 ../src/common/connection.py:471
+msgid "Check your connection or try again later."
+msgstr "Sprawdź swoje połączenie lub spróbuj później."
+
+#: ../src/gajim.py:1144 ../src/groupchat_control.py:991
+#, python-format
+msgid "%s is now known as %s"
+msgstr "%s występuje teraz jako %s"
+
+#: ../src/gajim.py:1160 ../src/roster_window.py:1354
+#, python-format
+msgid "%s is now %s (%s)"
+msgstr "%s ma teraz status %s (%s)"
+
+#. No status message
+#: ../src/gajim.py:1163 ../src/groupchat_control.py:1142
+#: ../src/roster_window.py:1357
+#, python-format
+msgid "%s is now %s"
+msgstr "%s ma teraz status %s"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/gajim.py:1284 ../src/groupchat_control.py:951
+msgid "Any occupant is allowed to see your full JID"
+msgstr "Każdy uczestnik może zobaczyć twój pełny JID"
+
+#: ../src/gajim.py:1287
+msgid "Room now shows unavailable member"
+msgstr "Lista zawiera teraz niedostępnych uczestników"
+
+#: ../src/gajim.py:1289
+msgid "room now does not show unavailable members"
+msgstr "lista nie zawiera teraz niedostępnych użytkowników"
+
+#: ../src/gajim.py:1292
+msgid "A non-privacy-related room configuration change has occurred"
+msgstr "Nastąpiła zmiana konfiguracji pokoju (nie powiązana z prywatnością)"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#: ../src/gajim.py:1295
+msgid "Room logging is now enabled"
+msgstr "Logowanie rozmów prowadzonych w pokoju jest teraz włączone"
+
+#: ../src/gajim.py:1297
+msgid "Room logging is now disabled"
+msgstr "Logowanie rozmów prowadzonych w pokoju jest teraz wyłączone"
 
+#: ../src/gajim.py:1299
+msgid "Room is now non-anonymous"
+msgstr "Pokój nie jest już anonimowy"
+
+#: ../src/gajim.py:1302
+msgid "Room is now semi-anonymous"
+msgstr "Pokój jest teraz quasi-anonimowy"
+
+#: ../src/gajim.py:1305
+msgid "Room is now fully-anonymous"
+msgstr "Pokój jest teraz w pełni anonimowy"
+
+#: ../src/gajim.py:1337
+#, python-format
+msgid "A Password is required to join the room %s. Please type it"
+msgstr "Aby dołączyć do pokoju %s wymagane jest hasło. Proszę je wpisać"
+
+#: ../src/gajim.py:1367
+msgid "Your passphrase is incorrect"
+msgstr "Twoje hasło jest niepoprawne"
+
+#: ../src/gajim.py:1368
+msgid "You are currently connected without your OpenPGP key."
+msgstr "Jesteś aktualnie połączony bez obsługi OpenPGP."
+
+#: ../src/gajim.py:1472
+#, python-format
+msgid "New mail on %(gmail_mail_address)s"
+msgstr "Nowa poczta w skrzynce %(gmail_mail_address)s"
+
+#: ../src/gajim.py:1474
+#, python-format
+msgid "You have %d new mail conversation"
+msgid_plural "You have %d new mail conversations"
+msgstr[0] "Masz %d nieprzeczytaną wiadomość pocztową"
+msgstr[1] "Masz %d nieprzeczytane wiadomości pocztowe"
+msgstr[2] "Masz %d nieprzeczytane wiadomości pocztowe"
+
+#. FIXME: emulate Gtalk client popups. find out what they parse and how
+#. they decide what to show
+#. each message has a 'From', 'Subject' and 'Snippet' field
+#: ../src/gajim.py:1483
+#, python-format
+msgid ""
+"\n"
+"From: %(from_address)s"
+msgstr ""
+"\n"
+"Od: %(from_address)s"
+
+#: ../src/gajim.py:1661
+#, python-format
+msgid "%s wants to send you a file."
+msgstr "%s chce przesłać ci plik."
+
+#: ../src/gajim.py:1726
+#, python-format
+msgid "You successfully received %(filename)s from %(name)s."
+msgstr "Otrzymałeś plik %(filename)s od %(name)s."
+
+#. ft stopped
+#: ../src/gajim.py:1730
+#, python-format
+msgid "File transfer of %(filename)s from %(name)s stopped."
+msgstr "Przesyłanie pliku %(filename)s od %(name)s zostało zatrzymane."
+
+#: ../src/gajim.py:1743
+#, python-format
+msgid "You successfully sent %(filename)s to %(name)s."
+msgstr "Przesłałeś plik %(filename)s do %(name)s."
+
+#. ft stopped
+#: ../src/gajim.py:1747
+#, python-format
+msgid "File transfer of %(filename)s to %(name)s stopped."
+msgstr "Przesyłanie pliku %(filename)s do %(name)s zostało zatrzymane."
+
+#: ../src/gajim.py:1842
+msgid "Session negotiation cancelled"
+msgstr "Negocjowanie sesji zostało przerwane"
+
+#: ../src/gajim.py:1843
+#, python-format
+msgid "The client at %s cancelled the session negotiation."
+msgstr "Klient na %s anulował negocjację sesji"
+
+#: ../src/gajim.py:1884 ../src/gajim.py:1928
+msgid "Confirm these session options"
+msgstr "Potwierdź opcje sesji"
+
+#: ../src/gajim.py:1885
+#, python-format
+msgid ""
+"The remote client wants to negotiate an session with these features:\n"
+"\n"
+"\t\t%s\n"
+"\n"
+"\t\tAre these options acceptable?"
+msgstr ""
+"Zdalny klient chce przeprowadzić negocjację sesji z poniższymi "
+"ustawieniami:\n"
+"\n"
+"\t\t%s\n"
+"\n"
+"\t\tCzy akceptujesz te ustawienia?"
+
+#: ../src/gajim.py:1929
+#, python-format
+msgid ""
+"The remote client selected these options:\n"
+"\n"
+"%s\n"
+"\n"
+"Continue with the session?"
+msgstr ""
+"Zdalny kilent wybrał następujące opcje:\n"
+"\n"
+"%s\n"
+"\n"
+"Kontynuować?"
+
+#: ../src/gajim.py:2054
+msgid "Username Conflict"
+msgstr "Konflikt nazw użytkownika"
+
+#: ../src/gajim.py:2055
+msgid "Please type a new username for your local account"
+msgstr "Podaj nazwę użytkownika dla nowego konta lokalnego"
+
+#: ../src/gajim.py:2072
+msgid "Ping?"
+msgstr "Ping?"
+
+#: ../src/gajim.py:2080
+#, python-format
+msgid "Pong! (%s s.)"
+msgstr "Pong! (%s s.)"
+
+#: ../src/gajim.py:2086
+msgid "Error."
+msgstr "BÅ‚Ä…d."
+
+#: ../src/gajim.py:2111
+msgid "Resource Conflict"
+msgstr "Konflikt zasobów"
+
+#: ../src/gajim.py:2112
+msgid ""
+"You are already connected to this account with the same resource. Please "
+"type a new one"
+msgstr ""
+"Jesteś już połączony z tym kontem przy użyciu tego samego zasobu.Proszę "
+"podać nowy zasób"
+
+#. it is good to notify the user
+#. in case he or she cannot see the output of the console
+#: ../src/gajim.py:2474
+msgid "Could not save your settings and preferences"
+msgstr "Nie można zapisać twoich ustawień i opcji"
+
+#. sorted alphanum
+#: ../src/gajim.py:2609 ../src/common/config.py:91 ../src/common/config.py:399
+#: ../src/common/optparser.py:205 ../src/common/optparser.py:423
+#: ../src/common/optparser.py:457
+msgid "default"
+msgstr "domyślny"
+
+#: ../src/gajim.py:2696
+msgid "Network Manager support not available"
+msgstr "Brak wsparcia dla Network Managera"
+
+#: ../src/gajim.py:2800
+msgid "Session Management support not available (missing gnome.ui module)"
+msgstr "Wsparcie dla Menadżera Sesji jest niedostępne (brak modułu gnome.ui"
+
+#: ../src/gajim-remote.py:70
+msgid "Shows a help on specific command"
+msgstr "Wyświetla pomoc dla wybranego polecenia"
+
+#. User gets help for the command, specified by this parameter
+#: ../src/gajim-remote.py:73
+msgid "command"
+msgstr "polecenie"
+
+#: ../src/gajim-remote.py:74
+msgid "show help on command"
+msgstr "pokaż pomoc polecenia"
+
+#: ../src/gajim-remote.py:78
+msgid "Shows or hides the roster window"
+msgstr "Pokazuje lub ukrywa okno listy kontaktów"
+
+#: ../src/gajim-remote.py:82
+msgid "Pops up a window with the next pending event"
+msgstr "Pokazuje okno z następną nieprzeczytaną wiadomością"
+
+#: ../src/gajim-remote.py:86
+msgid ""
+"Prints a list of all contacts in the roster. Each contact appears on a "
+"separate line"
+msgstr ""
+"Wyświetla listę wszystkich kontaktów. Każdy kontakt zostanie wyświetlony w "
+"osobnej linii"
+
+#: ../src/gajim-remote.py:89 ../src/gajim-remote.py:104
+#: ../src/gajim-remote.py:114 ../src/gajim-remote.py:127
+#: ../src/gajim-remote.py:141 ../src/gajim-remote.py:150
+#: ../src/gajim-remote.py:171 ../src/gajim-remote.py:201
+#: ../src/gajim-remote.py:210 ../src/gajim-remote.py:217
+#: ../src/gajim-remote.py:224 ../src/gajim-remote.py:235
+#: ../src/gajim-remote.py:251 ../src/gajim-remote.py:260
+msgid "account"
+msgstr "konto"
+
+#: ../src/gajim-remote.py:89
+msgid "show only contacts of the given account"
+msgstr "pokaż tylko kontakty z danego konta"
+
+#: ../src/gajim-remote.py:95
+msgid "Prints a list of registered accounts"
+msgstr "Wypisuje listÄ™ zarejestrowanych kont"
+
+#: ../src/gajim-remote.py:99
+msgid "Changes the status of account or accounts"
+msgstr "Zmienia status kont lub kont"
+
+#. offline, online, chat, away, xa, dnd, invisible should not be translated
+#: ../src/gajim-remote.py:102
+msgid "status"
+msgstr "status"
+
+#: ../src/gajim-remote.py:102
+msgid "one of: offline, online, chat, away, xa, dnd, invisible "
+msgstr ""
+"jeden z: rozłączony, dostępny, chętny do rozmowy, zaraz wracam, nieobecny, "
+"zajęty, niewidoczny "
+
+#: ../src/gajim-remote.py:103 ../src/gajim-remote.py:124
+#: ../src/gajim-remote.py:138 ../src/gajim-remote.py:149
+msgid "message"
+msgstr "wiadomość"
+
+#: ../src/gajim-remote.py:103
+msgid "status message"
+msgstr "informacja o statusie"
+
+#: ../src/gajim-remote.py:104
+msgid ""
+"change status of account \"account\". If not specified, try to change status "
+"of all accounts that have \"sync with global status\" option set"
+msgstr ""
+"zmień status konta \"konto\". Jeśli nie jest on określony, to spróbuj "
+"zmienić status wszystkich kont, które mają ustawioną opcję synchronizacji ze "
+"statusem globalnym"
+
+#: ../src/gajim-remote.py:110
+msgid "Shows the chat dialog so that you can send messages to a contact"
+msgstr "Pokazuje okno dialogowe umożliwiające wysłanie wiadomości do kontaktu"
+
+#: ../src/gajim-remote.py:112
+msgid "JID of the contact that you want to chat with"
+msgstr "JID osoby, z którą chcesz porozmawiać"
+
+#: ../src/gajim-remote.py:114 ../src/gajim-remote.py:201
+msgid "if specified, contact is taken from the contact list of this account"
+msgstr ""
+"jeśli jest podany, to kontakt jest pobierany z listy kontaktów tego konta"
+
+#: ../src/gajim-remote.py:119
+msgid ""
+"Sends new chat message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Wysyła nową wiadomość do kontaktu z listy. Zarówno klucz OpenPGP jak i konto "
+"nie są wymagane. Jeśli chcesz ustawić jedynie 'konto' bez 'klucza OpenPGP', "
+"to ustaw 'klucz OpenPGP' na ''."
+
+#: ../src/gajim-remote.py:123 ../src/gajim-remote.py:136
+msgid "JID of the contact that will receive the message"
+msgstr "JID osoby, która otrzyma wiadomość"
+
+#: ../src/gajim-remote.py:124 ../src/gajim-remote.py:138
 #: ../src/gajim-remote.py:149
+msgid "message contents"
+msgstr "zawartość wiadomości"
+
+#: ../src/gajim-remote.py:125 ../src/gajim-remote.py:139
+msgid "pgp key"
+msgstr "klucz pgp"
+
+#: ../src/gajim-remote.py:125 ../src/gajim-remote.py:139
+msgid "if specified, the message will be encrypted using this public key"
+msgstr ""
+"jeśli jest podany, to wiadomość zostanie zaszyfrowana tym kluczem publicznym"
+
+#: ../src/gajim-remote.py:127 ../src/gajim-remote.py:141
+#: ../src/gajim-remote.py:150
+msgid "if specified, the message will be sent using this account"
+msgstr "jeśli jest podane, to wiadomość zostanie wysłana z tego konta"
+
+#: ../src/gajim-remote.py:132
+msgid ""
+"Sends new single message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Wysyła nową wiadomość do kontaktu z listy. Zarówno klucz OpenPGP jak i konto "
+"nie są wymagane. Jeśli chcesz ustawić jedynie 'konto' bez 'klucza OpenPGP', "
+"to ustaw 'klucz OpenPGP' na ''."
+
+#: ../src/gajim-remote.py:137
+msgid "subject"
+msgstr "temat"
+
+#: ../src/gajim-remote.py:137
+msgid "message subject"
+msgstr "temat wiadomości"
+
+#: ../src/gajim-remote.py:146
+msgid "Sends new message to a groupchat you've joined."
+msgstr "Wysyła nową wiadomość na czat, w którym uczestniczysz."
+
+#: ../src/gajim-remote.py:148
+msgid "JID of the room that will receive the message"
+msgstr "JID pokoju, do którego zostanie wysłana wiadomość"
+
+#: ../src/gajim-remote.py:155
+msgid "Gets detailed info on a contact"
+msgstr "Pobiera szczegółowe informacje o kontakcie"
+
+#: ../src/gajim-remote.py:157 ../src/gajim-remote.py:170
+#: ../src/gajim-remote.py:200 ../src/gajim-remote.py:209
+msgid "JID of the contact"
+msgstr "JID kontaktu"
+
+#: ../src/gajim-remote.py:161
+msgid "Gets detailed info on a account"
+msgstr "Pobiera szczegółowe informacje o koncie"
+
+#: ../src/gajim-remote.py:163
 msgid "Name of the account"
 msgstr "Nazwa konta"
 
-#: ../src/gajim-remote.py:153
+#: ../src/gajim-remote.py:167
 msgid "Sends file to a contact"
 msgstr "Wysyła plik kontaktowi"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:169
 msgid "file"
 msgstr "plik"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:169
 msgid "File path"
 msgstr "Ścieżka do pliku"
 
-#: ../src/gajim-remote.py:157
+#: ../src/gajim-remote.py:171
 msgid "if specified, file will be sent using this account"
 msgstr "plik zostanie wysłany z tego konta, jeśli jest ono podane"
 
-#: ../src/gajim-remote.py:162
+#: ../src/gajim-remote.py:176
 msgid "Lists all preferences and their values"
 msgstr "Wypisuje wszystkie opcje i ich wartości"
 
-#: ../src/gajim-remote.py:166
+#: ../src/gajim-remote.py:180
 msgid "Sets value of 'key' to 'value'."
 msgstr "Ustawia wartość 'klucza' na 'wartość'."
 
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:182
 msgid "key=value"
 msgstr "klucz=wartość"
 
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:182
 msgid "'key' is the name of the preference, 'value' is the value to set it to"
 msgstr "'klucz' jest nazwą opcji, 'wartość' zaś jest jej ustawianą wartością"
 
-#: ../src/gajim-remote.py:173
+#: ../src/gajim-remote.py:187
 msgid "Deletes a preference item"
 msgstr "Usuwa opcjÄ™"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:189
 msgid "key"
 msgstr "klucz"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:189
 msgid "name of the preference to be deleted"
 msgstr "nazwa opcji do usunięcia"
 
-#: ../src/gajim-remote.py:179
+#: ../src/gajim-remote.py:193
 msgid "Writes the current state of Gajim preferences to the .config file"
 msgstr "Zapisuje obecny stan opcji Gajima do pliku .config"
 
-#: ../src/gajim-remote.py:184
+#: ../src/gajim-remote.py:198
 msgid "Removes contact from roster"
 msgstr "Usuwa kontakt z listy kontaktów"
 
-#: ../src/gajim-remote.py:193
+#: ../src/gajim-remote.py:207
 msgid "Adds contact to roster"
 msgstr "Dodaje kontakt do listy kontaktów"
 
-#: ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:209
 msgid "jid"
 msgstr "jid"
 
-#: ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:210
 msgid "Adds new contact to this account"
 msgstr "Dodaje nowy kontakt do tego konta"
 
-#: ../src/gajim-remote.py:201
+#: ../src/gajim-remote.py:215
 msgid "Returns current status (the global one unless account is specified)"
 msgstr "Zwraca obecny status (globalny, chyba, że zostało wskazane konto)."
 
-#: ../src/gajim-remote.py:208
+#: ../src/gajim-remote.py:222
 msgid ""
 "Returns current status message(the global one unless account is specified)"
 msgstr "Zwraca obecny status (globalny, chyba że zostało wskazane konto)."
 
-#: ../src/gajim-remote.py:215
+#: ../src/gajim-remote.py:229
 msgid "Returns number of unread messages"
 msgstr "Zwraca liczbę nieprzeczytanych wiadomości"
 
-#: ../src/gajim-remote.py:219
+#: ../src/gajim-remote.py:233
 msgid "Opens 'Start Chat' dialog"
 msgstr "Otwiera okno dialogowe 'Rozpocznij rozmowÄ™'"
 
-#: ../src/gajim-remote.py:221
+#: ../src/gajim-remote.py:235
 msgid "Starts chat, using this account"
 msgstr "Rozpocznij rozmowÄ™ z tego konta"
 
-#: ../src/gajim-remote.py:225
+#: ../src/gajim-remote.py:239
 msgid "Sends custom XML"
 msgstr "Wysyła własny XML"
 
-#: ../src/gajim-remote.py:227
+#: ../src/gajim-remote.py:241
 msgid "XML to send"
 msgstr "XML do wysłania"
 
-#: ../src/gajim-remote.py:228
+#: ../src/gajim-remote.py:242
 msgid ""
 "Account in which the xml will be sent; if not specified, xml will be sent to "
 "all accounts"
@@ -4217,35 +5010,35 @@ msgstr ""
 "Konto, na jaki zostanie wysłany XML. Jeżeli nie jest określone, Gajim wyśle "
 "dane do wszystkich kont"
 
-#: ../src/gajim-remote.py:234
+#: ../src/gajim-remote.py:248
 msgid "Handle a xmpp:/ uri"
 msgstr "Obsługuj URI xmpp:/"
 
-#: ../src/gajim-remote.py:236
+#: ../src/gajim-remote.py:250
 msgid "uri"
 msgstr "URI"
 
-#: ../src/gajim-remote.py:241
+#: ../src/gajim-remote.py:255
 msgid "Join a MUC room"
 msgstr "Dołącz do nowego pokoju"
 
-#: ../src/gajim-remote.py:243
+#: ../src/gajim-remote.py:257
 msgid "room"
 msgstr "pokój"
 
-#: ../src/gajim-remote.py:244
+#: ../src/gajim-remote.py:258
 msgid "nick"
 msgstr "nick"
 
-#: ../src/gajim-remote.py:245
+#: ../src/gajim-remote.py:259
 msgid "password"
 msgstr "hasło"
 
-#: ../src/gajim-remote.py:268
+#: ../src/gajim-remote.py:282
 msgid "Missing argument \"contact_jid\""
 msgstr "Brak argumentu \"contact_jid\""
 
-#: ../src/gajim-remote.py:287
+#: ../src/gajim-remote.py:301
 #, python-format
 msgid ""
 "'%s' is not in your roster.\n"
@@ -4254,11 +5047,11 @@ msgstr ""
 "'%s' nie znajduje się na twojej liście kontaktów.\n"
 "Podaj konto, na które ma zostać wysłana ta wiadomość."
 
-#: ../src/gajim-remote.py:290
+#: ../src/gajim-remote.py:304
 msgid "You have no active account"
 msgstr "Żadne z twoich kont nie jest aktywne"
 
-#: ../src/gajim-remote.py:354
+#: ../src/gajim-remote.py:368
 #, python-format
 msgid ""
 "Usage: %s %s %s \n"
@@ -4267,16 +5060,16 @@ msgstr ""
 "Użycie: %s %s %s \n"
 "\t %s"
 
-#: ../src/gajim-remote.py:357
+#: ../src/gajim-remote.py:371
 msgid "Arguments:"
 msgstr "Argumenty:"
 
-#: ../src/gajim-remote.py:361
+#: ../src/gajim-remote.py:375
 #, python-format
 msgid "%s not found"
 msgstr "Nie znaleziono %s"
 
-#: ../src/gajim-remote.py:365
+#: ../src/gajim-remote.py:379
 #, python-format
 msgid ""
 "Usage: %s command [arguments]\n"
@@ -4285,16 +5078,16 @@ msgstr ""
 "Użycie: polecenie %s [argument]\n"
 "Gdzie polecenie to jedna z następujący fraz:\n"
 
-#: ../src/gajim-remote.py:438
+#: ../src/gajim-remote.py:452
 #, python-format
 msgid ""
 "Too many arguments. \n"
 "Type \"%s help %s\" for more info"
 msgstr ""
 "Za dużo argumentów. \n"
-"Wpisz \"%s·help·%s\" aby uzyskać więcej informacji"
+"Wpisz \"%s help %s\" aby uzyskać więcej informacji"
 
-#: ../src/gajim-remote.py:442
+#: ../src/gajim-remote.py:456
 #, python-format
 msgid ""
 "Argument \"%s\" is not specified. \n"
@@ -4303,347 +5096,153 @@ msgstr ""
 "Argument \"%s\" nie jest określony. \n"
 "Wpisz \"%s help %s\" aby uzyskać więcej informacji"
 
-#: ../src/gajim-remote.py:460
+#: ../src/gajim-remote.py:474
 msgid "Wrong uri"
 msgstr "Błędny adres URI"
 
-#: ../src/gajim.py:47
-#, python-format
-msgid "%s is not a valid loglevel"
-msgstr "%s nie jest prawidłowym poziomem logowania"
-
-#: ../src/gajim.py:122
-msgid "Gajim needs X server to run. Quiting..."
-msgstr "Gajim wymaga do działania serwera X. Zamykanie programu..."
-
-#: ../src/gajim.py:126
-msgid "Gajim needs PyGTK 2.8 or above"
-msgstr "Gajim wymaga PyGTK w wersji 2.8 lub wyższej"
-
-#: ../src/gajim.py:127
-msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
-msgstr ""
-"Gajim wymaga do działania PyGTK w wersji 2.8 lub wyższej. Zamykanie "
-"programu..."
-
-#: ../src/gajim.py:129
-msgid "Gajim needs GTK 2.8 or above"
-msgstr "Gajim wymaga GTK w wersji 2.8 lub wyższej"
-
-#: ../src/gajim.py:130
-msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
-msgstr ""
-"Gajim wymaga do działania GTK w wersji 2.8 lub wyższej. Zamykanie programu..."
-
-#: ../src/gajim.py:135
-msgid "GTK+ runtime is missing libglade support"
-msgstr "W GTK+ brakuje wsparcia dla libglade"
-
-#: ../src/gajim.py:137
-#, python-format
-msgid ""
-"Please remove your current GTK+ runtime and install the latest stable "
-"version from %s"
-msgstr ""
-"Proszę usunąć obecną wersje GTK+ i zainstalować najnowszą stabilną wesję z %s"
-
-#: ../src/gajim.py:139
-msgid ""
-"Please make sure that GTK+ and PyGTK have libglade support in your system."
-msgstr ""
-"Sprawdź, czy GTK+ oraz PyGTK posiadają w twoim systemie wsparcie dla "
-"libglade."
-
-#: ../src/gajim.py:144
-msgid "Gajim needs PySQLite2 to run"
-msgstr "Gajim wymaga do działania PySQLite2"
-
-#: ../src/gajim.py:152
-msgid "Gajim needs pywin32 to run"
-msgstr "Gajim wymaga do działania pakietu pywin32"
-
-#: ../src/gajim.py:153
-#, python-format
-msgid ""
-"Please make sure that Pywin32 is installed on your system. You can get it at "
-"%s"
-msgstr ""
-"Proszę upewnić się, że zainstalowany jest pakiet Pywin32. Możesz go pobrać "
-"spod adresu %s"
-
-#. set the icon to all newly opened wind
-#: ../src/gajim.py:300
-msgid "Gajim is already running"
-msgstr "Gajim jest już uruchomiony"
-
-#: ../src/gajim.py:301
-msgid ""
-"Another instance of Gajim seems to be running\n"
-"Run anyway?"
-msgstr ""
-"Wydaje się, że w tle działa już inna kopia Gajima.\n"
-"Czy mimo to chcesz uruchomić program?"
-
-#: ../src/gajim.py:408
-msgid "Do you accept this request?"
-msgstr "Czy akceptujesz tę prośbę?"
-
-#: ../src/gajim.py:411
-#, python-format
-msgid "HTTP (%s) Authorization for %s (id: %s)"
-msgstr "Autoryzacja HTTP (%s) dla %s (id: %s)"
-
-#: ../src/gajim.py:458 ../src/notify.py:435
-msgid "Connection Failed"
-msgstr "Połączenie nie powiodło się"
-
-#: ../src/gajim.py:778
-#, python-format
-msgid "Subject: %s"
-msgstr "Temat: %s"
-
-#. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
-#: ../src/gajim.py:823 ../src/gajim.py:836
-#, python-format
-msgid "error while sending %s ( %s )"
-msgstr "błąd przy wysyłaniu %s ( %s )"
-
-#: ../src/gajim.py:869
-msgid "Authorization accepted"
-msgstr "Autoryzacja przyjęta"
-
-#: ../src/gajim.py:870
-#, python-format
-msgid "The contact \"%s\" has authorized you to see his or her status."
-msgstr "Kontakt \"%s\" udzielił Ci autoryzacji byś mógł widzieć jego status."
-
-#: ../src/gajim.py:878
-#, python-format
-msgid "Contact \"%s\" removed subscription from you"
-msgstr "Kontakt \"%s\" cofnÄ…Å‚ Ci autoryzacjÄ™"
-
-#: ../src/gajim.py:879
-msgid "You will always see him or her as offline."
-msgstr "Zawsze będziesz widział ten kontakt jako niepołączony."
-
-#: ../src/gajim.py:923
-#, python-format
-msgid "Contact with \"%s\" cannot be established"
-msgstr "Nie można ustanowić połączenia z \"%s\""
-
-#: ../src/gajim.py:924 ../src/common/connection.py:438
-msgid "Check your connection or try again later."
-msgstr "Sprawdź swoje połączenie lub spróbuj później."
-
-#: ../src/gajim.py:1073 ../src/roster_window.py:1247
-#, python-format
-msgid "%s is now %s (%s)"
-msgstr "%s ma teraz status %s (%s)"
-
-#. No status message
-#: ../src/gajim.py:1076 ../src/groupchat_control.py:968
-#: ../src/roster_window.py:1250
-#, python-format
-msgid "%s is now %s"
-msgstr "%s ma teraz status %s"
-
-#: ../src/gajim.py:1173
-msgid "Your passphrase is incorrect"
-msgstr "Twoje hasło jest niepoprawne"
-
-#: ../src/gajim.py:1174
-msgid "You are currently connected without your OpenPGP key."
-msgstr "Jesteś aktualnie połączony bez obsługi OpenPGP."
-
-#: ../src/gajim.py:1277
-#, python-format
-msgid "New mail on %(gmail_mail_address)s"
-msgstr "Nowa poczta w skrzynce %(gmail_mail_address)s"
-
-#: ../src/gajim.py:1279
-#, python-format
-msgid "You have %d new mail conversation"
-msgid_plural "You have %d new mail conversations"
-msgstr[0] "Masz %d nieprzeczytaną wiadomość pocztową"
-msgstr[1] "Masz %d nieprzeczytane wiadomości pocztowe"
-msgstr[2] "Masz %d nieprzeczytane wiadomości pocztowe"
-
-#. FIXME: emulate Gtalk client popups. find out what they parse and how
-#. they decide what to show
-#. each message has a 'From', 'Subject' and 'Snippet' field
-#: ../src/gajim.py:1288
-#, python-format
-msgid ""
-"\n"
-"From: %(from_address)s"
-msgstr ""
-"\n"
-"Od: %(from_address)s"
-
-#: ../src/gajim.py:1444
-#, python-format
-msgid "%s wants to send you a file."
-msgstr "%s chce przesłać ci plik."
-
-#: ../src/gajim.py:1509
-#, python-format
-msgid "You successfully received %(filename)s from %(name)s."
-msgstr "Otrzymałeś plik %(filename)s od %(name)s."
-
-#. ft stopped
-#: ../src/gajim.py:1513
-#, python-format
-msgid "File transfer of %(filename)s from %(name)s stopped."
-msgstr "Przesyłanie pliku %(filename)s·od·%(name)s·zostało zatrzymane."
-
-#: ../src/gajim.py:1526
-#, python-format
-msgid "You successfully sent %(filename)s to %(name)s."
-msgstr "Przesłałeś plik %(filename)s do %(name)s."
-
-#. ft stopped
-#: ../src/gajim.py:1530
-#, python-format
-msgid "File transfer of %(filename)s to %(name)s stopped."
-msgstr "Przesyłanie pliku·%(filename)s·do·%(name)s·zostało zatrzymane."
-
-#: ../src/gajim.py:1662
-msgid "Username Conflict"
-msgstr "Konflikt nazw użytkownika"
-
-#: ../src/gajim.py:1663
-msgid "Please type a new username for your local account"
-msgstr "Podaj nazwę użytkownika dla nowego konta lokalnego"
-
-#: ../src/gajim.py:1680
-msgid "Ping?"
-msgstr "Ping?"
-
-#: ../src/gajim.py:1688
-#, python-format
-msgid "Pong! (%s s.)"
-msgstr "Pong! (%s s.)"
-
-#: ../src/gajim.py:1694
-msgid "Error."
-msgstr "BÅ‚Ä…d."
-
-#. it is good to notify the user
-#. in case he or she cannot see the output of the console
-#: ../src/gajim.py:2048
-msgid "Could not save your settings and preferences"
-msgstr "Nie można zapisać twoich ustawień i opcji"
-
-#: ../src/gajim.py:2257
-msgid "Network Manager support not available"
-msgstr "Brak wsparcia dla Network Managera"
-
-#: ../src/gajim.py:2336
-msgid "Session Management support not available (missing gnome.ui module)"
-msgstr "Wsparcie dla Menadżera Sesji jest niedostępne (brak modułu gnome.ui"
-
-#: ../src/gajim_themes_window.py:60
+#: ../src/gajim_themes_window.py:67
 msgid "Theme"
 msgstr "Motyw"
 
+#: ../src/gajim_themes_window.py:105
+msgid "You cannot make changes to the default theme"
+msgstr "Nie możesz dokonywać zmian w obecnie używanym motywie"
+
+#: ../src/gajim_themes_window.py:106
+msgid "Please create a clean new theme with your desired name."
+msgstr "Proszę utworzyć nowy temat i nadać mu nazwę."
+
 #. don't confuse translators
-#: ../src/gajim_themes_window.py:155
+#: ../src/gajim_themes_window.py:180
 msgid "theme name"
 msgstr "nazwa motywu"
 
-#: ../src/gajim_themes_window.py:172
+#: ../src/gajim_themes_window.py:197
 msgid "You cannot delete your current theme"
 msgstr "Nie możesz skasować obecnie używanego motywu"
 
-#: ../src/gajim_themes_window.py:173
+#: ../src/gajim_themes_window.py:198
 msgid "Please first choose another for your current theme."
 msgstr "Ustaw najpierw inny motyw."
 
-#: ../src/groupchat_control.py:122
+#: ../src/groupchat_control.py:139
 msgid "Sending private message failed"
 msgstr "Wysyłanie prywatnej wiadomości nie powiodło się"
 
 #. in second %s code replaces with nickname
-#: ../src/groupchat_control.py:124
+#: ../src/groupchat_control.py:141
 #, python-format
 msgid "You are no longer in group chat \"%s\" or \"%s\" has left."
 msgstr "Nie jesteś już w pokoju \"%s\" lub \"%s\" opuścił go."
 
-#: ../src/groupchat_control.py:322
+#: ../src/groupchat_control.py:350
 msgid "Insert Nickname"
 msgstr "Wstaw pseudonim"
 
+#: ../src/groupchat_control.py:878
+msgid "Really send file?"
+msgstr "Na pewno wysłać ten plik?"
+
+#: ../src/groupchat_control.py:879
+#, python-format
+msgid "If you send a file to %s, he/she will know your real Jabber ID."
+msgstr "Jeżeli wyślesz plik do %s, pozna on/ona twój pełny JID."
+
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/groupchat_control.py:954
+msgid "Room logging is enabled"
+msgstr "Zapisywanie rozmów prowadzonych w pokoju jest włączone"
+
+#: ../src/groupchat_control.py:956
+msgid "A new room has been created"
+msgstr "Został utworzony nowy pokój"
+
+#: ../src/groupchat_control.py:959
+msgid "The server has assigned or modified your roomnick"
+msgstr ""
+"Serwer przypisał ci lub zmodyfikował twój pseudonim używany w tym pokoju"
+
 #. do not print 'kicked by None'
-#: ../src/groupchat_control.py:850
+#: ../src/groupchat_control.py:965
 #, python-format
 msgid "%(nick)s has been kicked: %(reason)s"
 msgstr "%(nick)s został wyrzucony: %(reason)s"
 
-#: ../src/groupchat_control.py:854
+#: ../src/groupchat_control.py:969
 #, python-format
 msgid "%(nick)s has been kicked by %(who)s: %(reason)s"
 msgstr "%(nick)s został wyrzucony przez %(who)s: %(reason)s"
 
 #. do not print 'banned by None'
-#: ../src/groupchat_control.py:861
+#: ../src/groupchat_control.py:976
 #, python-format
 msgid "%(nick)s has been banned: %(reason)s"
 msgstr "%(nick)s został zabanowany: %(reason)s"
 
-#: ../src/groupchat_control.py:865
+#: ../src/groupchat_control.py:980
 #, python-format
 msgid "%(nick)s has been banned by %(who)s: %(reason)s"
 msgstr "%(nick)s został zabanowany przez %(who)s: %(reason)s"
 
-#: ../src/groupchat_control.py:873
+#: ../src/groupchat_control.py:989
 #, python-format
 msgid "You are now known as %s"
 msgstr "Występujesz teraz jako %s"
 
-#: ../src/groupchat_control.py:875
+#: ../src/groupchat_control.py:1025 ../src/groupchat_control.py:1029
+#: ../src/groupchat_control.py:1034
 #, python-format
-msgid "%s is now known as %s"
-msgstr "%s występuje teraz jako %s"
+msgid "%(nick)s has been removed from the room (%(reason)s)"
+msgstr "%(nick)s został wyrzucony z pokoju: %(reason)s"
+
+#: ../src/groupchat_control.py:1026
+msgid "affiliation changed"
+msgstr "afiliacja została zmieniona "
 
-#: ../src/groupchat_control.py:961
+#: ../src/groupchat_control.py:1031
+msgid "room configuration changed to members-only"
+msgstr "konfiguracja pokoju zmieniona na 'tylko dla członków'"
+
+#: ../src/groupchat_control.py:1036
+msgid "system shutdown"
+msgstr "zamknięcie systemu"
+
+#: ../src/groupchat_control.py:1135
 #, python-format
 msgid "%s has left"
 msgstr "%s wychodzi"
 
-#: ../src/groupchat_control.py:966
+#: ../src/groupchat_control.py:1140
 #, python-format
 msgid "%s has joined the group chat"
 msgstr "%s dołączył do pokoju"
 
-#: ../src/groupchat_control.py:1088 ../src/groupchat_control.py:1106
-#: ../src/groupchat_control.py:1199 ../src/groupchat_control.py:1216
+#. Invalid Nickname
+#. invalid char
+#: ../src/groupchat_control.py:1253 ../src/groupchat_control.py:1532
+msgid "Invalid nickname"
+msgstr "Niepoprawny pseudonim"
+
+#: ../src/groupchat_control.py:1254 ../src/groupchat_control.py:1533
+msgid "The nickname has not allowed characters."
+msgstr "Używany przez ciebie pseudonim zawiera niedozwolone znaki."
+
+#: ../src/groupchat_control.py:1277 ../src/groupchat_control.py:1295
+#: ../src/groupchat_control.py:1379 ../src/groupchat_control.py:1396
 #, python-format
 msgid "Nickname not found: %s"
 msgstr "Pseudonim nie został odnaleziony: %s"
 
-#: ../src/groupchat_control.py:1122
+#: ../src/groupchat_control.py:1311
 msgid "This group chat has no subject"
 msgstr "Ten pokój nie ma tematu"
 
-#: ../src/groupchat_control.py:1135
-#, python-format
-msgid "Invited %(contact_jid)s to %(room_jid)s."
-msgstr "%(contact_jid)s zaproszony do %(room_jid)s."
-
-#. %s is something the user wrote but it is not a jid so we inform
-#: ../src/groupchat_control.py:1142 ../src/groupchat_control.py:1170
-#, python-format
-msgid "%s does not appear to be a valid JID"
-msgstr "%s nie wyglÄ…da na poprawny JID"
-
-#: ../src/groupchat_control.py:1253
-#, python-format
-msgid "No such command: /%s (if you want to send this, prefix it with /say)"
-msgstr ""
-"Nie ma takiego polecenia: /%s (jeśli chcesz je wysłać, poprzedź je znakami: /"
-"say)"
-
-#: ../src/groupchat_control.py:1279
+#: ../src/groupchat_control.py:1322
+#, python-format
+msgid "Invited %(contact_jid)s to %(room_jid)s."
+msgstr "%(contact_jid)s zaproszony do %(room_jid)s."
+
+#: ../src/groupchat_control.py:1459
 #, python-format
 msgid ""
 "Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
@@ -4655,14 +5254,14 @@ msgstr ""
 "może zostać zmieniony o ile nie zawiera \"@\". Jeśli JID jest obecnie w "
 "pokoju, to zostanie z niego wyrzucony. NIE toleruje spacji w pseudonimie."
 
-#: ../src/groupchat_control.py:1286
+#: ../src/groupchat_control.py:1466
 #, python-format
 msgid ""
 "Usage: /%s <nickname>, opens a private chat window with the specified "
 "occupant."
 msgstr "Użycie: /%s <pseudonim>, otwiera okno prywatnej rozmowy z tą osobą."
 
-#: ../src/groupchat_control.py:1292
+#: ../src/groupchat_control.py:1472
 #, python-format
 msgid ""
 "Usage: /%s [reason], closes the current window or tab, displaying reason if "
@@ -4671,7 +5270,7 @@ msgstr ""
 "Użycie: /%s [powód] zamyka aktualne okno lub kartę i wyświetla powóc, jeśli "
 "został podany."
 
-#: ../src/groupchat_control.py:1298
+#: ../src/groupchat_control.py:1478
 #, python-format
 msgid ""
 "Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
@@ -4680,7 +5279,7 @@ msgstr ""
 "Użycie: /%s <JID> [powód] zaprasza JID do aktualnego pokoju, opcjonalnie "
 "wyświetlając powód."
 
-#: ../src/groupchat_control.py:1302
+#: ../src/groupchat_control.py:1482
 #, python-format
 msgid ""
 "Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
@@ -4689,7 +5288,7 @@ msgstr ""
 "Użycie: /%s <pokój>@<serwer>[/pseudonim] oferuje przyłączenie się do "
 "pokój@serwer opcjonalnie z wykorzystaniem podanego psedonimu."
 
-#: ../src/groupchat_control.py:1306
+#: ../src/groupchat_control.py:1486
 #, python-format
 msgid ""
 "Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
@@ -4699,16 +5298,7 @@ msgstr ""
 "Użycie: /%s <pseudonim> [powód] usuwa podaną poprzez pseudonim osobę z "
 "pokoju i opcjonalnie wyświetla powód. NIE wspiera spacji w pseudonimie."
 
-#: ../src/groupchat_control.py:1311
-#, python-format
-msgid ""
-"Usage: /%s <action>, sends action to the current group chat. Use third "
-"person. (e.g. /%s explodes.)"
-msgstr ""
-"Użycie: /%s <działanie> wysyła działanie do aktualnego pokoju. Używaj w "
-"trzeciej osobie (np. /%s eksploduje.)"
-
-#: ../src/groupchat_control.py:1315
+#: ../src/groupchat_control.py:1495
 #, python-format
 msgid ""
 "Usage: /%s <nickname> [message], opens a private message window and sends "
@@ -4717,112 +5307,114 @@ msgstr ""
 "Użycie: /%s <pseudonim> [wiadomość] otwiera okno prywatnej wiadomości i "
 "wysyła ją do osoby o takim pseudonimie."
 
-#: ../src/groupchat_control.py:1320
+#: ../src/groupchat_control.py:1500
 #, python-format
 msgid "Usage: /%s <nickname>, changes your nickname in current group chat."
 msgstr "Użycie: /%s <pseudonim> zmienia twój pseudonim w aktualnym pokoju."
 
-#: ../src/groupchat_control.py:1324
+#: ../src/groupchat_control.py:1504
 #, python-format
 msgid "Usage: /%s , display the names of group chat occupants."
 msgstr "Użycie: /%s , wyświetla osoby obecne w danym pokoju."
 
-#: ../src/groupchat_control.py:1328
+#: ../src/groupchat_control.py:1508
 #, python-format
 msgid "Usage: /%s [topic], displays or updates the current group chat topic."
 msgstr "Użycie: /%s [temat] wyświetla lub aktualizuje temat aktualnego pokoju."
 
-#: ../src/groupchat_control.py:1331
+#: ../src/groupchat_control.py:1511
 #, python-format
 msgid ""
 "Usage: /%s <message>, sends a message without looking for other commands."
 msgstr ""
 "Użycie: /%s <wiadomość> wysyła wiadomość bez sprawdzania innych poleceń."
 
-#: ../src/groupchat_control.py:1397
+#: ../src/groupchat_control.py:1606
 #, python-format
 msgid "Are you sure you want to leave group chat \"%s\"?"
 msgstr "Czy jesteś pewien, że chcesz opuścić pokój \"%s\"?"
 
-#: ../src/groupchat_control.py:1399
+#: ../src/groupchat_control.py:1608
 msgid ""
 "If you close this window, you will be disconnected from this group chat."
 msgstr "Jeśli zamkniesz to okno, połączenie z tym pokojem zostanie zerwane."
 
-#: ../src/groupchat_control.py:1403 ../src/roster_window.py:4376
+#: ../src/groupchat_control.py:1612 ../src/roster_window.py:4877
 msgid "Do _not ask me again"
 msgstr "_Nie pytaj mnie o to ponownie"
 
-#: ../src/groupchat_control.py:1437
+#: ../src/groupchat_control.py:1644
 msgid "Changing Subject"
 msgstr "Zmiana tematu"
 
-#: ../src/groupchat_control.py:1438
+#: ../src/groupchat_control.py:1645
 msgid "Please specify the new subject:"
 msgstr "Wpisz nowy temat:"
 
-#: ../src/groupchat_control.py:1447
+#: ../src/groupchat_control.py:1654
 msgid "Changing Nickname"
 msgstr "Zmiana pseudonimu"
 
-#: ../src/groupchat_control.py:1448
+#: ../src/groupchat_control.py:1655
 msgid "Please specify the new nickname you want to use:"
 msgstr "Wpisz nowy pseudonim, którego chcesz używać:"
 
 #. Ask for a reason
-#: ../src/groupchat_control.py:1463
+#: ../src/groupchat_control.py:1670
+#, python-format
 msgid "Destroying %s"
 msgstr "Usuwam pokój %s"
 
-#: ../src/groupchat_control.py:1464
+#: ../src/groupchat_control.py:1671
 msgid ""
 "You are going to definitively destroy this room.\n"
 "You may specify a reason below:"
-msgstr "Zamierzasz całkowicie usunąć ten pokój. \n"
+msgstr ""
+"Zamierzasz całkowicie usunąć ten pokój. \n"
 "Poniżej możesz podać powód swojej decyzji:"
 
-#: ../src/groupchat_control.py:1466
+#: ../src/groupchat_control.py:1673
 msgid "You may also enter an alternate venue:"
 msgstr "Możesz również podać alternatywne miejsce spotkań:"
 
-#: ../src/groupchat_control.py:1496
+#: ../src/groupchat_control.py:1705
 msgid "Bookmark already set"
 msgstr "Zakładka została już dodana"
 
-#: ../src/groupchat_control.py:1497
+#: ../src/groupchat_control.py:1706
 #, python-format
 msgid "Group Chat \"%s\" is already in your bookmarks."
 msgstr "Pokój \"%s\" jest już w Twoich zakładkach."
 
-#: ../src/groupchat_control.py:1506
+#: ../src/groupchat_control.py:1715
 msgid "Bookmark has been added successfully"
 msgstr "Zakładka została dodana"
 
-#: ../src/groupchat_control.py:1507
+#: ../src/groupchat_control.py:1716
 msgid "You can manage your bookmarks via Actions menu in your roster."
 msgstr "Możesz zarządzać zakładkami poprzez menu Działania w oknie kontaktów."
 
 #. ask for reason
-#: ../src/groupchat_control.py:1635
+#: ../src/groupchat_control.py:1868
 #, python-format
 msgid "Kicking %s"
 msgstr "Wyrzuć %s"
 
-#: ../src/groupchat_control.py:1636 ../src/groupchat_control.py:1929
+#: ../src/groupchat_control.py:1869 ../src/groupchat_control.py:2169
 msgid "You may specify a reason below:"
 msgstr "Podaj przyczynÄ™:"
 
 #. ask for reason
-#: ../src/groupchat_control.py:1928
+#: ../src/groupchat_control.py:2168
 #, python-format
 msgid "Banning %s"
 msgstr "Zabanuj %s"
 
-#: ../src/gtkexcepthook.py:41
+#: ../src/gtkexcepthook.py:46
 msgid "A programming error has been detected"
 msgstr "Wykryto błąd programistyczny"
 
-#: ../src/gtkexcepthook.py:42
+#: ../src/gtkexcepthook.py:47
 msgid ""
 "It probably is not fatal, but should be reported to the developers "
 "nonetheless."
@@ -4830,91 +5422,91 @@ msgstr ""
 "Nie jest prawdopodnie krytyczny, ale powinien zostać mimo to zgłoszony "
 "deweloperom."
 
-#: ../src/gtkexcepthook.py:48
+#: ../src/gtkexcepthook.py:53
 msgid "_Report Bug"
 msgstr "_Zgłoś Błąd"
 
-#: ../src/gtkexcepthook.py:71
+#: ../src/gtkexcepthook.py:76
 msgid "Details"
 msgstr "Szczegóły"
 
 #. we talk about file
-#: ../src/gtkgui_helpers.py:156 ../src/gtkgui_helpers.py:171
+#: ../src/gtkgui_helpers.py:162 ../src/gtkgui_helpers.py:177
 #, python-format
 msgid "Error: cannot open %s for reading"
 msgstr "błąd: nie można otworzyć %s do odczytu"
 
-#: ../src/gtkgui_helpers.py:336
+#: ../src/gtkgui_helpers.py:342
 msgid "Error reading file:"
 msgstr "BÅ‚Ä…d odczytu pliku:"
 
-#: ../src/gtkgui_helpers.py:339
+#: ../src/gtkgui_helpers.py:345
 msgid "Error parsing file:"
 msgstr "BÅ‚Ä…d przetwarzania pliku:"
 
 #. do not traceback (could be a permission problem)
 #. we talk about a file here
-#: ../src/gtkgui_helpers.py:376
+#: ../src/gtkgui_helpers.py:382
 #, python-format
 msgid "Could not write to %s. Session Management support will not work"
 msgstr ""
 "Nie można zapisywać do %s. Wsparcie dla Menadżera Sesji nie będzie działać"
 
 #. xmpp: is currently handled by another program, so ask the user
-#: ../src/gtkgui_helpers.py:711
+#: ../src/gtkgui_helpers.py:714
 msgid "Gajim is not the default Jabber client"
 msgstr "Gajim nie jest domyślnym klinetem Jabbera"
 
-#: ../src/gtkgui_helpers.py:712
+#: ../src/gtkgui_helpers.py:715
 msgid "Would you like to make Gajim the default Jabber client?"
 msgstr "Czy chciałbyś by Gajim stał się klientem domyślnym?"
 
-#: ../src/gtkgui_helpers.py:713
+#: ../src/gtkgui_helpers.py:716
 msgid "Always check to see if Gajim is the default Jabber client on startup"
 msgstr "Przy starcie sprawdzaj czy Gajim jest domyślnym klinetem Jabbera"
 
-#: ../src/gtkgui_helpers.py:812
+#: ../src/gtkgui_helpers.py:813
 msgid "Extension not supported"
 msgstr "Rozszerzenie nie jest obsługiwane"
 
-#: ../src/gtkgui_helpers.py:813
+#: ../src/gtkgui_helpers.py:814
 #, python-format
 msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
 msgstr ""
 "Obraz nie może zostać zapisany w formacie %(type)s. Zapisać jako %"
 "(new_filename)s?"
 
-#: ../src/gtkgui_helpers.py:822
+#: ../src/gtkgui_helpers.py:823
 msgid "Save Image as..."
 msgstr "Zapisz plik jako..."
 
-#: ../src/history_manager.py:65
+#: ../src/history_manager.py:73
 msgid "Cannot find history logs database"
 msgstr "Nie można odnaleźć bazy danych z historią rozmów"
 
 #. holds jid
-#: ../src/history_manager.py:108
+#: ../src/history_manager.py:113
 msgid "Contacts"
 msgstr "Kontakty"
 
 #. holds time
-#: ../src/history_manager.py:121 ../src/history_manager.py:161
-#: ../src/history_window.py:86
+#: ../src/history_manager.py:126 ../src/history_manager.py:166
+#: ../src/history_window.py:121
 msgid "Date"
 msgstr "Data"
 
 #. holds nickname
-#: ../src/history_manager.py:127 ../src/history_manager.py:179
+#: ../src/history_manager.py:132 ../src/history_manager.py:184
 msgid "Nickname"
 msgstr "Pseudonim"
 
 #. holds message
-#: ../src/history_manager.py:135 ../src/history_manager.py:167
-#: ../src/history_window.py:94
+#: ../src/history_manager.py:140 ../src/history_manager.py:172
+#: ../src/history_window.py:129
 msgid "Message"
 msgstr "Wiadomość"
 
-#: ../src/history_manager.py:187
+#: ../src/history_manager.py:192
 msgid ""
 "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS "
 "RUNNING)"
@@ -4922,7 +5514,7 @@ msgstr ""
 "Czy chcesz wyczyścić bazę danych? (STANOWCZO ODRADZA SIĘ KORZYSTANIE Z TEJ "
 "OPCJI GDY GAJIM JEST URUCHOMIONY)"
 
-#: ../src/history_manager.py:189
+#: ../src/history_manager.py:194
 msgid ""
 "Normally allocated database size will not be freed, it will just become "
 "reusable. If you really want to reduce database filesize, click YES, else "
@@ -4937,160 +5529,202 @@ msgstr ""
 "\n"
 "Jeżeli kliknąłeś TAK, musisz teraz poczekać..."
 
-#: ../src/history_manager.py:401
+#: ../src/history_manager.py:406
 msgid "Exporting History Logs..."
 msgstr "Przenoszenie logów rozmów..."
 
-#: ../src/history_manager.py:476
+#: ../src/history_manager.py:481
 #, python-format
 msgid "%(who)s on %(time)s said: %(message)s\n"
 msgstr "%(who)s o godzinie %(time)s napisał: %(message)s\n"
 
-#: ../src/history_manager.py:514
+#: ../src/history_manager.py:518
 msgid "Do you really want to delete logs of the selected contact?"
 msgid_plural "Do you really want to delete logs of the selected contacts?"
 msgstr[0] "Czy na pewno chcesz usunąć historię rozmów wybranego kontaktu?"
 msgstr[1] "Czy na pewno chcesz usunąć historię rozmów wybranych kontaktów?"
 msgstr[2] "Czy na pewno chcesz usunąć historię rozmów wybranych kontaktów?"
 
-#: ../src/history_manager.py:518 ../src/history_manager.py:554
+#: ../src/history_manager.py:522 ../src/history_manager.py:557
 msgid "This is an irreversible operation."
 msgstr "Skutków tej operacji nie można będzie wycofać."
 
-#: ../src/history_manager.py:551
+#: ../src/history_manager.py:554
 msgid "Do you really want to delete the selected message?"
 msgid_plural "Do you really want to delete the selected messages?"
 msgstr[0] "Czy na pewno chcesz usunąć wybraną wiadomość?"
 msgstr[1] "Czy na pewno chcesz usunąć wybrane wiadomości?"
 msgstr[2] "Czy na pewno chcesz usunąć wybrane wiadomości?"
 
-#: ../src/history_window.py:103 ../src/history_window.py:105
+#: ../src/history_window.py:209 ../src/history_window.py:211
 #, python-format
 msgid "Conversation History with %s"
 msgstr "Historia rozmowy z %s"
 
-#: ../src/history_window.py:266
+#: ../src/history_window.py:342
 #, python-format
 msgid "%(nick)s is now %(status)s: %(status_msg)s"
 msgstr "%(nick)s jes teraz %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:270 ../src/notify.py:199
+#: ../src/history_window.py:346 ../src/notify.py:211
 #, python-format
 msgid "%(nick)s is now %(status)s"
 msgstr "%(nick)s ma teraz status %(status)s"
 
-#: ../src/history_window.py:276
+#: ../src/history_window.py:352
 #, python-format
 msgid "Status is now: %(status)s: %(status_msg)s"
 msgstr "Obecny status: %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:279
+#: ../src/history_window.py:355
 #, python-format
 msgid "Status is now: %(status)s"
 msgstr "Obecny status: %(status)s"
 
-#: ../src/htmltextview.py:710 ../src/htmltextview.py:721
+#: ../src/htmltextview.py:586 ../src/htmltextview.py:597
 msgid "Timeout loading image"
 msgstr "Przekroczono czas Å‚adowania obrazu"
 
-#: ../src/htmltextview.py:731
+#: ../src/htmltextview.py:607
 msgid "Image is too big"
 msgstr "Obraz jest za duży"
 
-#: ../src/message_window.py:273
+#: ../src/message_window.py:350
 msgid "Chats"
 msgstr "Rozmowy"
 
-#: ../src/message_window.py:275
+#: ../src/message_window.py:352
 msgid "Group Chats"
 msgstr "Czaty"
 
-#: ../src/message_window.py:277
+#: ../src/message_window.py:354
 msgid "Private Chats"
 msgstr "Rozmowy prywatne"
 
-#: ../src/message_window.py:279
+#: ../src/message_window.py:356
 msgid "Messages"
 msgstr "Wiadomości"
 
-#: ../src/message_window.py:280
+#: ../src/message_window.py:357
 #, python-format
 msgid "%s - Gajim"
 msgstr "%s - Gajim"
 
-#: ../src/notify.py:197
+#: ../src/negotiation.py:13
+msgid "- messages will be logged"
+msgstr "- wiadomości będzie logowanych"
+
+#: ../src/negotiation.py:15
+msgid "- messages will not be logged"
+msgstr "- wiadomości nie będzie logowanych"
+
+#: ../src/negotiation.py:24
+msgid "OK to continue with negotiation?"
+msgstr "Czy kontynuować negocjację?"
+
+#: ../src/negotiation.py:25
+#, python-format
+msgid ""
+"You've begun an encrypted session with %s, but it can't be guaranteed that "
+"you're talking directly to the person you think you are.\n"
+"\n"
+"You should speak with them directly (in person or on the phone) and confirm "
+"that their Short Authentication String is identical to this one: %s\n"
+"\n"
+"Would you like to continue with the encrypted session?"
+msgstr ""
+"Rozpocząłeś szyfrowaną sesję z %s, ale nie można zagwarantować, że "
+"rozmawiasz bezpośrednio z odpowiednią osobą.\n"
+"\n"
+"Powienieneś(-winnaś) porozmawiać z nią w cztery osobiście lub za "
+"pośrednictwem telefonu i potwierdzić, że jej SAS (Short Authentication "
+"String) jest identyczny z poniższym: %s\n"
+"Czy chcesz kontynuować tą sesję?"
+
+#: ../src/negotiation.py:31
+msgid "Yes, I verified the Short Authentication String"
+msgstr "Tak, SAS został zweryfikowany."
+
+#: ../src/notify.py:209
 #, python-format
 msgid "%(nick)s Changed Status"
 msgstr "%(nick)s zmienił status"
 
-#: ../src/notify.py:207
+#: ../src/notify.py:219
 #, python-format
 msgid "%(nickname)s Signed In"
 msgstr "%(nickname)s połączył(a) się"
 
-#: ../src/notify.py:215
+#: ../src/notify.py:227
 #, python-format
 msgid "%(nickname)s Signed Out"
 msgstr "%(nickname)s rozłączył(a) się"
 
-#: ../src/notify.py:227
+#: ../src/notify.py:239
 #, python-format
 msgid "New Single Message from %(nickname)s"
 msgstr "Nowa wiadomość od %(nickname)s"
 
-#: ../src/notify.py:235
+#: ../src/notify.py:247
 #, python-format
 msgid "New Private Message from group chat %s"
 msgstr "Nowa wiadomość prywatna z pokoju %s"
 
-#: ../src/notify.py:236
+#: ../src/notify.py:249
 #, python-format
 msgid "%(nickname)s: %(message)s"
 msgstr "%(nickname)s: %(message)s"
 
-#: ../src/notify.py:242
+#: ../src/notify.py:252
+#, python-format
+msgid "Messaged by %(nickname)s"
+msgstr "Nowa wiadomość od %(nickname)s"
+
+#: ../src/notify.py:258
 #, python-format
 msgid "New Message from %(nickname)s"
 msgstr "Nowa wiadomość od %(nickname)s"
 
-#: ../src/profile_window.py:72
+#: ../src/profile_window.py:53
 msgid "Retrieving profile..."
 msgstr "Pobieranie profilu..."
 
-#: ../src/profile_window.py:127 ../src/vcard.py:135
-msgid "File is emty"
+#: ../src/profile_window.py:104 ../src/roster_window.py:1887
+msgid "File is empty"
 msgstr "Plik jest pusty"
 
-#: ../src/profile_window.py:130 ../src/vcard.py:138
+#: ../src/profile_window.py:107 ../src/roster_window.py:1890
 msgid "File does not exist"
 msgstr "Plik nie istnieje."
 
 #. keep identation
-#: ../src/profile_window.py:144 ../src/vcard.py:140
+#. unknown format
+#: ../src/profile_window.py:121 ../src/profile_window.py:137
+#: ../src/roster_window.py:1892 ../src/roster_window.py:1903
 msgid "Could not load image"
 msgstr "Nie można załadować obrazka."
 
-#: ../src/profile_window.py:257
+#: ../src/profile_window.py:238
 msgid "Information received"
 msgstr "Informacja została odebrana"
 
-#: ../src/profile_window.py:326
+#: ../src/profile_window.py:307
 msgid "Without a connection you can not publish your contact information."
 msgstr "Nie możesz wysłać informacji o sobie jeśli nie jesteś połączony."
 
-#: ../src/profile_window.py:338
+#: ../src/profile_window.py:319
 msgid "Sending profile..."
 msgstr "Wysyłanie profilu..."
 
-#: ../src/profile_window.py:353
+#: ../src/profile_window.py:334
 msgid "Information NOT published"
 msgstr "Informacja NIE ZOSTAŁA opublikowana"
 
-#: ../src/profile_window.py:360
+#: ../src/profile_window.py:341
 msgid "vCard publication failed"
 msgstr "Publikacja vCard nie powiodła się"
 
-#: ../src/profile_window.py:361
+#: ../src/profile_window.py:342
 msgid ""
 "There was an error while publishing your personal information, try again "
 "later."
@@ -5098,80 +5732,93 @@ msgstr ""
 "W czasie publikowanie informacji o tobie wystąpił błąd, spróbuj ponownie "
 "później."
 
-#: ../src/roster_window.py:173 ../src/roster_window.py:228
+#: ../src/roster_window.py:188 ../src/roster_window.py:243
 msgid "Merged accounts"
 msgstr "Połączone konta"
 
-#: ../src/roster_window.py:346 ../src/roster_window.py:571
-#: ../src/common/helpers.py:43
+#: ../src/roster_window.py:363 ../src/roster_window.py:628
+#: ../src/roster_window.py:2115 ../src/common/contacts.py:312
+#: ../src/common/helpers.py:49
 msgid "Observers"
 msgstr "Obserwatorzy"
 
-#: ../src/roster_window.py:710 ../src/roster_window.py:3526
+#. Make special context menu if group is Groupchats
+#: ../src/roster_window.py:447 ../src/roster_window.py:452
+#: ../src/roster_window.py:1940 ../src/roster_window.py:1943
+#: ../src/roster_window.py:2606 ../src/roster_window.py:2609
+#: ../src/roster_window.py:2634 ../src/roster_window.py:4738
+#: ../src/roster_window.py:4740 ../src/common/commands.py:199
+#: ../src/common/contacts.py:102 ../src/common/helpers.py:49
+msgid "Groupchats"
+msgstr "Pokoje"
+
+#: ../src/roster_window.py:777 ../src/roster_window.py:3987
 msgid "You cannot join a group chat while you are invisible"
 msgstr "Nie możesz dołączyć do pokoju gdy jesteś niewidoczny"
 
 #. new chat
+#. single message
 #. for chat_with
 #. for single message
-#: ../src/roster_window.py:913 ../src/systray.py:206 ../src/systray.py:211
+#. join gc
+#: ../src/roster_window.py:990 ../src/roster_window.py:1000
+#: ../src/roster_window.py:1009 ../src/systray.py:212 ../src/systray.py:217
+#: ../src/systray.py:223
 #, python-format
 msgid "using account %s"
 msgstr "używając konta %s"
 
-#. the 'manage gc bookmarks' item is shown
-#. below to avoid duplicate code
 #. add
-#: ../src/roster_window.py:938
+#: ../src/roster_window.py:1016
 #, python-format
 msgid "to %s account"
 msgstr "do konta %s"
 
 #. disco
-#: ../src/roster_window.py:943
+#: ../src/roster_window.py:1021
 #, python-format
 msgid "using %s account"
 msgstr "używając konta %s"
 
+#: ../src/roster_window.py:1102
+msgid "_Manage Bookmarks..."
+msgstr "_Zarządzaj zakładkami..."
+
 #. profile, avatar
-#: ../src/roster_window.py:1018
+#: ../src/roster_window.py:1121
 #, python-format
 msgid "of account %s"
 msgstr "dla konta %s"
 
-#: ../src/roster_window.py:1038
-msgid "_Manage Bookmarks..."
-msgstr "_Zarządzaj zakładkami..."
-
-#: ../src/roster_window.py:1067
+#: ../src/roster_window.py:1161
 #, python-format
 msgid "for account %s"
 msgstr "dla konta %s"
 
 #. History manager
-#: ../src/roster_window.py:1088
+#: ../src/roster_window.py:1182
 msgid "History Manager"
 msgstr "Historia rozmów"
 
-#: ../src/roster_window.py:1097
+#: ../src/roster_window.py:1191
 msgid "_Join New Group Chat"
 msgstr "_Dołącz do pokoju"
 
-#: ../src/roster_window.py:1429 ../src/roster_window.py:3722
-#: ../src/roster_window.py:3729
+#: ../src/roster_window.py:1549 ../src/roster_window.py:4192
+#: ../src/roster_window.py:4199
 msgid "You have unread messages"
 msgstr "Masz nieprzeczytane wiadomości"
 
-#: ../src/roster_window.py:1430
+#: ../src/roster_window.py:1550
 msgid "You must read them before removing this transport."
 msgstr "Przejrzyj je wszystkie przed usunięciem tego transportu."
 
-#: ../src/roster_window.py:1433
+#: ../src/roster_window.py:1553
 #, python-format
 msgid "Transport \"%s\" will be removed"
 msgstr "Transport \"%s\" zostanie usunięty"
 
-#: ../src/roster_window.py:1434
+#: ../src/roster_window.py:1554
 msgid ""
 "You will no longer be able to send and receive messages from contacts using "
 "this transport."
@@ -5179,11 +5826,11 @@ msgstr ""
 "Nie będziesz już mógł wysyłać i odbierać wiadomości od kontaktów za pomocą "
 "tego transportu."
 
-#: ../src/roster_window.py:1437
+#: ../src/roster_window.py:1557
 msgid "Transports will be removed"
 msgstr "Transporty zostaną usunięte"
 
-#: ../src/roster_window.py:1442
+#: ../src/roster_window.py:1562
 #, python-format
 msgid ""
 "You will no longer be able to send and receive messages to contacts from "
@@ -5193,120 +5840,151 @@ msgstr ""
 "następujących transportów: %s"
 
 #. it's jid
-#: ../src/roster_window.py:1608
+#: ../src/roster_window.py:1728
 msgid "Rename Contact"
 msgstr "Zmień nazwę dla kontaktu"
 
-#: ../src/roster_window.py:1609
+#: ../src/roster_window.py:1729
 #, python-format
 msgid "Enter a new nickname for contact %s"
 msgstr "Wpisz nazwÄ™ dla kontaktu %s."
 
-#: ../src/roster_window.py:1616
+#: ../src/roster_window.py:1736
 msgid "Rename Group"
 msgstr "Zmień nazwę grupy"
 
-#: ../src/roster_window.py:1617
+#: ../src/roster_window.py:1737
 #, python-format
 msgid "Enter a new name for group %s"
 msgstr "Wpisz nowÄ… nazwÄ™ dla grupy %s."
 
-#: ../src/roster_window.py:1692
+#: ../src/roster_window.py:1812
 msgid "Remove Group"
 msgstr "Usuń grupę"
 
-#: ../src/roster_window.py:1693
+#: ../src/roster_window.py:1813
 #, python-format
 msgid "Do you want to remove group %s from the roster?"
 msgstr "Czy chcesz usunąć z rostera grupę %s?"
 
-#: ../src/roster_window.py:1694
+#: ../src/roster_window.py:1814
 msgid "Remove also all contacts in this group from your roster"
 msgstr "Usuń z rostera wszystkie kontakty należące do tej grupy"
 
-#: ../src/roster_window.py:1725
+#: ../src/roster_window.py:1845
 msgid "Assign OpenPGP Key"
 msgstr "Przypisz klucz OpenPGP"
 
-#: ../src/roster_window.py:1726
+#: ../src/roster_window.py:1846
 msgid "Select a key to apply to the contact"
 msgstr "Wybierz klucz, który chcesz przypisać kontaktowi"
 
-#: ../src/roster_window.py:1966 ../src/roster_window.py:2260
-msgid "_New group chat"
+#: ../src/roster_window.py:2161
+msgid "_New Group Chat"
 msgstr "_Nowa rozmowa grupowa"
 
-#: ../src/roster_window.py:2111
+#: ../src/roster_window.py:2297
 msgid "I would like to add you to my roster"
 msgstr "Chciałbym dodać Cię do listy kontaktów"
 
-#: ../src/roster_window.py:2305 ../src/roster_window.py:2364
+#. Send Group Message
+#: ../src/roster_window.py:2431 ../src/roster_window.py:2643
 msgid "Send Group M_essage"
 msgstr "_Wyślij wiadomość grupową"
 
-#: ../src/roster_window.py:2343
-msgid "Re_name"
-msgstr "_Zmień nazwę"
+#: ../src/roster_window.py:2450
+msgid "_New group chat"
+msgstr "_Nowa rozmowa grupowa"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2488
+msgid "_Manage Contacts"
+msgstr "_ZarzÄ…dzaj kontaktami"
 
-#: ../src/roster_window.py:2370
+#: ../src/roster_window.py:2549
+msgid "_Maximize"
+msgstr "_Maksymalizuj"
+
+#: ../src/roster_window.py:2556
+msgid "_Disconnect"
+msgstr "_Rozłącz"
+
+#: ../src/roster_window.py:2635
+msgid "_Maximize All"
+msgstr "_Maksymalizuj wszystkie"
+
+#: ../src/roster_window.py:2651
 msgid "To all users"
 msgstr "Do wszystkich użytkowników"
 
-#: ../src/roster_window.py:2373
+#: ../src/roster_window.py:2654
 msgid "To all online users"
 msgstr "Do wszystkich połączonych użytkowników"
 
-#: ../src/roster_window.py:2393
-msgid "Send Cus_tom Status"
-msgstr "Wyślij odrębny status"
+#. Log Off
+#: ../src/roster_window.py:2771
+msgid "_Log off"
+msgstr "R_ozłącz"
 
-#: ../src/roster_window.py:2450
+#. Log on
+#: ../src/roster_window.py:2777
 msgid "_Log on"
 msgstr "_Połącz"
 
-#: ../src/roster_window.py:2460
-msgid "Log _off"
-msgstr "R_ozłącz"
+#. Send single message
+#: ../src/roster_window.py:2789
+msgid "Send Single Message"
+msgstr "Wyślij wiadomość"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2836
+msgid "_Manage Transport"
+msgstr "_ZarzÄ…dzaj transportami"
 
-#: ../src/roster_window.py:2582 ../src/roster_window.py:2653
+#. Modify Transport
+#: ../src/roster_window.py:2844
+msgid "_Modify Transport"
+msgstr "_Modyfikuj transport"
+
+#: ../src/roster_window.py:2958 ../src/roster_window.py:3032
 msgid "_Change Status Message"
 msgstr "_Zmień opis statusu"
 
-#: ../src/roster_window.py:2725
+#: ../src/roster_window.py:3104
 msgid "Authorization has been sent"
 msgstr "Autoryzacja została wysłana"
 
-#: ../src/roster_window.py:2726
+#: ../src/roster_window.py:3105
 #, python-format
 msgid "Now \"%s\" will know your status."
 msgstr "Teraz \"%s\" będzie znał Twój status."
 
-#: ../src/roster_window.py:2746
+#: ../src/roster_window.py:3125
 msgid "Subscription request has been sent"
 msgstr "Prośba o autoryzację została wysłana"
 
-#: ../src/roster_window.py:2747
+#: ../src/roster_window.py:3126
 #, python-format
 msgid "If \"%s\" accepts this request you will know his or her status."
 msgstr ""
 "Jeśli \"%s\" zaakceptuje tę prośbę, to będziesz mógł widzieć jego lub jej "
 "status."
 
-#: ../src/roster_window.py:2759
+#: ../src/roster_window.py:3138
 msgid "Authorization has been removed"
 msgstr "Autoryzacja została cofnięta"
 
-#: ../src/roster_window.py:2760
+#: ../src/roster_window.py:3139
 #, python-format
 msgid "Now \"%s\" will always see you as offline."
 msgstr "Teraz \"%s\" zawsze będzie cię widział jako rozłączonego."
 
-#: ../src/roster_window.py:2955
+#: ../src/roster_window.py:3373
 #, python-format
 msgid "Contact \"%s\" will be removed from your roster"
 msgstr "Kontakt \"%s\" zostanie usunięty z Twojej listy kontaktów"
 
-#: ../src/roster_window.py:2959
+#: ../src/roster_window.py:3377
 msgid ""
 "By removing this contact you also remove authorization resulting in him or "
 "her always seeing you as offline."
@@ -5314,7 +5992,7 @@ msgstr ""
 "Usuwając kontakt cofniesz mu również autoryzację, co spowoduje, że kontakt "
 "będzie zawsze widział Cię jako rozłączonego."
 
-#: ../src/roster_window.py:2964
+#: ../src/roster_window.py:3382
 msgid ""
 "By removing this contact you also by default remove authorization resulting "
 "in him or her always seeing you as offline."
@@ -5322,16 +6000,16 @@ msgstr ""
 "Usuwając kontakt usuniesz również autoryzację, co spowoduje, że kontakt "
 "będzie zawsze widział Cię jako rozłączonego."
 
-#: ../src/roster_window.py:2967
+#: ../src/roster_window.py:3385
 msgid "I want this contact to know my status after removal"
 msgstr "Chcę żeby po usunięciu ten kontakt znał mój status"
 
 #. several contact to remove at the same time
-#: ../src/roster_window.py:2971
+#: ../src/roster_window.py:3389
 msgid "Contacts will be removed from your roster"
 msgstr "Kontakty zostaną usunięte z twojej listy kontaktów"
 
-#: ../src/roster_window.py:2975
+#: ../src/roster_window.py:3393
 #, python-format
 msgid ""
 "By removing these contacts:%s\n"
@@ -5341,7 +6019,7 @@ msgstr ""
 "cofniesz im również autoryzację, co spowoduje, że będziesz dla nich widoczny "
 "jako rozłączony."
 
-#: ../src/roster_window.py:3007
+#: ../src/roster_window.py:3425
 msgid ""
 "Gnome Keyring is installed but not correctly started (environment variable "
 "probably not correctly set)"
@@ -5349,41 +6027,44 @@ msgstr ""
 "Menedżer bazy kluczy GNOME jest zainstalowany, ale ma błędną konfigurację"
 "(prawodpodobnie niepoprawna zmienna środowiskowa"
 
-#. TODO: make this string translatable
+#: ../src/roster_window.py:3447
+msgid "GPG is not usable"
+msgstr "GPG nie nadaje się do użycia"
+
 #. %s is the account name here
-#: ../src/roster_window.py:3035 ../src/common/connection.py:707
-#: ../src/common/zeroconf/connection_zeroconf.py:164
+#: ../src/roster_window.py:3447 ../src/common/connection.py:689
+#: ../src/common/zeroconf/connection_zeroconf.py:170
 #, python-format
 msgid "You will be connected to %s without OpenPGP."
 msgstr "Zostanie połączony z %s bez obsługi OpenPGP."
 
-#: ../src/roster_window.py:3052
+#: ../src/roster_window.py:3460
 msgid "Passphrase Required"
 msgstr "Wymagane hasło"
 
-#: ../src/roster_window.py:3053
+#: ../src/roster_window.py:3461
 #, python-format
 msgid "Enter GPG key passphrase for account %s."
 msgstr "Wpisz hasło GPG dla konta %s."
 
-#: ../src/roster_window.py:3058
+#: ../src/roster_window.py:3466
 msgid "Save passphrase"
 msgstr "Zapisz hasło"
 
-#: ../src/roster_window.py:3066
+#: ../src/roster_window.py:3474
 msgid "Wrong Passphrase"
 msgstr "Błędne hasło"
 
-#: ../src/roster_window.py:3067
+#: ../src/roster_window.py:3475
 msgid "Please retype your GPG passphrase or press Cancel."
 msgstr ""
 "Proszę ponownie wprowadzić swoje hasło GPG lub kliknąć przycisk Anuluj."
 
-#: ../src/roster_window.py:3134 ../src/roster_window.py:3202
+#: ../src/roster_window.py:3550 ../src/roster_window.py:3628
 msgid "You are participating in one or more group chats"
 msgstr "Znajdujesz siÄ™ w jednym lub kilku pokojach"
 
-#: ../src/roster_window.py:3135 ../src/roster_window.py:3203
+#: ../src/roster_window.py:3551 ../src/roster_window.py:3629
 msgid ""
 "Changing your status to invisible will result in disconnection from those "
 "group chats. Are you sure you want to go invisible?"
@@ -5391,20 +6072,20 @@ msgstr ""
 "Zmiana statusu na Niewidoczny spowoduje rozłaczeniem z tym pokojami. Czy na "
 "pewno chcesz stać się niewidoczny?"
 
-#: ../src/roster_window.py:3160
+#: ../src/roster_window.py:3585
 msgid "No account available"
 msgstr "Żadne konto nie jest dostępne"
 
-#: ../src/roster_window.py:3161
+#: ../src/roster_window.py:3586
 msgid "You must create an account before you can chat with other contacts."
 msgstr "Aby rozmawiać z innymi osobami musisz założyć konto Jabbera."
 
-#: ../src/roster_window.py:3284
+#: ../src/roster_window.py:3715
 #, python-format
 msgid "\"%(title)s\" by %(artist)s"
 msgstr "\"%(title)s\" w wykonaniu %(artist)s"
 
-#: ../src/roster_window.py:3723 ../src/roster_window.py:3730
+#: ../src/roster_window.py:4193 ../src/roster_window.py:4200
 msgid ""
 "Messages will only be available for reading them later if you have history "
 "enabled."
@@ -5412,24 +6093,24 @@ msgstr ""
 "Wiadomości będą dostępne tylko do czytania, o ile masz włączoną obsługę "
 "historii."
 
-#: ../src/roster_window.py:4326
+#: ../src/roster_window.py:4824
 msgid "Metacontacts storage not supported by your server"
 msgstr "Twój serwer uniemożliwia przechowywanie metakontaktów"
 
-#: ../src/roster_window.py:4328
+#: ../src/roster_window.py:4826
 msgid ""
 "Your server does not support storing metacontacts information. So those "
-"information will not be save on next reconnection."
+"information will not be saved on next reconnection."
 msgstr ""
 "Twój serwer uniemożliwia przechowywanie metakontaktów. Informacja ta nie "
 "zostanie przywrócona podczas następnego połączenia."
 
-#: ../src/roster_window.py:4370
+#: ../src/roster_window.py:4871
 msgid ""
 "You are about to create a metacontact. Are you sure you want to continue?"
 msgstr "Chcesz utworzyć metakontakt. Kontynuować?"
 
-#: ../src/roster_window.py:4372
+#: ../src/roster_window.py:4873
 msgid ""
 "Metacontacts are a way to regroup several contacts in one line. Generally it "
 "is used when the same person has several Jabber accounts or transport "
@@ -5439,129 +6120,137 @@ msgstr ""
 "rostera. Używa się ich przede wszystkim wtedy, gdy jedna osoba ma kilka kont "
 "Jabbera lub zarejestrowana jest w kilku transportach."
 
-#: ../src/roster_window.py:4450
+#: ../src/roster_window.py:4970
+#, python-format
 msgid "Do you want to send that file to %s:"
 msgid_plural "Do you want to send those files to %s:"
 msgstr[0] "Czy chcesz wysłać ten plik do %s:"
 msgstr[1] "Czy chcesz wysłać te pliki do %s:"
 msgstr[2] "Czy chcesz wysłać te pliki do %s:"
 
-#: ../src/roster_window.py:4555
-#, python-format
-msgid "Drop %s in group %s"
-msgstr "Usuń %s z grupy %s"
-
-#: ../src/roster_window.py:4562
-#, python-format
-msgid "Make %s and %s metacontacts"
-msgstr "Przekształć %s oraz %s w metakontakty"
-
-#: ../src/roster_window.py:4749
+#: ../src/roster_window.py:5253
 msgid "Change Status Message..."
 msgstr "Zmień opis statusu..."
 
-#: ../src/search_window.py:88
+#: ../src/search_window.py:91
 msgid "Waiting for results"
 msgstr "Oczekiwanie na wyniki"
 
-#: ../src/search_window.py:135 ../src/search_window.py:186
+#: ../src/search_window.py:131 ../src/search_window.py:209
 msgid "Error in received dataform"
 msgstr "BÅ‚Ä…d w odebranych danych"
 
-#: ../src/search_window.py:154
+#. No result
+#: ../src/search_window.py:165 ../src/search_window.py:201
 msgid "No result"
 msgstr "Brak wyników"
 
-#: ../src/systray.py:163
+#: ../src/systray.py:169
 msgid "_Change Status Message..."
 msgstr "_Zmień opis statusu..."
 
-#: ../src/systray.py:251
+#: ../src/systray.py:254
 msgid "Hide this menu"
 msgstr "Ukryj to menu"
 
-#: ../src/tooltips.py:309 ../src/tooltips.py:492
+#: ../src/tooltips.py:317 ../src/tooltips.py:510
 msgid "Jabber ID: "
 msgstr "Jabber ID:"
 
-#: ../src/tooltips.py:312 ../src/tooltips.py:496
+#: ../src/tooltips.py:320 ../src/tooltips.py:514
 msgid "Resource: "
 msgstr "Zasoby: "
 
-#: ../src/tooltips.py:317
+#: ../src/tooltips.py:325
 #, python-format
 msgid "%(owner_or_admin_or_member)s of this group chat"
 msgstr "%(owner_or_admin_or_member)s tego pokoju"
 
-#: ../src/tooltips.py:429 ../src/tooltips.py:611
+#: ../src/tooltips.py:423
+msgid " [blocked]"
+msgstr " [zablokowany]"
+
+#: ../src/tooltips.py:427
+msgid " [minimized]"
+msgstr " [zminimalizowany]"
+
+#: ../src/tooltips.py:442 ../src/tooltips.py:630
 msgid "Status: "
 msgstr "Status: "
 
-#: ../src/tooltips.py:460
+#: ../src/tooltips.py:472
 #, python-format
 msgid "Last status: %s"
 msgstr "Ostatni status %s"
 
-#: ../src/tooltips.py:462
+#: ../src/tooltips.py:474
 #, python-format
 msgid " since %s"
 msgstr " od %s"
 
+#: ../src/tooltips.py:492
+msgid "Connected"
+msgstr "Połączony"
+
+#: ../src/tooltips.py:494
+msgid "Disconnected"
+msgstr "Rozłączony"
+
 #. ('both' is the normal sub so we don't show it)
-#: ../src/tooltips.py:502
+#: ../src/tooltips.py:521
 msgid "Subscription: "
 msgstr "Autoryzacja: "
 
-#: ../src/tooltips.py:512
+#: ../src/tooltips.py:531
 msgid "OpenPGP: "
 msgstr "OpenPGP: "
 
-#: ../src/tooltips.py:567
+#: ../src/tooltips.py:586
 msgid "Download"
 msgstr "Pobieranie"
 
-#: ../src/tooltips.py:573
+#: ../src/tooltips.py:592
 msgid "Upload"
 msgstr "Prześlij"
 
-#: ../src/tooltips.py:580
+#: ../src/tooltips.py:599
 msgid "Type: "
 msgstr "Typ: "
 
-#: ../src/tooltips.py:586
+#: ../src/tooltips.py:605
 msgid "Transferred: "
 msgstr "Przesłane: "
 
-#: ../src/tooltips.py:589 ../src/tooltips.py:610
+#: ../src/tooltips.py:608 ../src/tooltips.py:629
 msgid "Not started"
 msgstr "Nie włączony"
 
-#: ../src/tooltips.py:593
+#: ../src/tooltips.py:612
 msgid "Stopped"
 msgstr "Zatrzymany"
 
-#: ../src/tooltips.py:595 ../src/tooltips.py:598
+#: ../src/tooltips.py:614 ../src/tooltips.py:617
 msgid "Completed"
 msgstr "Ukończony"
 
-#: ../src/tooltips.py:602
+#: ../src/tooltips.py:621
 msgid "?transfer status:Paused"
 msgstr "?status transferu:wstrzymany"
 
 #. stalled is not paused. it is like 'frozen' it stopped alone
-#: ../src/tooltips.py:606
+#: ../src/tooltips.py:625
 msgid "Stalled"
 msgstr "Wygaszony"
 
-#: ../src/tooltips.py:608
+#: ../src/tooltips.py:627
 msgid "Transferring"
 msgstr "Przesyłanie"
 
-#: ../src/tooltips.py:640
+#: ../src/tooltips.py:659
 msgid "This service has not yet responded with detailed information"
 msgstr "Ta usługa nie odesłała jeszcze szczegółowych informacji"
 
-#: ../src/tooltips.py:643
+#: ../src/tooltips.py:662
 msgid ""
 "This service could not respond with detailed information.\n"
 "It is most likely legacy or broken"
@@ -5569,24 +6258,24 @@ msgstr ""
 "Ta usługa nie była w stanie odesłać szczegółowych informacji.\n"
 "Prawdopodobnie została zamknięta lub jest zepsuta"
 
-#: ../src/vcard.py:325
+#: ../src/vcard.py:245
 msgid "?Client:Unknown"
 msgstr "?Klient: Nieznany"
 
-#: ../src/vcard.py:327
+#: ../src/vcard.py:247
 msgid "?OS:Unknown"
 msgstr "?System operacyjny: Nieznany"
 
-#: ../src/vcard.py:355 ../src/vcard.py:533
+#: ../src/vcard.py:272 ../src/vcard.py:282 ../src/vcard.py:472
 #, python-format
 msgid "since %s"
 msgstr "od %s"
 
-#: ../src/vcard.py:385
+#: ../src/vcard.py:311
 msgid "Affiliation:"
 msgstr "Afiliacja: "
 
-#: ../src/vcard.py:393
+#: ../src/vcard.py:319
 msgid ""
 "This contact is interested in your presence information, but you are not "
 "interested in his/her presence"
@@ -5594,7 +6283,7 @@ msgstr ""
 "Ten kontakt jest zaintersowany informacjami o twoim statusie, ale ty nie "
 "interesujesz siÄ™ jego/jej statusem."
 
-#: ../src/vcard.py:395
+#: ../src/vcard.py:321
 msgid ""
 "You are interested in the contact's presence information, but he/she is not "
 "interested in yours"
@@ -5602,12 +6291,12 @@ msgstr ""
 "JesteÅ› zainteresowany informacjami o statusie tego kontaktu, ale on/ona nie "
 "jest zainteresowana twoim."
 
-#: ../src/vcard.py:397
+#: ../src/vcard.py:323
 msgid "You and the contact are interested in each other's presence information"
 msgstr "Oboje jesteście zaintersowani nawzajem swoimi informacjami o statusie"
 
 #. None
-#: ../src/vcard.py:399
+#: ../src/vcard.py:325
 msgid ""
 "You are not interested in the contact's presence, and neither he/she is "
 "interested in yours"
@@ -5615,140 +6304,144 @@ msgstr ""
 "Nie jesteś zainteresowany informacjami o statusie kontaktu i on również nie "
 "jest zainteresowany twoim"
 
-#: ../src/vcard.py:407
+#: ../src/vcard.py:333
 msgid "You are waiting contact's answer about your subscription request"
 msgstr "Oczekujesz na odpowiedź kontaktu dotyczącą prośby o autoryzację"
 
-#: ../src/vcard.py:411 ../src/vcard.py:438 ../src/vcard.py:558
+#: ../src/vcard.py:337 ../src/vcard.py:374 ../src/vcard.py:497
 msgid " resource with priority "
 msgstr " zasób o wysokim priorytecie "
 
-#: ../src/common/check_paths.py:33
+#: ../src/common/check_paths.py:38
 msgid "creating logs database"
 msgstr "tworzenie bazy danych z logami"
 
-#: ../src/common/check_paths.py:89 ../src/common/check_paths.py:100
-#: ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:101 ../src/common/check_paths.py:112
+#: ../src/common/check_paths.py:119
 #, python-format
 msgid "%s is a file but it should be a directory"
 msgstr "%s jest plikiem choć powinien być katalogiem"
 
-#: ../src/common/check_paths.py:90 ../src/common/check_paths.py:101
-#: ../src/common/check_paths.py:108 ../src/common/check_paths.py:116
+#: ../src/common/check_paths.py:102 ../src/common/check_paths.py:113
+#: ../src/common/check_paths.py:120 ../src/common/check_paths.py:128
 msgid "Gajim will now exit"
 msgstr "Gajim zakończy teraz działanie"
 
-#: ../src/common/check_paths.py:115
+#: ../src/common/check_paths.py:127
 #, python-format
 msgid "%s is a directory but should be a file"
 msgstr "%s jest katalogiem choć powinien być plikiem"
 
-#: ../src/common/check_paths.py:131
+#: ../src/common/check_paths.py:143
 #, python-format
 msgid "creating %s directory"
 msgstr "tworzenie katalogu %s"
 
-#: ../src/common/commands.py:69
+#: ../src/common/commands.py:74
 msgid "Change status information"
 msgstr "Zmień informację o statusie"
 
-#: ../src/common/commands.py:82
+#: ../src/common/commands.py:87
 msgid "Change status"
 msgstr "Zmień status"
 
-#: ../src/common/commands.py:83
+#: ../src/common/commands.py:88
 msgid "Set the presence type and description"
 msgstr "Ustaw typ widoczności i status opisowy"
 
-#: ../src/common/commands.py:89
+#: ../src/common/commands.py:94
 msgid "Free for chat"
 msgstr "Chętny do rozmowy"
 
-#: ../src/common/commands.py:90
+#: ../src/common/commands.py:95
 msgid "Online"
 msgstr "Dostępny"
 
-#: ../src/common/commands.py:92
+#: ../src/common/commands.py:97
 msgid "Extended away"
 msgstr "Nieobecny"
 
-#: ../src/common/commands.py:93
+#: ../src/common/commands.py:98
 msgid "Do not disturb"
 msgstr "Nie przeszkadzać."
 
-#: ../src/common/commands.py:94
+#: ../src/common/commands.py:99
 msgid "Offline - disconnect"
 msgstr "Nieobecny - rozłączony"
 
-#: ../src/common/commands.py:99
+#: ../src/common/commands.py:104
 msgid "Presence description:"
 msgstr "Status opisowy"
 
-#: ../src/common/commands.py:134
+#: ../src/common/commands.py:139
 msgid "The status has been changed."
 msgstr "Status został zmieniony."
 
-#: ../src/common/commands.py:179
+#: ../src/common/commands.py:184
 #, python-format
 msgid "%(nickname)s on %(room_jid)s"
 msgstr "%(nickname)s z pokoju %(room_jid)s"
 
-#: ../src/common/commands.py:183
+#: ../src/common/commands.py:188
 msgid "You have not joined a groupchat."
 msgstr "Nie dołączyłeś do pokoju."
 
-#: ../src/common/commands.py:189
+#: ../src/common/commands.py:194
 msgid "Leave Groupchats"
 msgstr "Opuść pokoje"
 
-#: ../src/common/commands.py:190
+#: ../src/common/commands.py:195
 msgid "Choose the groupchats you want to leave"
 msgstr "Wybierz pokoje, które chcesz opuścić"
 
-#: ../src/common/commands.py:194
-msgid "Groupchats"
-msgstr "Pokoje"
-
-#: ../src/common/commands.py:230
+#: ../src/common/commands.py:235
 msgid "You left the following groupchats:"
 msgstr "Opuściłeś pokoje:"
 
-#: ../src/common/config.py:56
+#: ../src/common/commands.py:247
+msgid "Forward unread messages"
+msgstr "Prześlij dalej nieprzeczytane wiadomości"
+
+#: ../src/common/commands.py:267
+msgid "All unread messages have been forwarded."
+msgstr "Wszystkie nieprzeczytane wiadomości zostały przesłane dalej."
+
+#: ../src/common/config.py:63
 msgid "Use D-Bus and Notification-Daemon to show notifications"
 msgstr "Korzystaj z DBus i Demona Powiadomień aby wyświetlać powiadomienia"
 
-#: ../src/common/config.py:61
+#: ../src/common/config.py:68
 msgid "Time in minutes, after which your status changes to away."
 msgstr ""
 "Czas w minutach, po którym twój status zostanie zmieniona na Zaraz wracam."
 
-#: ../src/common/config.py:62
+#: ../src/common/config.py:69
 msgid "Away as a result of being idle"
 msgstr "Status Zaraz wracam z powodu bezczynności programu"
 
-#: ../src/common/config.py:64
+#: ../src/common/config.py:71
 msgid "Time in minutes, after which your status changes to not available."
 msgstr ""
 "Czas w minutach, po którym twój status zostanie zmieniony na Niedostępny."
 
-#: ../src/common/config.py:65
+#: ../src/common/config.py:72
 msgid "Not available as a result of being idle"
 msgstr "Status Nieobecny z powodu bezczynności programu"
 
-#: ../src/common/config.py:83
+#: ../src/common/config.py:90
 msgid ""
 "List (space separated) of rows (accounts and groups) that are collapsed."
 msgstr "Lista (oddzielona spacjami) kolumn (kont lub grup), które są zwinięte."
 
-#: ../src/common/config.py:88
+#: ../src/common/config.py:95
 msgid "Enable link-local/zeroconf messaging"
 msgstr "Uaktywnij komunikacjÄ™ link-local/zeroconf"
 
-#: ../src/common/config.py:91
+#: ../src/common/config.py:98
 msgid "Language used by speller"
 msgstr "Język używany przez słownik"
 
-#: ../src/common/config.py:92
+#: ../src/common/config.py:99
 msgid ""
 "'always' - print time for every message.\n"
 "'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
@@ -5759,7 +6452,7 @@ msgstr ""
 "print_ichat_every_foo_minutes.\n"
 "'never' - nigdy nie wyświetlaj czasu."
 
-#: ../src/common/config.py:93
+#: ../src/common/config.py:100
 msgid ""
 "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
 "to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
@@ -5770,18 +6463,18 @@ msgstr ""
 "najmniej dokładne. Ustawienie to brane jest pod uwagę jedynie wtedy, gdy "
 "opcja print_time ustawiona jest na 'sometimes'."
 
-#: ../src/common/config.py:96
+#: ../src/common/config.py:103
 msgid "Treat * / _ pairs as possible formatting characters."
 msgstr "Traktuj pary znaków * / _ jako znaki formatujące."
 
-#: ../src/common/config.py:97
+#: ../src/common/config.py:104
 msgid ""
 "If True, do not remove */_ . So *abc* will be bold but with * * not removed."
 msgstr ""
 "Jeśli ma wartość True, to */_ nie będą usuwane. Zatem napis *abc* będzie "
 "pogrubiony ale bez usuniętych znaków * *."
 
-#: ../src/common/config.py:100
+#: ../src/common/config.py:107
 msgid ""
 "Uses ReStructured text markup to send HTML, plus ascii formatting if "
 "selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
@@ -5791,7 +6484,7 @@ msgstr ""
 "zainstalowany pakiet docutils. Wyjaśnienie składni dostępne na stronie "
 "http://docutils.sourceforge.net/docs/ref/rst/"
 
-#: ../src/common/config.py:109
+#: ../src/common/config.py:116
 msgid ""
 "Character to add after nickname when using nick completion (tab) in group "
 "chat."
@@ -5799,7 +6492,7 @@ msgstr ""
 "Znak dodawany do nicka przy użyciu autouzupełniania klawiszem TAB (tylko "
 "czat)"
 
-#: ../src/common/config.py:110
+#: ../src/common/config.py:117
 msgid ""
 "Character to propose to add after desired nickname when desired nickname is "
 "used by someone else in group chat."
@@ -5807,7 +6500,7 @@ msgstr ""
 "Znak proponowany do dodania do nicka w sytuacji, gdy dany nick jest już "
 "używany przez innego uzytkownika czatu"
 
-#: ../src/common/config.py:133
+#: ../src/common/config.py:140
 msgid ""
 "This option let you customize timestamp that is printed in conversation. For "
 "exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
@@ -5818,19 +6511,19 @@ msgstr ""
 "minuta] \". Więcej informacji w dokumentacjy Pythona dotyczącą strftime: "
 "http://docs.python.org/lib/module-time.html"
 
-#: ../src/common/config.py:134
+#: ../src/common/config.py:141
 msgid "Characters that are printed before the nickname in conversations"
 msgstr "Znaki, które wyświetlane są podczas rozmowy przed nazwą użytkownika"
 
-#: ../src/common/config.py:135
+#: ../src/common/config.py:142
 msgid "Characters that are printed after the nickname in conversations"
 msgstr "Znaki, które wyświetlane są podczas rozmowy za nazwą użytkownika"
 
-#: ../src/common/config.py:142
+#: ../src/common/config.py:149
 msgid "Add * and [n] in roster title?"
 msgstr "Dodać * i [n] do tytułu listy kontaktów?"
 
-#: ../src/common/config.py:143
+#: ../src/common/config.py:150
 msgid ""
 "How many lines to remember from previous conversation when a chat tab/window "
 "is reopened."
@@ -5838,11 +6531,11 @@ msgstr ""
 "Ile linii z poprzedniej rozmowy powinno zostać zapamiętanych gdy okno/karta "
 "rozmowy zostanie ponownie otwarta."
 
-#: ../src/common/config.py:144
+#: ../src/common/config.py:151
 msgid "How many minutes should last lines from previous conversation last."
 msgstr "Ile minut powinny być widoczne linie z poprzedniej rozmowy."
 
-#: ../src/common/config.py:145
+#: ../src/common/config.py:152
 msgid ""
 "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
 "Client default behaviour)."
@@ -5850,11 +6543,11 @@ msgstr ""
 "Kombinacja Ctrl+Enter wysyła wiadomość a Enter tworzy nową linię (domyślne "
 "zachowanie klienta Mirabilis ICQ)."
 
-#: ../src/common/config.py:147
+#: ../src/common/config.py:154
 msgid "How many lines to store for Ctrl+KeyUP."
 msgstr "Ile przechwywać linii dla kombinacji Ctrl+KeyUP."
 
-#: ../src/common/config.py:150
+#: ../src/common/config.py:157
 #, python-format
 msgid ""
 "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' "
@@ -5863,13 +6556,13 @@ msgstr ""
 "Albo własny url zawierający %s, gdzie %s jest słowem/frazą, albo WIKTIONARY, "
 "co oznacza użycie wiktionary."
 
-#: ../src/common/config.py:153
+#: ../src/common/config.py:160
 msgid "If checked, Gajim can be controlled remotely using gajim-remote."
 msgstr ""
 "Jeśli ta opcja jest zaznaczona, to Gajim będzie mógł być sterowany zdalnie z "
 "wykorzystaniem gajim-remote."
 
-#: ../src/common/config.py:154
+#: ../src/common/config.py:161
 msgid ""
 "If True, listen to D-Bus signals from NetworkManager and change the status "
 "of accounts (provided they do not have listen_to_network_manager set to "
@@ -5882,14 +6575,14 @@ msgstr ""
 "synchronizujÄ… siÄ™ ze statusem globalnym) w oparciu o status wykorzystywanego "
 "połączenia sieciowego."
 
-#: ../src/common/config.py:155
+#: ../src/common/config.py:162
 msgid ""
 "Sent chat state notifications. Can be one of all, composing_only, disabled."
 msgstr ""
 "Wysyłaj informacje o twoim statusie podczas prowadzenia rozmowy. Może "
 "przyjmować wartości all, composing_only, disabled."
 
-#: ../src/common/config.py:156
+#: ../src/common/config.py:163
 msgid ""
 "Displayed chat state notifications in chat windows. Can be one of all, "
 "composing_only, disabled."
@@ -5897,7 +6590,7 @@ msgstr ""
 "Informacje o statusie rozmówcy wyświetlane w oknie rozmowy. Przyjmuje "
 "wartości all, composing_only, disabled."
 
-#: ../src/common/config.py:158
+#: ../src/common/config.py:165
 msgid ""
 "When not printing time for every message (print_time==sometimes), print it "
 "every x minutes."
@@ -5906,11 +6599,11 @@ msgstr ""
 "(print_time==sometimes), zmienna określa co ile minut Gajim ma wyświetlać "
 "czas nadejścia nowej wiadomości."
 
-#: ../src/common/config.py:159
+#: ../src/common/config.py:166
 msgid "Ask before closing a group chat tab/window."
 msgstr "Zapytaj przed zamknięciem karty/okna rozmowy grupowej."
 
-#: ../src/common/config.py:160
+#: ../src/common/config.py:167
 msgid ""
 "Always ask before closing group chat tab/window in this space separated list "
 "of group chat jids."
@@ -5919,7 +6612,7 @@ msgstr ""
 "na każdym z pokojów wymienionych na liście (nazwy pokojów rozdzielone "
 "spacjÄ…)."
 
-#: ../src/common/config.py:161
+#: ../src/common/config.py:168
 msgid ""
 "Never ask before closing group chat tab/window in this space separated list "
 "of group chat jids."
@@ -5928,42 +6621,61 @@ msgstr ""
 "prowadzona jest na dowolnym pokoju obecnym na tej liście (nazwy pokojów "
 "rozdzielone spacjÄ…)."
 
-#: ../src/common/config.py:164
+#: ../src/common/config.py:171
 msgid ""
 "Comma separated list of hosts that we send, in addition of local interfaces, "
 "for File Transfer in case of address translation/port forwarding."
 msgstr ""
-"Oddzielona przecinkami lista hostów, którą wysyłamy w celu przesyłania plików, w przypadku "
-"tłumaczenia adresu/przekierowania portu."
+"Oddzielona przecinkami lista hostów, którą wysyłamy w celu przesyłania "
+"plików, w przypadku tłumaczenia adresu/przekierowania portu."
 
-#: ../src/common/config.py:166
+#: ../src/common/config.py:173
 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
 msgstr "Standard IEC mówi, że KiB = 1024 bajty, KB = 100 bajtów."
 
-#: ../src/common/config.py:168
+#: ../src/common/config.py:175
 msgid "Notify of events in the system trayicon."
 msgstr "Powiadamiaj o zdarzeniach za pomocÄ… ikony w obszarze powiadamiania."
 
-#: ../src/common/config.py:174
+#: ../src/common/config.py:181
 msgid "Show tab when only one conversation?"
 msgstr "Czy pokazywać kartę gdy otwarta jest tylko jedna rozmowa?"
 
-#: ../src/common/config.py:175
+#: ../src/common/config.py:182
 msgid "Show tabbed notebook border in chat windows?"
 msgstr "Czy pokazywać rozgraniczenie kart w oknie czatu?"
 
-#: ../src/common/config.py:176
+#: ../src/common/config.py:183
 msgid "Show close button in tab?"
 msgstr "Czy pokazywać przycisk zamknięcia na karcie?"
 
-#: ../src/common/config.py:189
+#: ../src/common/config.py:184
+msgid ""
+"When negotiating an encrypted session, should Gajim assume you want your "
+"messages to be logged?"
+msgstr ""
+"Czy podczas negocjowania szyfrowanej sesji Gajim ma przyjąć, że chcesz ją "
+"logować?"
+
+#: ../src/common/config.py:185
+msgid ""
+"When negotiating an encrypted session, should Gajim prefer to use public "
+"keys for identification?"
+msgstr ""
+"Czy podczas negocjowania szyfrowanej sesji Gajim ma kluczy publicznych?"
+
+#: ../src/common/config.py:194
+msgid "Preview new messages in notification popup?"
+msgstr "Podgląd nowych wiadomości w oknie powiadomienia?"
+
+#: ../src/common/config.py:199
 msgid ""
 "A semicolon-separated list of words that will be highlighted in group chats."
 msgstr ""
 "Lista słów oddzielonych średnikami, które będą podświetlane w trakcie "
 "rozmowy w pokoju."
 
-#: ../src/common/config.py:190
+#: ../src/common/config.py:200
 msgid ""
 "If True, quits Gajim when X button of Window Manager is clicked. This "
 "setting is taken into account only if trayicon is used."
@@ -5972,14 +6684,14 @@ msgstr ""
 "Menadżera Okien. Ta opcja jest brana pod uwagę tylko gdy używana jest tacka "
 "systemowa."
 
-#: ../src/common/config.py:191
+#: ../src/common/config.py:201
 msgid ""
 "If True, Gajim will check if it's the default jabber client on each startup."
 msgstr ""
 "Jeśli ma wartość True, Gajim sprawdzi przy każdym uruchomieniu czy jest "
 "domyślnym klientem Jabbera."
 
-#: ../src/common/config.py:192
+#: ../src/common/config.py:202
 msgid ""
 "If True, Gajim will display an icon on each tab containing unread messages. "
 "Depending on the theme, this icon may be animated."
@@ -5988,7 +6700,7 @@ msgstr ""
 "nieprzeczytaną wiadomość. Ikona ta może być animowana, w zależności od "
 "motywu."
 
-#: ../src/common/config.py:193
+#: ../src/common/config.py:203
 msgid ""
 "If True, Gajim will display the status message, if not empty, for every "
 "contact under the contact name in roster window."
@@ -5996,7 +6708,7 @@ msgstr ""
 "Jeśli ma wartość True, Gajim wyświetli opis statusu, jeśli nie jest on "
 "pusty, dla każdego kontaktu pod jego nazwą w oknie listy kontaktów."
 
-#: ../src/common/config.py:195
+#: ../src/common/config.py:205
 msgid ""
 "If True, Gajim will ask for avatar each contact that did not have an avatar "
 "last time or has one cached that is too old."
@@ -6004,7 +6716,7 @@ msgstr ""
 "Jeśli ma wartość True, Gajim wyśle zapytanie o awatar każdego kontaktu, "
 "który ostatnio nie miał awatara lub ma zapisany jedynie stary."
 
-#: ../src/common/config.py:196
+#: ../src/common/config.py:206
 msgid ""
 "If False, Gajim will no longer print status line in chats when a contact "
 "changes his or her status and/or his or her status message."
@@ -6012,7 +6724,7 @@ msgstr ""
 "Jeśli ma wartość False, to nie będziesz informowany o zmianie statusu lub "
 "opisu statusu przez kontakt, z którym rozmawiasz."
 
-#: ../src/common/config.py:197
+#: ../src/common/config.py:207
 msgid ""
 "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
 "longer print status line in groupchats when a member changes his or her "
@@ -6027,30 +6739,30 @@ msgstr ""
 "\"in_and_out\" nakazuje programowi wyświetlanie jedynie informacji o wejściu "
 "użytkownika do pokoju lub jego opuszczeniu."
 
-#: ../src/common/config.py:199
+#: ../src/common/config.py:209
 msgid "Background color of contacts when they just signed in."
 msgstr "Kolor tła dla logujących się kontaktów."
 
-#: ../src/common/config.py:200
+#: ../src/common/config.py:210
 msgid "Background color of contacts when they just signed out."
 msgstr "Kolor tła dla kontaktów w trakcie wylogowywania."
 
-#: ../src/common/config.py:202
+#: ../src/common/config.py:212
 msgid ""
 "If True, restored messages will use a smaller font than the default one."
 msgstr ""
 "Jeżeli opcja ustawiona jest na True, przywrócone wiadomości będą wyświetlane "
 "mniejszÄ… czcionkÄ…."
 
-#: ../src/common/config.py:203
+#: ../src/common/config.py:213
 msgid "Don't show avatar for the transport itself."
 msgstr "Nie pokazuj awatarów transportów."
 
-#: ../src/common/config.py:204
+#: ../src/common/config.py:214
 msgid "Don't show roster in the system taskbar."
 msgstr "Nie pokazuj okna rostera na pasku zadań."
 
-#: ../src/common/config.py:205
+#: ../src/common/config.py:215
 msgid ""
 "If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
 "window flash (the default behaviour in most Window Managers) when holding "
@@ -6060,7 +6772,7 @@ msgstr ""
 "niższej niż 2.8, odebrane a nie przeczytane wiadomości spowodują miganie "
 "okna programu."
 
-#: ../src/common/config.py:207
+#: ../src/common/config.py:217
 msgid ""
 "Jabberd1.4 does not like sha info when one join a password protected group "
 "chat. Turn this option to False to stop sending sha info in group chat "
@@ -6071,7 +6783,7 @@ msgstr ""
 "wysyłania takiej informacji."
 
 #. always, never, peracct, pertype should not be translated
-#: ../src/common/config.py:210
+#: ../src/common/config.py:220
 msgid ""
 "Controls the window where new messages are placed.\n"
 "'always' - All messages are sent to a single window.\n"
@@ -6089,39 +6801,35 @@ msgstr ""
 "wspólne okno. Aby uaktywnić dokonane w tej opcji zmiany, trzeba ponownie "
 "uruchomić program."
 
-#: ../src/common/config.py:211
+#: ../src/common/config.py:221
 msgid "If False, you will no longer see the avatar in the chat window."
 msgstr ""
 "Jeżeli ustawisz tą opcję na False, Gajim nie będzie wyświetlał avatara w "
 "oknie rozmowy."
 
-#: ../src/common/config.py:212
+#: ../src/common/config.py:222
 msgid "If True, pressing the escape key closes a tab/window."
 msgstr ""
 "Ustawienie 'True' spowoduje zamykanie okna/karty rozmowy po naciśnięciu "
 "klawisza ESC."
 
-#: ../src/common/config.py:213
-msgid "Hides the buttons in group chat window."
+#: ../src/common/config.py:223
+msgid "Hides the buttons in chat windows."
 msgstr "Ukrywa przyciski w oknie czatu."
 
-#: ../src/common/config.py:214
-msgid "Hides the buttons in two persons chat window."
-msgstr "Ukrywa przyciski podczas rozmowy dwóch osób."
-
-#: ../src/common/config.py:215
+#: ../src/common/config.py:224
 msgid "Hides the banner in a group chat window"
 msgstr "Ukrywa banner w oknie czatu"
 
-#: ../src/common/config.py:216
+#: ../src/common/config.py:225
 msgid "Hides the banner in two persons chat window"
 msgstr "Usuwa banner podczas rozmowy dwóch osób"
 
-#: ../src/common/config.py:217
+#: ../src/common/config.py:226
 msgid "Hides the group chat occupants list in group chat window."
 msgstr "Usuwa z okna rozmowy grupowej listę osób obecnych w pokoju."
 
-#: ../src/common/config.py:218
+#: ../src/common/config.py:227
 msgid ""
 "In a chat, show the nickname at the beginning of a line only when it's not "
 "the same person talking than in previous message."
@@ -6129,22 +6837,26 @@ msgstr ""
 "Podczas rozmowy grupowej, pokaż nazwę rozmówcy na początku linii tylko "
 "wówczas, gdy poprzednią wiadomość wysłała inna osoba."
 
-#: ../src/common/config.py:219
+#: ../src/common/config.py:228
 msgid "Indentation when using merge consecutive nickname."
 msgstr "Wcięcie stosowane przy łaczeniu tych samych nicków."
 
-#: ../src/common/config.py:220
+#: ../src/common/config.py:229
+msgid "Smooth scroll message in conversation window"
+msgstr "PÅ‚ynne przewijanie w oknie rozmowy"
+
+#: ../src/common/config.py:230
 msgid "List of colors that will be used to color nicknames in group chats."
 msgstr ""
 "Lista kolorów, które używane będą do kolorowania nicków w oknach czatu."
 
-#: ../src/common/config.py:221
+#: ../src/common/config.py:231
 msgid "Ctrl-Tab go to next composing tab when none is unread."
 msgstr ""
 "Kombinacja klawiszy Ctrl-Tab przechodzi do następnej karty, o ile w żadnej z "
 "nich nie ma nieprzeczytanych wiadomości."
 
-#: ../src/common/config.py:222
+#: ../src/common/config.py:232
 msgid ""
 "Should we show the confirm metacontacts creation dialog or not? Empty string "
 "means we never show the dialog."
@@ -6152,7 +6864,7 @@ msgstr ""
 "Czy program powinien potwierdzać za każdym razem utworzenie metakontaktu? "
 "Pusty ciąg spowoduje, że okno dialogowe nie będzie wyświetlane."
 
-#: ../src/common/config.py:223
+#: ../src/common/config.py:233
 msgid ""
 "If True, you will be able to set a negative priority to your account in "
 "account modification window. BE CAREFUL, when you are logged in with a "
@@ -6163,7 +6875,7 @@ msgstr ""
 "ujemnym priorytetem nie będziesz otrzymywał żadnych wiadomości z twojego "
 "serwera."
 
-#: ../src/common/config.py:224
+#: ../src/common/config.py:234
 msgid ""
 "If True, Gajim will use Gnome Keyring (if available) to store account "
 "passwords."
@@ -6171,7 +6883,7 @@ msgstr ""
 "Jeśli opcja ta ustawiona jest na True, do przechowywania haseł Gajim będzie "
 "używał Menedżera bazy kluczy GNOME."
 
-#: ../src/common/config.py:225
+#: ../src/common/config.py:235
 msgid ""
 "If True, Gajim will show number of online and total contacts in account and "
 "group rows."
@@ -6180,7 +6892,7 @@ msgstr ""
 "połączonych kontaktów oraz ogólną liczbę kontaktów dla każdego konta oraz "
 "grupy"
 
-#: ../src/common/config.py:226
+#: ../src/common/config.py:236
 msgid ""
 "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
 "as if they were of this type"
@@ -6189,22 +6901,39 @@ msgstr ""
 "Gajim będzie traktował każdą przychodzącą wiadomość jako czat lub pojedynczą "
 "wiadomość"
 
-#: ../src/common/config.py:227
+#: ../src/common/config.py:237
 msgid ""
 "If True, Gajim will scroll and select the contact who sent you the last "
 "message, if chat window is not already opened."
-msgstr "Jeżeli ustawiono na 'True', Gajim przewinie listę kontaktów i wybierze ten "
-"kontakt, który wysłał ci ostatnią wiadomość, ale tylko wtedy gdy okno czatu nie jest "
-"już otwarte."
+msgstr ""
+"Jeżeli ustawiono na 'True', Gajim przewinie listę kontaktów i wybierze ten "
+"kontakt, który wysłał ci ostatnią wiadomość, ale tylko wtedy gdy okno czatu "
+"nie jest już otwarte."
 
-#: ../src/common/config.py:228
+#: ../src/common/config.py:238
 msgid ""
 "If True, Gajim will convert string between $$ and $$ to an image using dvips "
 "and convert before insterting it in chat window."
-msgstr "Jeżeli ustawiono na 'True', Gajim dokona konwersji ciągów zawartych pomiędzy "
-"$$ i $$ do postaci obrazu (z wykorzystaniem dvips) przed wstawieniem ich do okna rozmowy."
+msgstr ""
+"Jeżeli ustawiono na 'True', Gajim dokona konwersji ciągów zawartych pomiędzy "
+"$$ i $$ do postaci obrazu (z wykorzystaniem dvips) przed wstawieniem ich do "
+"okna rozmowy."
 
 #: ../src/common/config.py:239
+msgid "Time of inactivity needed before the change status window closes down."
+msgstr ""
+"Wymagany jest okres nieaktywności zanim zamknięte zostanie okno zmiany "
+"statusu."
+
+#: ../src/common/config.py:240
+msgid ""
+"Maximum number of lines that are printed in conversations. Oldest lines are "
+"cleared."
+msgstr ""
+"Maksymalna ilość linii, jaka jest wyświetlana podczas rozmów. Najstarsze są "
+"usuwane."
+
+#: ../src/common/config.py:251
 msgid ""
 "Priority will change automatically according to your status. Priorities are "
 "defined in autopriority_* options."
@@ -6213,11 +6942,11 @@ msgstr ""
 "zdefiniowane sÄ… opcjach rozpoczynajÄ…cych siÄ™ od autopriority_*."
 
 #. yes, no, ask
-#: ../src/common/config.py:268
+#: ../src/common/config.py:279
 msgid "Jabberd2 workaround"
 msgstr "Obejście dla Jabberd2"
 
-#: ../src/common/config.py:272
+#: ../src/common/config.py:283
 msgid ""
 "If checked, Gajim will use your IP and proxies defined in "
 "file_transfer_proxies option for file transfer."
@@ -6225,356 +6954,231 @@ msgstr ""
 "Jeżeli ta opcja jest aktywna, Gajim pobierze adresy serwerów proxy z klucza "
 "file_transfers_proxies i użyje ich podczas przesyłania plików."
 
-#: ../src/common/config.py:331
+#: ../src/common/config.py:342
 msgid "Is OpenPGP enabled for this contact?"
 msgstr "Czy OpenPGP jest włączone dla tego kontaktu?"
 
-#: ../src/common/config.py:332 ../src/common/config.py:335
+#: ../src/common/config.py:343 ../src/common/config.py:346
 msgid "Language for which we want to check misspelled words"
 msgstr "Język, którego używa słownik przy sprawdzaniu pisowni"
 
-#: ../src/common/config.py:341
+#: ../src/common/config.py:352
 msgid "all or space separated status"
 msgstr "all lub komunikaty stanu rozdzielone spacjami"
 
-#: ../src/common/config.py:342
+#: ../src/common/config.py:353
 msgid "'yes', 'no', or 'both'"
 msgstr "'yes', 'no' lub 'both'"
 
-#: ../src/common/config.py:343 ../src/common/config.py:345
-#: ../src/common/config.py:346 ../src/common/config.py:349
-#: ../src/common/config.py:350
+#: ../src/common/config.py:354 ../src/common/config.py:356
+#: ../src/common/config.py:357 ../src/common/config.py:360
+#: ../src/common/config.py:361
 msgid "'yes', 'no' or ''"
 msgstr "'yes', 'no' lub \""
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:367
 msgid "Sleeping"
 msgstr "ÅšpiÄ™"
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:368
 msgid "Back soon"
 msgstr "Niedługo wrócę"
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:368
 msgid "Back in some minutes."
 msgstr "Wrócę za jakiś czas."
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:369
 msgid "Eating"
 msgstr "Jem"
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:369
 msgid "I'm eating, so leave me a message."
 msgstr "Jem. Zostaw wiadomość."
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:370
 msgid "Movie"
 msgstr "Film"
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:370
 msgid "I'm watching a movie."
 msgstr "OglÄ…dam film."
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:371
 msgid "Working"
 msgstr "Praca"
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:371
 msgid "I'm working."
 msgstr "PracujÄ™."
 
-#: ../src/common/config.py:361
+#: ../src/common/config.py:372
 msgid "Phone"
 msgstr "Telefon"
 
-#: ../src/common/config.py:361
+#: ../src/common/config.py:372
 msgid "I'm on the phone."
 msgstr "Rozmawiam przez telefon."
 
-#: ../src/common/config.py:362
+#: ../src/common/config.py:373
 msgid "Out"
 msgstr "Wyszedłem"
 
-#: ../src/common/config.py:362
+#: ../src/common/config.py:373
 msgid "I'm out enjoying life."
 msgstr "Wyszedłem cieszyć się życiem."
 
-#: ../src/common/config.py:366
+#: ../src/common/config.py:377
 msgid "I'm available."
 msgstr "Dostępny."
 
-#: ../src/common/config.py:367
+#: ../src/common/config.py:378
 msgid "I'm free for chat."
 msgstr "Chętny do rozmowy."
 
-#: ../src/common/config.py:369
+#: ../src/common/config.py:380
 msgid "I'm not available."
 msgstr "Nieobecny."
 
-#: ../src/common/config.py:370
-msgid "Do not disturb."
-msgstr "Nie przeszkadzać."
-
-#: ../src/common/config.py:371 ../src/common/config.py:372
-msgid "Bye!"
-msgstr "Żegnaj!"
-
 #: ../src/common/config.py:381
-msgid ""
-"Sound to play when a group chat message contains one of the words in "
-"muc_highlight_words, or when a group chat message contains your nickname."
-msgstr ""
-"Dźwięk, który zostanie odtworzony, gdy wiadomość MUC będzie zawierać jeden z "
-"wyrazów ze zmiennej muc_highlight_words lub gdy wiadomość MUC zawierać "
-"będzie twój pseudonim."
-
-#: ../src/common/config.py:382
-msgid "Sound to play when any MUC message arrives."
-msgstr "Dźwięk, jaki będzie odtwarzany, gdy nadejdzie wiadomość MUC."
-
-#: ../src/common/config.py:391 ../src/common/optparser.py:195
-msgid "green"
-msgstr "zielony"
-
-#: ../src/common/config.py:395 ../src/common/optparser.py:181
-msgid "grocery"
-msgstr "grocery"
-
-#: ../src/common/config.py:399
-msgid "human"
-msgstr "human"
-
-#: ../src/common/config.py:403
-msgid "marine"
-msgstr "morski"
-
-#: ../src/common/connection.py:197
-#: ../src/common/zeroconf/connection_zeroconf.py:202
-#, python-format
-msgid "Connection with account \"%s\" has been lost"
-msgstr "Połączenie z kontem \"%s\"zostało zerwane."
-
-#: ../src/common/connection.py:198
-msgid "Reconnect manually."
-msgstr "Połącz ponownie ręcznie."
-
-#: ../src/common/connection.py:209 ../src/common/connection.py:236
-#, python-format
-msgid "Transport %s answered wrongly to register request: %s"
-msgstr ""
-"Transport %s udzielił nieprawidłowej odpowiedzi na żądnie rejestracji: %s"
-
-#. wrong answer
-#: ../src/common/connection.py:235
-msgid "Invalid answer"
-msgstr "Niepoprawna odpowiedź"
-
-#: ../src/common/connection.py:383
-msgid "Connection to proxy failed"
-msgstr "Połączenie z proxy nie powiodło się"
-
-#: ../src/common/connection.py:437 ../src/common/connection.py:535
-#: ../src/common/connection.py:1032
-#: ../src/common/zeroconf/connection_zeroconf.py:236
-#, python-format
-msgid "Could not connect to \"%s\""
-msgstr "Nie można połączyć się z \"%s\""
-
-#: ../src/common/connection.py:451
-#, python-format
-msgid "Connected to server %s:%s with %s"
-msgstr "Połączony z serwerem %s: %s z %s"
-
-#: ../src/common/connection.py:464
-#, python-format
-msgid "Security error connecting to \"%s\""
-msgstr "Błąd zabezpieczeń przy połączeniu z \"%s\""
-
-#: ../src/common/connection.py:465
-msgid ""
-"The server's key has changed, or someone is trying to hack your connection."
-msgstr ""
-"Zmienił się klucz twojego serwera lub ktoś próbuje podsłuchać połączenie."
-
-#: ../src/common/connection.py:472
-#, python-format
-msgid "Unable to check fingerprint for %s. Connection could be insecure."
-msgstr ""
-"Nie można sprawdzić odcisku klucza %s. Połączenie może nie być bezpieczne"
-
-#: ../src/common/connection.py:514
-#, python-format
-msgid "Missing fingerprint in SSL connection to %s"
-msgstr "Brak odcisku klucza w połączeniu SSL z %s"
-
-#: ../src/common/connection.py:520
-#, python-format
-msgid "Fingerprint mismatch for %s: Got %s, expected %s"
-msgstr "Niezgodność odcisku klucza %s. Oczekiwano %s, otrzymano %s"
-
-#: ../src/common/connection.py:536
-msgid "Check your connection or try again later"
-msgstr "Sprawdź swoje połączenie lub spróbuj później"
-
-#: ../src/common/connection.py:562
-#, python-format
-msgid "Authentication failed with \"%s\""
-msgstr "Autoryzacja z \"%s\" nie powiodła się"
-
-#: ../src/common/connection.py:563
-msgid "Please check your login and password for correctness."
-msgstr "Spawdź czy twój login i hasło są poprawne."
+msgid "Do not disturb."
+msgstr "Nie przeszkadzać."
 
-#: ../src/common/connection.py:606
-msgid "Error while removing privacy list"
-msgstr "Błąd usuwaniu listy prywatności"
+#: ../src/common/config.py:382 ../src/common/config.py:383
+msgid "Bye!"
+msgstr "Żegnaj!"
 
-#: ../src/common/connection.py:607
+#: ../src/common/config.py:392
 msgid ""
-"Privacy list %s has not been removed. It is maybe active in one of your "
-"connected resources. Deactivate it and try again."
+"Sound to play when a group chat message contains one of the words in "
+"muc_highlight_words, or when a group chat message contains your nickname."
 msgstr ""
-"Lista prywatności %s nie została usunięta. Prawdopodobnie jest aktywna w "
-"jednym z połączonych zasobów. Wyłącz ją i spróbuj ponownie."
+"Dźwięk, który zostanie odtworzony, gdy wiadomość MUC będzie zawierać jeden z "
+"wyrazów ze zmiennej muc_highlight_words lub gdy wiadomość MUC zawierać "
+"będzie twój pseudonim."
 
-#. We didn't set a passphrase
-#: ../src/common/connection.py:705
-#: ../src/common/zeroconf/connection_zeroconf.py:162
-msgid "OpenPGP passphrase was not given"
-msgstr "Nie podano klucza OpenPGP"
+#: ../src/common/config.py:393
+msgid "Sound to play when any MUC message arrives."
+msgstr "Dźwięk, jaki będzie odtwarzany, gdy nadejdzie wiadomość MUC."
 
-#. we're not english
-#. one  in locale and one en
-#: ../src/common/connection.py:862
-msgid "[This message is *encrypted* (See :JEP:`27`]"
-msgstr "[Ta wiadomość jest zaszyfrowana (zobacz JEP '27']"
+#: ../src/common/config.py:402 ../src/common/optparser.py:219
+msgid "green"
+msgstr "zielony"
 
-#: ../src/common/connection.py:918
-#: ../src/common/zeroconf/connection_zeroconf.py:421
-#, python-format
-msgid ""
-"Subject: %s\n"
-"%s"
-msgstr ""
-"Temat: %s\n"
-"%s"
+#: ../src/common/config.py:406 ../src/common/optparser.py:205
+msgid "grocery"
+msgstr "grocery"
 
-#: ../src/common/connection.py:1058
-msgid "Not fetched because of invisible status"
-msgstr "Nie wysłano z powodu statusu 'niewidoczny'"
+#: ../src/common/config.py:410
+msgid "human"
+msgstr "human"
+
+#: ../src/common/config.py:414
+msgid "marine"
+msgstr "morski"
 
-#: ../src/common/connection_handlers.py:52
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:44
+#: ../src/common/connection_handlers.py:61
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:49
 msgid "Unable to load idle module"
 msgstr "Nie można załadować modułu idle"
 
-#: ../src/common/connection_handlers.py:180
-#: ../src/common/connection_handlers.py:215
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+#: ../src/common/connection_handlers.py:219
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:243
 msgid "Wrong host"
 msgstr "Błędna nazwa hosta"
 
-#: ../src/common/connection_handlers.py:180
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
-msgid ""
-"The host %s you configured as the ft_add_hosts_to_send advanced option is "
-"not valid, so ignored."
-msgstr ""
-"Nazwa hosta, którą określiłeś w opcji ft_add_hosts_to_send jest "
-"niepoprawna, będzie więc ignorowana."
-
-#: ../src/common/connection_handlers.py:216
+#: ../src/common/connection_handlers.py:220
 msgid "Invalid local address? :-O"
 msgstr "Niepoprawny adres lokalny? :-O"
 
-#: ../src/common/connection_handlers.py:607
+#: ../src/common/connection_handlers.py:618
 #, python-format
 msgid "Registration information for transport %s has not arrived in time"
 msgstr "Informacje rejestracyjne transportu %s nie dotarły na czas"
 
-#: ../src/common/connection_handlers.py:1557
+#: ../src/common/connection_handlers.py:1801
 #, python-format
 msgid "Nickname not allowed: %s"
 msgstr "Pseudonim jest niedozwolony: %s"
 
-#. password required to join
 #. we are banned
 #. group chat does not exist
-#: ../src/common/connection_handlers.py:1622
-#: ../src/common/connection_handlers.py:1625
-#: ../src/common/connection_handlers.py:1628
-#: ../src/common/connection_handlers.py:1631
-#: ../src/common/connection_handlers.py:1634
-#: ../src/common/connection_handlers.py:1637
-#: ../src/common/connection_handlers.py:1645
+#: ../src/common/connection_handlers.py:1871
+#: ../src/common/connection_handlers.py:1874
+#: ../src/common/connection_handlers.py:1877
+#: ../src/common/connection_handlers.py:1880
+#: ../src/common/connection_handlers.py:1884
+#: ../src/common/connection_handlers.py:1893
 msgid "Unable to join group chat"
 msgstr "Nie można dołączyć do pokoju"
 
-#: ../src/common/connection_handlers.py:1623
-msgid "A password is required to join this group chat."
-msgstr "Aby dołączyć do tego pokoju, wymagane jest hasło."
-
-#: ../src/common/connection_handlers.py:1626
-msgid "You are banned from this group chat."
-msgstr "Zostałeś zabanowany w tym pokoju."
+#: ../src/common/connection_handlers.py:1872
+#, python-format
+msgid "You are banned from group chat %s."
+msgstr "Zostałeś zabanowany w pokoju %s."
 
-#: ../src/common/connection_handlers.py:1629
-msgid "Such group chat does not exist."
-msgstr "Taki pokój nie istnieje."
+#: ../src/common/connection_handlers.py:1875
+#, python-format
+msgid "Group chat %s does not exist."
+msgstr "Pokój %s nie istnieje."
 
-#: ../src/common/connection_handlers.py:1632
+#: ../src/common/connection_handlers.py:1878
 msgid "Group chat creation is restricted."
 msgstr "Tworzenie pokoi jest ograniczone."
 
-#: ../src/common/connection_handlers.py:1635
-msgid "Your registered nickname must be used."
-msgstr "Twój zarejestrowany pseudonim musi być w użyciu."
+#: ../src/common/connection_handlers.py:1881
+#, python-format
+msgid "Your registered nickname must be used in group chat %s."
+msgstr "Twój pseudonim musi być używany w pokoju %s."
 
-#: ../src/common/connection_handlers.py:1638
-msgid "You are not in the members list."
-msgstr "Nie jesteś na liście członków."
+#: ../src/common/connection_handlers.py:1885
+#, python-format
+msgid "You are not in the members list in groupchat %s."
+msgstr "Nie jesteś na liście uczestników rozmów w pokoju %s."
 
-#: ../src/common/connection_handlers.py:1646
+#: ../src/common/connection_handlers.py:1894
+#, python-format
 msgid ""
-"Your desired nickname is in use or registered by another occupant.\n"
+"Your desired nickname in group chat %s is in use or registered by another "
+"occupant.\n"
 "Please specify another nickname below:"
 msgstr ""
 "Pożądany przez ciebie pseudonim jest używany lub zarejestrowany przez kogoś "
-"innego.\n"
+"innego w pokoju %s.\n"
 "Podaj inny pseudonim:"
 
 #. Room has been destroyed. see
 #. http://www.xmpp.org/extensions/xep-0045.html#destroyroom
-#: ../src/common/connection_handlers.py:1689
+#: ../src/common/connection_handlers.py:1925
 msgid "Room has been destroyed"
 msgstr "Pokój został usunięty"
 
-#: ../src/common/connection_handlers.py:1696
+#: ../src/common/connection_handlers.py:1932
 #, python-format
 msgid "You can join this room instead: %s"
 msgstr "W zamian możesz dołączyć do pokoju %s"
 
-#: ../src/common/connection_handlers.py:1722
+#: ../src/common/connection_handlers.py:1959
 msgid "I would like to add you to my roster."
 msgstr "Chciałbym dodać Cię do listy kontaktów."
 
 #. BE CAREFUL: no con.updateRosterItem() in a callback
-#: ../src/common/connection_handlers.py:1743
+#: ../src/common/connection_handlers.py:1980
 #, python-format
 msgid "we are now subscribed to %s"
 msgstr "Zapisaliśmy się do %s"
 
-#: ../src/common/connection_handlers.py:1745
+#: ../src/common/connection_handlers.py:1982
 #, python-format
 msgid "unsubscribe request from %s"
 msgstr "Prośba o cofnięcie autoryzacji od %s"
 
-#: ../src/common/connection_handlers.py:1747
+#: ../src/common/connection_handlers.py:1984
 #, python-format
 msgid "we are now unsubscribed from %s"
 msgstr "Wypisaliśmy się z %s"
 
-#: ../src/common/connection_handlers.py:1866
+#: ../src/common/connection_handlers.py:2106
 #, python-format
 msgid ""
 "JID %s is not RFC compliant. It will not be added to your roster. Use roster "
@@ -6584,36 +7188,130 @@ msgstr ""
 "Skorzystaj z narzędzi do zarządzania listą kontaktów, takich jak http://jru."
 "jabberstudio.org/ aby go usunąć"
 
-#: ../src/common/contacts.py:271
+#: ../src/common/connection.py:249
+#: ../src/common/zeroconf/connection_zeroconf.py:208
+#, python-format
+msgid "Connection with account \"%s\" has been lost"
+msgstr "Połączenie z kontem \"%s\"zostało zerwane."
+
+#: ../src/common/connection.py:250
+msgid "Reconnect manually."
+msgstr "Połącz ponownie ręcznie."
+
+#: ../src/common/connection.py:261
+#, python-format
+msgid "Server %s answered wrongly to register request: %s"
+msgstr "Serwer %s udzielił nieprawidłowej odpowiedzi na żądnie rejestracji: %s"
+
+#. wrong answer
+#: ../src/common/connection.py:269
+msgid "Invalid answer"
+msgstr "Niepoprawna odpowiedź"
+
+#: ../src/common/connection.py:270
+#, python-format
+msgid "Transport %s answered wrongly to register request: %s"
+msgstr ""
+"Transport %s udzielił nieprawidłowej odpowiedzi na żądnie rejestracji: %s"
+
+#: ../src/common/connection.py:416
+msgid "Connection to proxy failed"
+msgstr "Połączenie z proxy nie powiodło się"
+
+#: ../src/common/connection.py:470 ../src/common/connection.py:516
+#: ../src/common/connection.py:1075
+#: ../src/common/zeroconf/connection_zeroconf.py:242
+#, python-format
+msgid "Could not connect to \"%s\""
+msgstr "Nie można połączyć się z \"%s\""
+
+#: ../src/common/connection.py:484
+#, python-format
+msgid "Connected to server %s:%s with %s"
+msgstr "Połączony z serwerem %s: %s z %s"
+
+#: ../src/common/connection.py:517
+msgid "Check your connection or try again later"
+msgstr "Sprawdź swoje połączenie lub spróbuj później"
+
+#: ../src/common/connection.py:542
+#, python-format
+msgid "Authentication failed with \"%s\""
+msgstr "Autoryzacja z \"%s\" nie powiodła się"
+
+#: ../src/common/connection.py:543
+msgid "Please check your login and password for correctness."
+msgstr "Spawdź czy twój login i hasło są poprawne."
+
+#: ../src/common/connection.py:586
+msgid "Error while removing privacy list"
+msgstr "Błąd usuwaniu listy prywatności"
+
+#: ../src/common/connection.py:587
+#, python-format
+msgid ""
+"Privacy list %s has not been removed. It is maybe active in one of your "
+"connected resources. Deactivate it and try again."
+msgstr ""
+"Lista prywatności %s nie została usunięta. Prawdopodobnie jest aktywna w "
+"jednym z połączonych zasobów. Wyłącz ją i spróbuj ponownie."
+
+#. We didn't set a passphrase
+#: ../src/common/connection.py:687
+#: ../src/common/zeroconf/connection_zeroconf.py:168
+msgid "OpenPGP passphrase was not given"
+msgstr "Nie podano klucza OpenPGP"
+
+#. we're not english
+#. one  in locale and one en
+#: ../src/common/connection.py:850
+msgid "[This message is *encrypted* (See :JEP:`27`]"
+msgstr "[Ta wiadomość jest zaszyfrowana (zobacz JEP '27']"
+
+#: ../src/common/connection.py:924
+#: ../src/common/zeroconf/connection_zeroconf.py:436
+#, python-format
+msgid ""
+"Subject: %s\n"
+"%s"
+msgstr ""
+"Temat: %s\n"
+"%s"
+
+#: ../src/common/connection.py:1107
+msgid "Not fetched because of invisible status"
+msgstr "Nie wysłano z powodu statusu 'niewidoczny'"
+
+#: ../src/common/contacts.py:299
 msgid "Not in roster"
 msgstr "Spoza listy kontaktów"
 
 #. only say that to non Windows users
-#: ../src/common/dbus_support.py:33
+#: ../src/common/dbus_support.py:38
 msgid "D-Bus python bindings are missing in this computer"
 msgstr "Na tym komputerze brakuje pythonowych dowiązań do D-Bus."
 
-#: ../src/common/dbus_support.py:34
+#: ../src/common/dbus_support.py:39
 msgid "D-Bus capabilities of Gajim cannot be used"
 msgstr "Nie można użyć D-Bus."
 
-#: ../src/common/exceptions.py:22
+#: ../src/common/exceptions.py:27
 msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
 msgstr ""
 "Nie znaleziono biblioteki pysqlite2 (lub python-pysqlite2). Kończenie pracy "
 "programu..."
 
-#: ../src/common/exceptions.py:30
+#: ../src/common/exceptions.py:44
 msgid "Service not available: Gajim is not running, or remote_control is False"
 msgstr ""
 "Usługa nie jest dostępna. Gajim nie działa lub remote_control ma wartość "
 "False"
 
-#: ../src/common/exceptions.py:38
+#: ../src/common/exceptions.py:52
 msgid "D-Bus is not present on this machine or python module is missing"
 msgstr "D-Bus nie jest obecny na tej maszynie lub brak modułu dla pythona"
 
-#: ../src/common/exceptions.py:46
+#: ../src/common/exceptions.py:60
 msgid ""
 "Session bus is not available.\n"
 "Try reading http://trac.gajim.org/wiki/GajimDBus"
@@ -6621,443 +7319,444 @@ msgstr ""
 "Nie znaleziono interfejsu DBus.\n"
 "Zapoznaj siÄ™ z uwagami na stronie http://trac.gajim.org/wiki/GajimDBus"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "one"
 msgstr "pierwsza"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "two"
 msgstr "druga"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "three"
 msgstr "trzecia"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "four"
 msgstr "czwarta"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "five"
 msgstr "piÄ…ta"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "six"
 msgstr "szóstej"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "seven"
 msgstr "siódma"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "eight"
 msgstr "ósmej"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "nine"
 msgstr "dziewiÄ…ta"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "ten"
 msgstr "dziesiÄ…tej"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "eleven"
 msgstr "jedenasta"
 
-#: ../src/common/fuzzyclock.py:44
+#: ../src/common/fuzzyclock.py:49
 msgid "twelve"
 msgstr "dwunastej"
 
 #. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). '''
 #. A "singular-form". It is used when talking about hour 0
-#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
 msgid "$0 o'clock"
 msgstr "Godzina $0"
 
-#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
 msgid "five past $0"
 msgstr "pięć po $0"
 
-#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+#: ../src/common/fuzzyclock.py:53 ../src/common/fuzzyclock.py:61
 msgid "ten past $0"
 msgstr "dziesięć po $0"
 
-#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+#: ../src/common/fuzzyclock.py:53 ../src/common/fuzzyclock.py:61
 msgid "quarter past $0"
 msgstr "kwadrans po $0"
 
-#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+#: ../src/common/fuzzyclock.py:54 ../src/common/fuzzyclock.py:62
 msgid "twenty past $0"
 msgstr "dwadzieścia po $0"
 
-#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+#: ../src/common/fuzzyclock.py:54 ../src/common/fuzzyclock.py:62
 msgid "twenty five past $0"
 msgstr "za pięć wpół do $0"
 
-#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+#: ../src/common/fuzzyclock.py:55 ../src/common/fuzzyclock.py:63
 msgid "half past $0"
 msgstr "w pół do $1"
 
-#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+#: ../src/common/fuzzyclock.py:55 ../src/common/fuzzyclock.py:63
 msgid "twenty five to $1"
 msgstr "pięć po wpół do $1"
 
-#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+#: ../src/common/fuzzyclock.py:56 ../src/common/fuzzyclock.py:64
 msgid "twenty to $1"
 msgstr "za dwadzieścia $1"
 
-#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+#: ../src/common/fuzzyclock.py:56 ../src/common/fuzzyclock.py:64
 msgid "quarter to $1"
 msgstr "za kwadrans $1"
 
-#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:65
 msgid "ten to $1"
 msgstr "za dziesięć $1"
 
-#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:65
 msgid "five to $1"
 msgstr "za pięć $1"
 
-#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:61
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:66
 msgid "$1 o'clock"
 msgstr "godzina $1"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Night"
 msgstr "Noc"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Early morning"
 msgstr "Wczesny poranek"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Morning"
 msgstr "rano"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Almost noon"
 msgstr "Prawie południe"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Noon"
 msgstr "w południe"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Afternoon"
 msgstr "Popołudnie"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Evening"
 msgstr "wieczorem"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Late evening"
 msgstr "Późny wieczór"
 
-#: ../src/common/fuzzyclock.py:67
+#: ../src/common/fuzzyclock.py:72
 msgid "Start of week"
 msgstr "PoczÄ…tek tygodnia"
 
-#: ../src/common/fuzzyclock.py:67
+#: ../src/common/fuzzyclock.py:72
 msgid "Middle of week"
 msgstr "Åšrodek tygodnia"
 
-#: ../src/common/fuzzyclock.py:67
+#: ../src/common/fuzzyclock.py:72
 msgid "End of week"
 msgstr "Koniec tygodnia"
 
-#: ../src/common/fuzzyclock.py:68
+#: ../src/common/fuzzyclock.py:73
 msgid "Weekend!"
 msgstr "Weekend!"
 
-#: ../src/common/helpers.py:114
+#: ../src/common/helpers.py:120
 msgid "Invalid character in username."
 msgstr "Niepoprawna litera w nazwie użytkownika."
 
-#: ../src/common/helpers.py:119
+#: ../src/common/helpers.py:125
 msgid "Server address required."
 msgstr "Wymagany adres serwera."
 
-#: ../src/common/helpers.py:124
+#: ../src/common/helpers.py:130
 msgid "Invalid character in hostname."
 msgstr "Niepoprawna litera w nazwie hosta."
 
-#: ../src/common/helpers.py:130
+#: ../src/common/helpers.py:136
 msgid "Invalid character in resource."
 msgstr "Niepoprawna litera w zasobach."
 
 #. GiB means gibibyte
-#: ../src/common/helpers.py:170
+#: ../src/common/helpers.py:176
 #, python-format
 msgid "%s GiB"
-msgstr "%s·GiB"
+msgstr "%s GiB"
 
 #. GB means gigabyte
-#: ../src/common/helpers.py:173
+#: ../src/common/helpers.py:179
 #, python-format
 msgid "%s GB"
-msgstr "%s·GB"
+msgstr "%s GB"
 
 #. MiB means mibibyte
-#: ../src/common/helpers.py:177
+#: ../src/common/helpers.py:183
 #, python-format
 msgid "%s MiB"
-msgstr "%s·MiB"
+msgstr "%s MiB"
 
 #. MB means megabyte
-#: ../src/common/helpers.py:180
+#: ../src/common/helpers.py:186
 #, python-format
 msgid "%s MB"
-msgstr "%s·MB"
+msgstr "%s MB"
 
 #. KiB means kibibyte
-#: ../src/common/helpers.py:184
+#: ../src/common/helpers.py:190
 #, python-format
 msgid "%s KiB"
-msgstr "%s·KiB"
+msgstr "%s KiB"
 
 #. KB means kilo bytes
-#: ../src/common/helpers.py:187
+#: ../src/common/helpers.py:193
 #, python-format
 msgid "%s KB"
-msgstr "%s·KB"
+msgstr "%s KB"
 
 #. B means bytes
-#: ../src/common/helpers.py:190
+#: ../src/common/helpers.py:196
 #, python-format
 msgid "%s B"
-msgstr "%s·B"
+msgstr "%s B"
 
-#: ../src/common/helpers.py:219
+#: ../src/common/helpers.py:227
 msgid "_Busy"
 msgstr "_Zajęty"
 
-#: ../src/common/helpers.py:221
+#: ../src/common/helpers.py:229
 msgid "Busy"
 msgstr "Zajęty"
 
-#: ../src/common/helpers.py:224
+#: ../src/common/helpers.py:232
 msgid "_Not Available"
 msgstr "Nie_obecny"
 
-#: ../src/common/helpers.py:229
+#: ../src/common/helpers.py:237
 msgid "_Free for Chat"
 msgstr "_Chętny do rozmowy"
 
-#: ../src/common/helpers.py:231
+#: ../src/common/helpers.py:239
 msgid "Free for Chat"
 msgstr "Chętny do rozmowy"
 
-#: ../src/common/helpers.py:234
+#: ../src/common/helpers.py:242
 msgid "_Available"
 msgstr "_Dostępny"
 
-#: ../src/common/helpers.py:236
-msgid "Available"
-msgstr "Dostępny"
-
-#: ../src/common/helpers.py:238
+#: ../src/common/helpers.py:246
 msgid "Connecting"
 msgstr "Łączę się"
 
-#: ../src/common/helpers.py:241
+#: ../src/common/helpers.py:249
 msgid "A_way"
 msgstr "Zaraz _wracam"
 
-#: ../src/common/helpers.py:246
+#: ../src/common/helpers.py:254
 msgid "_Offline"
 msgstr "R_ozłączony"
 
-#: ../src/common/helpers.py:248
+#: ../src/common/helpers.py:256
 msgid "Offline"
 msgstr "Rozłączony"
 
-#: ../src/common/helpers.py:251
+#: ../src/common/helpers.py:259
 msgid "_Invisible"
 msgstr "N_iewidoczny"
 
-#: ../src/common/helpers.py:257
+#: ../src/common/helpers.py:265
 msgid "?contact has status:Unknown"
 msgstr "?contact ma status: Nieznany"
 
-#: ../src/common/helpers.py:259
+#: ../src/common/helpers.py:267
 msgid "?contact has status:Has errors"
 msgstr "?contact ma status: Wystąpiły błędy"
 
-#: ../src/common/helpers.py:264
+#: ../src/common/helpers.py:272
 msgid "?Subscription we already have:None"
 msgstr "?Posiadane autoryzacje: Brak"
 
-#: ../src/common/helpers.py:266
+#: ../src/common/helpers.py:274
 msgid "To"
 msgstr "Do"
 
-#: ../src/common/helpers.py:270
+#: ../src/common/helpers.py:278
 msgid "Both"
 msgstr "Obustronna"
 
-#: ../src/common/helpers.py:278
+#: ../src/common/helpers.py:286
 msgid "?Ask (for Subscription):None"
 msgstr "?PoproÅ› (o autoryzacjÄ™): Brak"
 
-#: ../src/common/helpers.py:280
+#: ../src/common/helpers.py:288
 msgid "Subscribe"
 msgstr "Autoryzuj"
 
-#: ../src/common/helpers.py:289
+#: ../src/common/helpers.py:297
 msgid "?Group Chat Contact Role:None"
 msgstr "?Funkcja kontaktu w pokoju: Brak"
 
-#: ../src/common/helpers.py:292
+#: ../src/common/helpers.py:300
 msgid "Moderators"
 msgstr "Moderatorzy"
 
-#: ../src/common/helpers.py:294
+#: ../src/common/helpers.py:302
 msgid "Moderator"
 msgstr "Moderator"
 
-#: ../src/common/helpers.py:297
+#: ../src/common/helpers.py:305
 msgid "Participants"
 msgstr "Uczestnicy"
 
-#: ../src/common/helpers.py:299
+#: ../src/common/helpers.py:307
 msgid "Participant"
 msgstr "Uczestnik"
 
-#: ../src/common/helpers.py:302
+#: ../src/common/helpers.py:310
 msgid "Visitors"
 msgstr "Goście"
 
-#: ../src/common/helpers.py:304
+#: ../src/common/helpers.py:312
 msgid "Visitor"
 msgstr "Gość"
 
-#: ../src/common/helpers.py:310
+#: ../src/common/helpers.py:318
 msgid "?Group Chat Contact Affiliation:None"
 msgstr "?PowiÄ…zanie kontaktu z czata: brak"
 
-#: ../src/common/helpers.py:312
+#: ../src/common/helpers.py:320
 msgid "Owner"
 msgstr "Właściciel"
 
-#: ../src/common/helpers.py:314
+#: ../src/common/helpers.py:322
 msgid "Administrator"
 msgstr "Administrator"
 
-#: ../src/common/helpers.py:316
+#: ../src/common/helpers.py:324
 msgid "Member"
 msgstr "Uczestnik"
 
-#: ../src/common/helpers.py:355
+#: ../src/common/helpers.py:363
 msgid "is paying attention to the conversation"
 msgstr "jest skupiony na rozmowie"
 
-#: ../src/common/helpers.py:357
+#: ../src/common/helpers.py:365
 msgid "is doing something else"
 msgstr "robi coÅ› innego"
 
-#: ../src/common/helpers.py:359
+#: ../src/common/helpers.py:367
 msgid "is composing a message..."
 msgstr "pisze wiadomość..."
 
 #. paused means he or she was composing but has stopped for a while
-#: ../src/common/helpers.py:362
+#: ../src/common/helpers.py:370
 msgid "paused composing a message"
 msgstr "przerwał pisanie wiadomości"
 
-#: ../src/common/helpers.py:364
+#: ../src/common/helpers.py:372
 msgid "has closed the chat window or tab"
 msgstr "zamknÄ…Å‚ okno lub kartÄ™ rozmowy"
 
-#: ../src/common/helpers.py:890
+#: ../src/common/helpers.py:931 ../src/common/helpers.py:938
 #, python-format
-msgid " %d unread message"
-msgid_plural " %d unread messages"
-msgstr[0] "%d nieprzeczytana wiadomość"
-msgstr[1] "%d nieprzeczytane wiadomości"
-msgstr[2] "Gajim - %d nieprzeczytane wiadomości"
+msgid "%d message pending"
+msgid_plural "%d messages pending"
+msgstr[0] "%d oczekująca wiadomość"
+msgstr[1] "%d oczekujące wiadomości"
+msgstr[2] "%d oczekujących wiadomości"
 
-#: ../src/common/helpers.py:896
+#: ../src/common/helpers.py:944
 #, python-format
-msgid " %d unread single message"
-msgid_plural " %d unread single messages"
-msgstr[0] "%d nieprzeczytana wiadomość"
-msgstr[1] "%d nieprzeczytane wiadomości"
-msgstr[2] "Gajim - %d nieprzeczytane wiadomości"
+msgid " from room %s"
+msgstr " z pokoju %s"
 
-#: ../src/common/helpers.py:902
+#: ../src/common/helpers.py:947 ../src/common/helpers.py:966
 #, python-format
-msgid " %d unread group chat message"
-msgid_plural " %d unread group chat messages"
-msgstr[0] "%d nieprzeczytana wiadomość z czatu"
-msgstr[1] "%d nieprzeczytane wiadomości z czatu"
-msgstr[2] "Gajim - %d nieprzeczytane wiadomości"
+msgid " from user %s"
+msgstr " od użytkownika %s"
 
-#: ../src/common/helpers.py:908
+#: ../src/common/helpers.py:949
 #, python-format
-msgid " %d unread private message"
-msgid_plural " %d unread private messages"
-msgstr[0] "%d nieprzeczytana wiadomość prywatna"
-msgstr[1] "%d nieprzeczytane wiadomości prywatne"
-msgstr[2] "Gajim - %d nieprzeczytane wiadomości"
+msgid " from %s"
+msgstr " od %s"
+
+#: ../src/common/helpers.py:956 ../src/common/helpers.py:963
+#, python-format
+msgid "%d event pending"
+msgid_plural "%d events pending"
+msgstr[0] "%d oczekująca wiadomość"
+msgstr[1] "%d oczekujące wiadomości"
+msgstr[2] "%d oczekujących wiadomości"
 
-#: ../src/common/helpers.py:918 ../src/common/helpers.py:920
+#: ../src/common/helpers.py:996
 #, python-format
 msgid "Gajim - %s"
 msgstr "Gajim - %s"
 
 #. we talk about a file
-#: ../src/common/optparser.py:59
+#: ../src/common/optparser.py:65
 #, python-format
 msgid "error: cannot open %s for reading"
 msgstr "błąd: nie można otworzyć %s do odczytu"
 
-#: ../src/common/optparser.py:181
-msgid "gtk+"
-msgstr "gtk+"
-
-#: ../src/common/optparser.py:190 ../src/common/optparser.py:191
+#: ../src/common/optparser.py:214 ../src/common/optparser.py:215
 msgid "cyan"
 msgstr "cyjan"
 
-#: ../src/common/optparser.py:308
+#: ../src/common/optparser.py:331
 msgid "migrating logs database to indices"
 msgstr "indeksowanie archiwum rozmów"
 
-#: ../src/common/passwords.py:82
+#: ../src/common/passwords.py:88
 #, python-format
 msgid "Gajim account %s"
 msgstr "Konto Gajim'a %s"
 
-#: ../src/common/zeroconf/client_zeroconf.py:187
+#: ../src/common/zeroconf/client_zeroconf.py:140
+#: ../src/common/zeroconf/client_zeroconf.py:223
+msgid "Connection to host could not be established"
+msgstr "Nie można ustanowić połączenia z hostem"
+
+#: ../src/common/zeroconf/client_zeroconf.py:197
 msgid ""
 "Connection to host could not be established: Incorrect answer from server."
 msgstr "Nie można ustanowić połączenia z hostem. Nieprawidłowa odpowiedź."
 
-#: ../src/common/zeroconf/client_zeroconf.py:215
-msgid "Connection to host could not be established"
-msgstr "Nie można ustanowić połączenia z hostem"
-
-#: ../src/common/zeroconf/client_zeroconf.py:349
+#: ../src/common/zeroconf/client_zeroconf.py:357
 msgid ""
 "Connection to host could not be established: Timeout while sending data."
 msgstr ""
 "Nie można ustanowić połączenia z hostem. Timeout podczas wysyłania danych."
 
-#: ../src/common/zeroconf/client_zeroconf.py:642
+#: ../src/common/zeroconf/client_zeroconf.py:643
 msgid "Contact is offline. Your message could not be sent."
 msgstr "Kontakt jest rozłączony. Twoja wiadomość nie mogła zostać wysłana."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:203
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:243
+#, python-format
+msgid ""
+"The host %s you configured as the ft_add_hosts_to_send advanced option is "
+"not valid, so ignored."
+msgstr ""
+"Nazwa hosta %s, którą określiłeś w opcji ft_add_hosts_to_send jest "
+"niepoprawna, będzie więc ignorowana."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:209
 msgid "To continue sending and receiving messages, you will need to reconnect."
 msgstr "Aby dalej wysyłać i odbierać wiadomości musisz się ponownie połączyć."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:226
+#: ../src/common/zeroconf/connection_zeroconf.py:232
 msgid "Avahi error"
 msgstr "BÅ‚Ä…d Avahi"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:226
+#: ../src/common/zeroconf/connection_zeroconf.py:232
 #, python-format
 msgid ""
 "%s\n"
@@ -7066,31 +7765,31 @@ msgstr ""
 "%s\n"
 "Przesyłanie wiadomości między adresami link-local może nie działać poprawnie."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:237
+#: ../src/common/zeroconf/connection_zeroconf.py:243
 msgid "Please check if Avahi is installed."
 msgstr "Proszę sprawdzić czy zainstalowano Avahi."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:246
-#: ../src/common/zeroconf/connection_zeroconf.py:250
+#: ../src/common/zeroconf/connection_zeroconf.py:252
+#: ../src/common/zeroconf/connection_zeroconf.py:256
 msgid "Could not start local service"
 msgstr "Nie można uruchomić usługi lokalnej"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:247
+#: ../src/common/zeroconf/connection_zeroconf.py:253
 #, python-format
 msgid "Unable to bind to port %d."
 msgstr "Nie można podłączyć się do portu %d."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:251
-#: ../src/common/zeroconf/connection_zeroconf.py:345
+#: ../src/common/zeroconf/connection_zeroconf.py:257
+#: ../src/common/zeroconf/connection_zeroconf.py:352
 msgid "Please check if avahi-daemon is running."
 msgstr "Proszę sprawdzić czy uruchomiony jest demon Avahi."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:344
+#: ../src/common/zeroconf/connection_zeroconf.py:351
 #, python-format
 msgid "Could not change status of account \"%s\""
 msgstr "Nie można zmienić statusu konta \"%s\""
 
-#: ../src/common/zeroconf/connection_zeroconf.py:361
+#: ../src/common/zeroconf/connection_zeroconf.py:368
 msgid ""
 "You are not connected or not visible to others. Your message could not be "
 "sent."
@@ -7099,15 +7798,265 @@ msgstr ""
 "mogła zostać wysłana."
 
 #. we're not english
-#: ../src/common/zeroconf/connection_zeroconf.py:373
+#: ../src/common/zeroconf/connection_zeroconf.py:380
 msgid "[This message is encrypted]"
 msgstr "[Ta wiadomość jest zaszyfrowana]"
 
-#: ../src/common/zeroconf/zeroconf.py:180
+#: ../src/common/zeroconf/zeroconf_avahi.py:183
+#: ../src/common/zeroconf/zeroconf_bonjour.py:192
 #, python-format
 msgid "Error while adding service. %s"
 msgstr "Błąd przy dodawaniu usługi %s"
 
+#~ msgid ""
+#~ "To continue, Gajim needs to access your stored secrets. Enter your "
+#~ "passphrase"
+#~ msgstr ""
+#~ "Aby kontynuować, Gajim musi uzyskać dostęp do Twoich haseł. Proszę podać "
+#~ "hasło główne"
+
+#~ msgid "Confirm Passphrase"
+#~ msgstr "Potwierdź hasło"
+
+#~ msgid "Enter your new passphrase again for confirmation"
+#~ msgstr "Wpisz ponownie nowe hasło"
+
+#~ msgid "Create Passphrase"
+#~ msgstr "Utwórz hasło"
+
+#~ msgid "Passphrases did not match.\n"
+#~ msgstr "Hasła nie zgadzają się.\n"
+
+#~ msgid "Gajim needs you to create a passphrase to encrypt stored secrets"
+#~ msgstr "Proszę podać hasło główne służące do zaszyfrowania danych poufnych"
+
+#~ msgid "Build custom query"
+#~ msgstr "Stwórz własne zapytanie"
+
+#~ msgid ""
+#~ "Enter a contact jid or MUC jid here to view its history.\n"
+#~ "If a contact is connected you can even enter his nick name.\n"
+#~ msgstr ""
+#~ "Wprowadź nazwę użytkownika z rostera lub czatu aby przejrzeć historię "
+#~ "rozmów.\n"
+#~ "Jeżeli jest połączony, możesz podać jego nazwę.\n"
+
+#~ msgid "Query Builder..."
+#~ msgstr "Kreator zapytań..."
+
+#~ msgid "_Discover Services..."
+#~ msgstr "_Wyszukuj usługi..."
+
+#~ msgid "_Retype Password:"
+#~ msgstr "_Powtórz hasło:"
+
+#~ msgid "_Use proxy"
+#~ msgstr "_Korzystaj z pośrednika"
+
+#~ msgid "Accounts"
+#~ msgstr "Konta"
+
+#~ msgid ""
+#~ "If checked, all local contacts that use a Bonjour compatible chat client "
+#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to "
+#~ "be connected to a jabber server for it to work.\n"
+#~ "This is only available if python-avahi is installed and avahi-daemon is "
+#~ "running."
+#~ msgstr ""
+#~ "Jeżeli opcja ta zostanie uaktywniona, znajdujące się w twojej sieci "
+#~ "lokalnej kontakty używające klienta wykorzystującego technologię Bonjour "
+#~ "(jak iChat, Trillian czy Gaim) pojawią się na rosterze. Nie musisz łączyć "
+#~ "się z serwerem Jabbera, by z nimi rozmawiać."
+
+#~ msgid ""
+#~ "If you have 2 or more accounts and this is checked, Gajim will list all "
+#~ "contacts as if you had one account"
+#~ msgstr ""
+#~ "Jeśli masz dwa konta lub więcej, to dzięki tej opcji Gajim pokaże "
+#~ "wszystkie kontakty w taki sposób, jakby było to jedno konto"
+
+#~ msgid "_Enable link-local messaging"
+#~ msgstr "_Uaktywnij przesyłanie wiadomości do adresów link-local"
+
+#~ msgid "_Modify"
+#~ msgstr "_Edytuj"
+
+#~ msgid "_Blocked Contacts"
+#~ msgstr "_Kontakty zablokowane"
+
+#~ msgid "_Compact View    Alt+C"
+#~ msgstr "Widok _zwarty    Alt+C"
+
+#~ msgid "<b>Interface Customization</b>"
+#~ msgstr "<b>WÅ‚asne ustawienia interfejsu</b>"
+
+#~ msgid "Also known as iChat style"
+#~ msgstr "Znany także jako styl iChat"
+
+#~ msgid "Chat"
+#~ msgstr "Rozmowa"
+
+#~ msgid "E_very 5 minutes"
+#~ msgstr "Co 5 _minut"
+
+#~ msgid ""
+#~ "Gajim will automatically show new events by popping up the relevant window"
+#~ msgstr ""
+#~ "Gajim automatycznie wyświetli nową wiadomość w nowym oknie lub w nowej "
+#~ "karcie otwartego okna rozmowy"
+
+#~ msgid ""
+#~ "Gajim will notify you for new events via a popup in the bottom right of "
+#~ "the screen"
+#~ msgstr ""
+#~ "Gajim powiadomi Cię o nadejściu nowej wiadomości wyświetlając okienko w "
+#~ "prawym dolnym rogu ekranu"
+
+#~ msgid ""
+#~ "Gajim will notify you via a popup window in the bottom right of the "
+#~ "screen about contacts that just signed in"
+#~ msgstr ""
+#~ "Gajim powiadomi automatycznie przy pomocy okna w prawym dolnym rogu o "
+#~ "kontaktach, które zmieniają status na Dostępny"
+
+#~ msgid ""
+#~ "Gajim will only change the icon of the contact that triggered the new "
+#~ "event"
+#~ msgstr "Gajim zmieni jedynie ikonę kontaktu, który przysłał nową wiadomość"
+
+#~ msgid ""
+#~ "If checked, Gajim will remember the roster and chat window positions in "
+#~ "the screen and the sizes of them next time you run it"
+#~ msgstr ""
+#~ "Zaznaczenie tej opcji spowoduje zapamiętanie położenia głównego okna "
+#~ "programu na ekranie oraz jego rozmiaru"
+
+#~ msgid "On every _message"
+#~ msgstr "W każdej _wiadomości"
+
+#~ msgid "Outgoing Chat state noti_fications:"
+#~ msgstr "Wysyłanie powiadomienia o stanie _rozmowy:"
+
+#~ msgid "Print time:"
+#~ msgstr "Wyświetlaj czas:"
+
+#~ msgid "Save _position and size for roster and chat windows"
+#~ msgstr "Zapisz _pozycję i rozmiar okna kontaktów i okna rozmowy"
+
+#~ msgid "Show only in _roster"
+#~ msgstr "Pokaż tylko _listę kontaktów"
+
+#~ msgid "Use t_rayicon (aka. notification area icon)"
+#~ msgstr "_Ikona w obszarze powiadamiania"
+
+#~ msgid ""
+#~ "When a new event (message, file transfer request etc..) is received, the "
+#~ "following methods may be used to inform you about it. Please note that "
+#~ "events about new messages only occur if it is a new message from a "
+#~ "contact you are not already chatting with"
+#~ msgstr ""
+#~ "Kiedy pojawi się nowe zdarzenie (wiadomość, prośba o przesłanie pliku "
+#~ "itp.), możesz zostać o tym powiadomiony na takie sposoby. UWAGA: Nowa "
+#~ "wiadomość pojawia się jeśli nie pochodzi od osoby, z którą aktualnie "
+#~ "rozmawiasz"
+
+#~ msgid "_Never"
+#~ msgstr "_Nigdy"
+
+#~ msgid "_Notify me about it"
+#~ msgstr "Powia_dom mnie o tym"
+
+#~ msgid "_Pop it up"
+#~ msgstr "_Wyświetl"
+
+#~ msgid "Send cus_tom status"
+#~ msgstr "Wyślij _odrębny status"
+
+#~ msgid "_Remove from Roster"
+#~ msgstr "_Usuń z listy kontaktów"
+
+#~ msgid "_Filter:"
+#~ msgstr "_Filtr:"
+
+#~ msgid "Click to force avatar"
+#~ msgstr "Kliknij aby ustawić avatar"
+
+#~ msgid ""
+#~ "If that is not your language for which you want to highlight misspelled "
+#~ "words, then please set your $LANG as appropriate. Eg. for French do "
+#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to "
+#~ "make it global in /etc/profile.\n"
+#~ "\n"
+#~ "Highlighting misspelled words feature will not be used"
+#~ msgstr ""
+#~ "Jeśli podświetlanie błędów w pisowni działa dla niewłaściwego języka, to "
+#~ "ustaw odpowiednio zmienną środowiskową $LANG. Np. dla języka polskiego "
+#~ "wpisz export LANG=pl_PL do pliku ~/.bash_profile lub globalnie do pliku "
+#~ "in /etc/profile.\n"
+#~ "\n"
+#~ "Podświedlanie błędów w pisowni nie będzie używane"
+
+#~ msgid "Every %s _minutes"
+#~ msgstr "Co %s _minut"
+
+#~ msgid "You must enter a password for the new account."
+#~ msgstr "Musisz wpisać hasło dla nowego konta."
+
+#~ msgid "Blocked Contacts for %s"
+#~ msgstr "Kontakty zablokowane (dla %s)"
+
+#~ msgid "%s does not appear to be a valid JID"
+#~ msgstr "%s nie wyglÄ…da na poprawny JID"
+
+#~ msgid "Drop %s in group %s"
+#~ msgstr "Usuń %s z grupy %s"
+
+#~ msgid "Make %s and %s metacontacts"
+#~ msgstr "Przekształć %s oraz %s w metakontakty"
+
+#~ msgid "Hides the buttons in two persons chat window."
+#~ msgstr "Ukrywa przyciski podczas rozmowy dwóch osób."
+
+#~ msgid "Security error connecting to \"%s\""
+#~ msgstr "Błąd zabezpieczeń przy połączeniu z \"%s\""
+
+#~ msgid ""
+#~ "The server's key has changed, or someone is trying to hack your "
+#~ "connection."
+#~ msgstr ""
+#~ "Zmienił się klucz twojego serwera lub ktoś próbuje podsłuchać połączenie."
+
+#~ msgid "Unable to check fingerprint for %s. Connection could be insecure."
+#~ msgstr ""
+#~ "Nie można sprawdzić odcisku klucza %s. Połączenie może nie być bezpieczne"
+
+#~ msgid "Missing fingerprint in SSL connection to %s"
+#~ msgstr "Brak odcisku klucza w połączeniu SSL z %s"
+
+#~ msgid "Fingerprint mismatch for %s: Got %s, expected %s"
+#~ msgstr "Niezgodność odcisku klucza %s. Oczekiwano %s, otrzymano %s"
+
+#~ msgid " %d unread single message"
+#~ msgid_plural " %d unread single messages"
+#~ msgstr[0] "%d nieprzeczytana wiadomość"
+#~ msgstr[1] "%d nieprzeczytane wiadomości"
+#~ msgstr[2] "Gajim - %d nieprzeczytane wiadomości"
+
+#~ msgid " %d unread group chat message"
+#~ msgid_plural " %d unread group chat messages"
+#~ msgstr[0] "%d nieprzeczytana wiadomość z czatu"
+#~ msgstr[1] "%d nieprzeczytane wiadomości z czatu"
+#~ msgstr[2] "Gajim - %d nieprzeczytane wiadomości"
+
+#~ msgid " %d unread private message"
+#~ msgid_plural " %d unread private messages"
+#~ msgstr[0] "%d nieprzeczytana wiadomość prywatna"
+#~ msgstr[1] "%d nieprzeczytane wiadomości prywatne"
+#~ msgstr[2] "Gajim - %d nieprzeczytane wiadomości"
+
+#~ msgid "gtk+"
+#~ msgstr "gtk+"
+
 #~ msgid "2003-12-13T18:30:02Z"
 #~ msgstr "2003-12-13T18:30:02Z"
 
@@ -7177,9 +8126,6 @@ msgstr "Błąd przy dodawaniu usługi %s"
 #~ msgid "Role: "
 #~ msgstr "Funkcja: "
 
-#~ msgid "Affiliation: "
-#~ msgstr "Afiliacja: "
-
 #~ msgid ""
 #~ "Sound to play when any MUC message arrives. (This setting is taken into "
 #~ "account only if notify_on_all_muc_messages is True)"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 6be0cf0d5b2be260d287706ff42bfd4e8fa89b0f..7a001548937c32691c36a849d3bc85e408f1a427 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -5,17 +5,17 @@
 #
 # junix <junix@targetlinux.org>, 2005.
 # Gajim <gajim-devel@gajim.org>, 2007.
-#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210
-#: ../src/gajim-remote.py:236 ../src/gajim-remote.py:237
-#: ../src/gajim-remote.py:243 ../src/gajim-remote.py:244
-#: ../src/gajim-remote.py:245 ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:220 ../src/gajim-remote.py:227
+#: ../src/gajim-remote.py:253 ../src/gajim-remote.py:254
+#: ../src/gajim-remote.py:260 ../src/gajim-remote.py:261
+#: ../src/gajim-remote.py:262 ../src/gajim-remote.py:263
 msgid ""
 msgstr ""
 "Project-Id-Version: pt_BR\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-04-19 18:15+0200\n"
-"PO-Revision-Date: 2007-04-19 12:44-0300\n"
-"Last-Translator: Gajim <gajim-devel@gajim.org>\n"
+"POT-Creation-Date: 2007-11-28 20:33+0100\n"
+"PO-Revision-Date: 2007-11-28 11:55-0300\n"
+"Last-Translator: Davidson Paulo <dpaulo@fedoraproject.org>\n"
 "Language-Team: Português Brasileiro <gajim-devel@gajim.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -38,36 +38,36 @@ msgid "Jabber IM Client"
 msgstr "Cliente de IM Jabber"
 
 #: ../data/glade/account_context_menu.glade.h:1
-msgid "Send Single _Message..."
-msgstr "Enviar _Mensagem Simples..."
+#: ../data/glade/roster_window.glade.h:8
+msgid "Join _Group Chat..."
+msgstr "_Entrar em uma Conferência..."
 
 #: ../data/glade/account_context_menu.glade.h:2
 msgid "_Add Contact..."
 msgstr "_Adicionar Contato..."
 
 #: ../data/glade/account_context_menu.glade.h:3
-msgid "_Discover Services..."
-msgstr "_Procurar Serviços..."
+#: ../data/glade/roster_window.glade.h:15
+msgid "_Discover Services"
+msgstr "_Descubra Serviços"
 
 #: ../data/glade/account_context_menu.glade.h:4
 msgid "_Execute Command..."
 msgstr "_Executar Comando"
 
 #: ../data/glade/account_context_menu.glade.h:5
-#: ../data/glade/roster_window.glade.h:16
-#: ../data/glade/systray_context_menu.glade.h:6
-msgid "_Group Chat"
-msgstr "_Conferência"
+msgid "_Modify Account"
+msgstr "_Alterar Conta"
 
 #: ../data/glade/account_context_menu.glade.h:6
-#: ../data/glade/zeroconf_context_menu.glade.h:1
-msgid "_Modify Account..."
-msgstr "_Alterar Conta..."
-
-#: ../data/glade/account_context_menu.glade.h:7
 msgid "_Open Gmail Inbox"
 msgstr "_Abrir Caixa de Entrada do Gmail"
 
+#: ../data/glade/account_context_menu.glade.h:7
+#: ../data/glade/roster_window.glade.h:23
+msgid "_Start Chat..."
+msgstr "_Iniciar Conversa..."
+
 #: ../data/glade/account_context_menu.glade.h:8
 #: ../data/glade/zeroconf_context_menu.glade.h:2
 msgid "_Status"
@@ -75,11 +75,11 @@ msgstr "_Status"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:1
 msgid ""
-"<b>Account is being created</b>\n"
+"<b>Connecting to server</b>\n"
 "\n"
 "Please wait..."
 msgstr ""
-"<b>Sua conta está sendo criada</b>\n"
+"<b>Conectando ao servidor</b>\n"
 "\n"
 "Por favor aguarde..."
 
@@ -92,51 +92,68 @@ msgid "<b>Please fill in the data for your new account</b>"
 msgstr "<b>Por favor preencha os dados da sua nova conta</b>"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:6
+msgid "<b>Please select a server</b>"
+msgstr "<b>Por favor, selecione um servidor</b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:7
 msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
 msgstr ""
 "Clique para ver os recursos do servidor jabber (como transportes MSN, ICQ, "
 "etc)"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:7
+#: ../data/glade/account_creation_wizard_window.glade.h:8
 msgid "Connect when I press Finish"
 msgstr "Conectar quando eu clicar em Fim"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:8
+#: ../data/glade/account_creation_wizard_window.glade.h:9
 msgid "Gajim: Account Creation Wizard"
 msgstr "Gajim: Assistente de Configuração de Conta"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:9
-msgid "I already have an account I want to use"
-msgstr "Eu já tenho uma conta e quero usá-la"
-
 #: ../data/glade/account_creation_wizard_window.glade.h:10
+msgid "I already have an account I want to _use"
+msgstr "Eu já tenho uma conta e quero _usá-la"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:11
 msgid "I want to _register for a new account"
 msgstr "Eu quero _registrar uma nova conta"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:11
-#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/account_creation_wizard_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/accounts_window.glade.h:23
 msgid "If checked, Gajim will remember the password for this account"
 msgstr "Se marcado, o Gajim lembrará a senha para esta conta"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:12
-#: ../data/glade/manage_proxies_window.glade.h:7
-msgid "Pass_word:"
-msgstr "_Senha:"
-
 #: ../data/glade/account_creation_wizard_window.glade.h:13
-#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/account_modification_window.glade.h:26
+#: ../data/glade/accounts_window.glade.h:32
+msgid "Manage..."
+msgstr "Gerenciar..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:14
+msgid "Prox_y:"
+msgstr "Prox_y:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/accounts_window.glade.h:47
 msgid "Save pass_word"
 msgstr "Salvar senha"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:14
+#: ../data/glade/account_creation_wizard_window.glade.h:16
 msgid "Servers Features"
 msgstr "Recursos dos Servidores"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_creation_wizard_window.glade.h:17
 msgid "Set my profile when I connect"
 msgstr "Configurar perfil quando eu conectar"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:16
+#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/accounts_window.glade.h:53
+msgid "Use custom hostname/port"
+msgstr "Usa nome de máquina/porta customizados"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:19
 msgid ""
 "You need to have an account in order to connect\n"
 "to the Jabber network."
@@ -144,67 +161,63 @@ msgstr ""
 "Você precisa ter uma conta para conectar na\n"
 "rede Jabber."
 
-#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_creation_wizard_window.glade.h:21
 msgid "Your JID:"
 msgstr "Seu JID:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:19
-#: ../data/glade/roster_window.glade.h:11
+#: ../data/glade/account_creation_wizard_window.glade.h:22
+#: ../data/glade/roster_window.glade.h:13
 msgid "_Advanced"
 msgstr "_Avançado"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:20
+#: ../data/glade/account_creation_wizard_window.glade.h:23
 msgid "_Finish"
 msgstr "_Concluir"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:21
-#: ../data/glade/manage_proxies_window.glade.h:10
-msgid "_Host:"
-msgstr "_Computador:"
+#: ../data/glade/account_creation_wizard_window.glade.h:24
+msgid "_Hostname:"
+msgstr "_Nome do Computador:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:22
-#: ../data/glade/account_modification_window.glade.h:49
+#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_modification_window.glade.h:50
+#: ../data/glade/accounts_window.glade.h:58
 msgid "_Password:"
 msgstr "_Senha:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:23
+#: ../data/glade/account_creation_wizard_window.glade.h:26
 #: ../data/glade/manage_proxies_window.glade.h:11
 msgid "_Port:"
 msgstr "_Porta:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:24
-msgid "_Retype Password:"
-msgstr "_Reescreva a Senha:"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_creation_wizard_window.glade.h:27
 msgid "_Server:"
 msgstr "_Servidor:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:26
-msgid "_Use proxy"
-msgstr "_Usar proxy"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:27
+#: ../data/glade/account_creation_wizard_window.glade.h:28
 #: ../data/glade/manage_proxies_window.glade.h:12
 msgid "_Username:"
 msgstr "Nome de _usuário"
 
 #: ../data/glade/account_modification_window.glade.h:1
+#: ../data/glade/accounts_window.glade.h:1
 #: ../data/glade/preferences_window.glade.h:8
 msgid "<b>Miscellaneous</b>"
 msgstr "<b>Diversos</b>"
 
 #: ../data/glade/account_modification_window.glade.h:2
+#: ../data/glade/accounts_window.glade.h:2
 #: ../data/glade/zeroconf_properties_window.glade.h:1
 msgid "<b>OpenPGP</b>"
 msgstr "<b>OpenPGP</b>"
 
 #: ../data/glade/account_modification_window.glade.h:3
+#: ../data/glade/accounts_window.glade.h:3
 #: ../data/glade/zeroconf_properties_window.glade.h:2
 msgid "<b>Personal Information</b>"
 msgstr "<b>Informações Pessoais</b>"
 
 #: ../data/glade/account_modification_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:4
 msgid "Account"
 msgstr "Conta"
 
@@ -213,23 +226,28 @@ msgid "Account Modification"
 msgstr "Alteração da Conta"
 
 #: ../data/glade/account_modification_window.glade.h:6
+#: ../data/glade/accounts_window.glade.h:5
 msgid "Administration operations"
 msgstr "Operações de administração"
 
 #: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/accounts_window.glade.h:6
 msgid "Auto-reconnect when connection is lost"
 msgstr "Reconectar automaticamente quando a conexão cair"
 
 #: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/accounts_window.glade.h:7
 #: ../data/glade/zeroconf_properties_window.glade.h:3
 msgid "C_onnect on Gajim startup"
 msgstr "C_onectar na inicialização do Gajim"
 
 #: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/accounts_window.glade.h:8
 msgid "Chan_ge Password"
 msgstr "Alterar Senha"
 
 #: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/accounts_window.glade.h:9
 msgid ""
 "Check this so Gajim will connect in port 5223 where legacy servers are "
 "expected to have SSL capabilities. Note that Gajim uses TLS encryption by "
@@ -242,42 +260,60 @@ msgstr ""
 "TLS será desabilitado"
 
 #: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/accounts_window.glade.h:10
 #: ../data/glade/zeroconf_properties_window.glade.h:4
 msgid "Choose _Key..."
 msgstr "_Escolha a chave..."
 
 #: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/accounts_window.glade.h:11
 msgid "Click to change account's password"
 msgstr "Clique para mudar a senha da conta"
 
 #: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/accounts_window.glade.h:12
+msgid "Click to request authorization to all contacts of another account"
+msgstr ""
+"Clique para requisitar autorização para todos os contatos de outra conta"
+
+#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/accounts_window.glade.h:13
 msgid "Connection"
 msgstr "Conexão"
 
-#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/account_modification_window.glade.h:15
+#: ../data/glade/accounts_window.glade.h:15
 msgid "Edit Personal Information..."
 msgstr "Editar detalhes pessoais..."
 
-#: ../data/glade/account_modification_window.glade.h:15
-#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:458
-#: ../src/notify.py:480 ../src/notify.py:492 ../src/common/helpers.py:914
+#. No configured account
+#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/accounts_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:6 ../src/notify.py:489
+#: ../src/notify.py:520 ../src/notify.py:532 ../src/common/helpers.py:998
+#: ../src/common/helpers.py:1010
 msgid "Gajim"
 msgstr "Gajim"
 
-#: ../data/glade/account_modification_window.glade.h:16
-#: ../data/glade/preferences_window.glade.h:51
+#. General group cannot be changed
+#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/accounts_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:45
 #: ../data/glade/zeroconf_properties_window.glade.h:7
-#: ../src/roster_window.py:347 ../src/roster_window.py:1225
-#: ../src/roster_window.py:1435 ../src/roster_window.py:2114
-#: ../src/roster_window.py:2156 ../src/common/contacts.py:284
+#: ../src/roster_window.py:372 ../src/roster_window.py:637
+#: ../src/roster_window.py:1384 ../src/roster_window.py:1760
+#: ../src/roster_window.py:2147 ../src/roster_window.py:2661
+#: ../src/roster_window.py:2779 ../src/common/contacts.py:314
 msgid "General"
 msgstr "Geral"
 
-#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/accounts_window.glade.h:20
 msgid "Hostname: "
 msgstr "Nome do Computador:"
 
-#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/accounts_window.glade.h:21
 msgid ""
 "If checked, Gajim will also broadcast some more IPs except from just your "
 "IP, so file transfer has higher chances of working."
@@ -286,7 +322,8 @@ msgstr ""
 "então a transferência de arquivo tem grandes possibilidades de executar "
 "corretamente."
 
-#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/accounts_window.glade.h:24
 msgid ""
 "If checked, Gajim will send keep-alive packets to prevent connection timeout "
 "which results in disconnection"
@@ -294,7 +331,7 @@ msgstr ""
 "Se marcado, o Gajim enviará pacotes keep-alive para prevenir timeout na "
 "conexão, fazendo-a cair"
 
-#: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/account_modification_window.glade.h:22
 #: ../data/glade/zeroconf_properties_window.glade.h:8
 msgid ""
 "If checked, Gajim will store the password in ~/.gajim/config with 'read' "
@@ -303,7 +340,8 @@ msgstr ""
 "Se checado, o Gajim gravará sua senha em ~/.gajim/config com permissão de "
 "'leitura' somente para você"
 
-#: ../data/glade/account_modification_window.glade.h:22
+#: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/accounts_window.glade.h:25
 #: ../data/glade/zeroconf_properties_window.glade.h:9
 msgid ""
 "If checked, Gajim, when launched, will automatically connect to jabber using "
@@ -312,7 +350,8 @@ msgstr ""
 "Se marcado, o Gajim, quando carregado, conectará automaticamente ao jabber "
 "usando esta conta"
 
-#: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/account_modification_window.glade.h:24
+#: ../data/glade/accounts_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:10
 msgid ""
 "If checked, any change to the global status (handled by the combobox at the "
@@ -322,46 +361,50 @@ msgstr ""
 "Se marcada, o status deste cliente será alterado de acordo com qualquer "
 "mudança no status global (definido pela caixa no fundo da janela da lista)"
 
-#: ../data/glade/account_modification_window.glade.h:24
+#: ../data/glade/account_modification_window.glade.h:25
+#: ../data/glade/accounts_window.glade.h:29
 msgid "Information about you, as stored in the server"
 msgstr "Informações sobre você são gravadas no servidor"
 
-#: ../data/glade/account_modification_window.glade.h:25
-msgid "Manage..."
-msgstr "Gerenciar..."
-
-#: ../data/glade/account_modification_window.glade.h:26
-#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1623
-#: ../src/config.py:3301
+#: ../data/glade/account_modification_window.glade.h:27
+#: ../data/glade/accounts_window.glade.h:34
+#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1551
+#: ../src/config.py:2028
 msgid "No key selected"
 msgstr "Nenhuma chave selecionada"
 
 #. None means no proxy profile selected
 #. GPG Key
-#: ../data/glade/account_modification_window.glade.h:28 ../src/config.py:1196
-#: ../src/config.py:1201 ../src/config.py:1385 ../src/config.py:1613
-#: ../src/config.py:1622 ../src/config.py:1682 ../src/config.py:1756
-#: ../src/config.py:3291 ../src/config.py:3300 ../src/dialogs.py:281
-#: ../src/dialogs.py:283 ../src/roster_window.py:1539
-#: ../src/roster_window.py:1546 ../src/roster_window.py:1553
+#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/accounts_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1142
+#: ../src/config.py:1213 ../src/config.py:1460 ../src/config.py:1465
+#: ../src/config.py:1926 ../src/config.py:2013 ../src/config.py:2027
+#: ../src/config.py:3109 ../src/config.py:3155 ../src/dialogs.py:344
+#: ../src/dialogs.py:346 ../src/roster_window.py:1864
+#: ../src/roster_window.py:1871 ../src/roster_window.py:1878
 msgid "None"
 msgstr "Nenhum"
 
-#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/accounts_window.glade.h:37
 #: ../data/glade/profile_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:17
 msgid "Personal Information"
 msgstr "Informações Pessoais"
 
-#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/accounts_window.glade.h:38
 msgid "Port: "
 msgstr "Porta:"
 
-#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/accounts_window.glade.h:39
 msgid "Priori_ty:"
 msgstr "_Prioridade"
 
-#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/accounts_window.glade.h:40
 msgid ""
 "Priority is used in Jabber to determine who gets the events from the jabber "
 "server when two or more clients are connected using the same account; The "
@@ -371,19 +414,23 @@ msgstr ""
 "servidor jabber quando dois ou mais clientes estão conectados usando a mesma "
 "conta; O cliente com a maior prioridade receberá os eventos"
 
-#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/accounts_window.glade.h:41
 msgid "Priority will change automatically according to your status."
 msgstr "A prioridade será alterada automaticamente de acordo com o seu status"
 
-#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/accounts_window.glade.h:42
 msgid "Proxy:"
 msgstr "Proxy:"
 
-#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/accounts_window.glade.h:44
 msgid "Resour_ce:"
 msgstr "Recur_so:"
 
-#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/accounts_window.glade.h:45
 msgid ""
 "Resource is sent to the Jabber server in order to separate the same JID in "
 "two or more parts depending on the number of the clients connected in the "
@@ -397,95 +444,137 @@ msgstr ""
 "conta com o recurso 'Casa' e 'Trabalho' ao mesmo tempo. O recurso que "
 "possuir a maior prioridade receberá os eventos. (veja abaixo)"
 
-#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/account_modification_window.glade.h:38
 #: ../data/glade/zeroconf_properties_window.glade.h:18
 msgid "Save _passphrase (insecure)"
 msgstr "Salvar _frase de acesso (inseguro)"
 
-#: ../data/glade/account_modification_window.glade.h:38
+#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/accounts_window.glade.h:46
 #: ../data/glade/zeroconf_properties_window.glade.h:19
 msgid "Save conversation _logs for all contacts"
 msgstr "Salvar histórico para todos os contatos desta conta"
 
-#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/accounts_window.glade.h:48
 msgid "Send keep-alive packets"
 msgstr "Enviar pacotes para manter a conexão (keep-alive)"
 
-#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/accounts_window.glade.h:49
 #: ../data/glade/zeroconf_properties_window.glade.h:20
 msgid "Synch_ronize account status with global status"
 msgstr "_Sincronizar status da conta com status global"
 
-#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/accounts_window.glade.h:50
+#: ../data/glade/synchronise_contacts_dialog.glade.h:2
+#: ../data/glade/synchronise_select_account_dialog.glade.h:2
 msgid "Synchronise contacts"
 msgstr "Sincronizar contatos"
 
-#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/accounts_window.glade.h:52
 msgid "Use _SSL (legacy)"
 msgstr "Usar _SSL (obsoleto, apenas para servidores antigos)"
 
-#: ../data/glade/account_modification_window.glade.h:44
-msgid "Use custom hostname/port"
-msgstr "Usa nome de máquina/porta customizados"
-
-#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/accounts_window.glade.h:55
 msgid "Use file transfer proxies"
 msgstr "Usa proxies de transferência de arquivos"
 
-#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/accounts_window.glade.h:56
 msgid "_Adjust to status"
 msgstr "Ajustar para status"
 
-#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/accounts_window.glade.h:57
 msgid "_Jabber ID:"
 msgstr "_Jabber ID:"
 
-#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/account_modification_window.glade.h:49
 msgid "_Name:"
 msgstr "_Nome:"
 
-#: ../data/glade/accounts_window.glade.h:1
-msgid "Accounts"
-msgstr "Contas"
+#: ../data/glade/accounts_window.glade.h:14
+#: ../data/glade/profile_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/zeroconf_information_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:5
+msgid "E-Mail:"
+msgstr "E-Mail:"
 
-#: ../data/glade/accounts_window.glade.h:2
-msgid ""
-"If checked, all local contacts that use a Bonjour compatible chat client "
-"(like iChat, Trillian or Gaim) will be shown in roster. You don't need to be "
-"connected to a jabber server for it to work.\n"
-"This is only available if python-avahi is installed and avahi-daemon is "
-"running."
-msgstr ""
-"Se marcado, todos os contatos locais que usam um cliente de chat compatível "
-"com o Bonjour (como iChat, Trillian ou Gaim) serão mostrados na lista. Você "
-"não precisa estar conectado a um servidor jabber para que ele funcione.\n"
-" Isto só está disponível se o python-avahi estiver instalado e o serviço "
-"avahi-daemon estiver rodando."
+#. XML Console enable checkbutton
+#: ../data/glade/accounts_window.glade.h:16
+#: ../data/glade/xml_console_window.glade.h:4
+msgid "Enable"
+msgstr "Habilitar"
 
-#: ../data/glade/accounts_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:17
+#: ../data/glade/zeroconf_information_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:6
+msgid "First Name:"
+msgstr "Primeiro nome:"
+
+#: ../data/glade/accounts_window.glade.h:22
+msgid "If checked, Gajim will get the password from a GPG agent like seahorse"
+msgstr "Se marcado, o Gajim obterá a senha de um agente GPG como o Seahorse"
+
+#: ../data/glade/accounts_window.glade.h:27
+#: ../data/glade/zeroconf_properties_window.glade.h:11
 msgid ""
-"If you have 2 or more accounts and this is checked, Gajim will list all "
-"contacts as if you had one account"
+"If the default port that is used for incoming messages is unfitting for your "
+"setup you can select another one here.\n"
+"You might consider to change possible firewall settings."
 msgstr ""
-"Se você tiver duas ou mais contas e isto estiver marcado, o Gajim listará "
-"todos os contatos como se você tivesse somente uma única conta"
+"Se a porta padrão usada para recebimento de mensagens não for adequada você "
+"pode selecionar outra aqui.\n"
+"Considere a possível modificação das regras do seu firewall. "
 
-#: ../data/glade/accounts_window.glade.h:5
+#: ../data/glade/accounts_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/zeroconf_information_window.glade.h:4
+#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:511
+msgid "Jabber ID:"
+msgstr "Jabber ID:"
+
+#: ../data/glade/accounts_window.glade.h:31
+#: ../data/glade/zeroconf_information_window.glade.h:5
+#: ../data/glade/zeroconf_properties_window.glade.h:14
+msgid "Last Name:"
+msgstr "Último nome:"
+
+#: ../data/glade/accounts_window.glade.h:33
 msgid "Mer_ge accounts"
 msgstr "Mes_clar contas"
 
-#: ../data/glade/accounts_window.glade.h:6
-msgid "_Enable link-local messaging"
-msgstr "_Ativar mensagens \"link-local\""
+#. Rename
+#: ../data/glade/accounts_window.glade.h:43 ../src/roster_window.py:2731
+msgid "Re_name"
+msgstr "Re_nomear"
 
-#: ../data/glade/accounts_window.glade.h:7
-msgid "_Modify"
-msgstr "_Modificar"
+#: ../data/glade/accounts_window.glade.h:51
+msgid "Use GPG _Agent"
+msgstr "Usar o _Agente GPG"
 
-#: ../data/glade/accounts_window.glade.h:8
-#: ../data/glade/remove_account_window.glade.h:4
-msgid "_Remove"
-msgstr "_Remover"
+#: ../data/glade/accounts_window.glade.h:54
+#: ../data/glade/zeroconf_properties_window.glade.h:21
+msgid "Use custom port:"
+msgstr "Usar servidor/porta personalizado"
+
+#: ../data/glade/accounts_window.glade.h:59
+msgid "gtk-add"
+msgstr "gtk-add"
+
+#: ../data/glade/accounts_window.glade.h:60
+#: ../data/glade/features_window.glade.h:4
+msgid "gtk-close"
+msgstr "gtk-close"
+
+#: ../data/glade/accounts_window.glade.h:61
+msgid "gtk-remove"
+msgstr "gtk-remove"
 
 #: ../data/glade/add_new_contact_window.glade.h:1
 msgid "A_ccount:"
@@ -580,6 +669,7 @@ msgid "This jabber entity does not expose any commands."
 msgstr "Esta entidade jabber não expõe quaisquer comandos."
 
 #: ../data/glade/advanced_configuration_window.glade.h:1
+#: ../data/glade/features_window.glade.h:1
 msgid "<b>Description</b>"
 msgstr "<b>Descrição</b>"
 
@@ -606,45 +696,41 @@ msgid "Deletes Message of the Day"
 msgstr "Excluir Mensagem do Dia"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:3
+msgid "Edit _Privacy Lists..."
+msgstr "Editar Listas de _Privacidade..."
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:4
 msgid "Sends a message to users currently connected to this server"
 msgstr ""
 "Envia uma mensagem para os usuários atualmente conectados a este servidor"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:4
-msgid "Set MOTD"
-msgstr "Configurar MOTD"
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:5
+msgid "Set MOTD..."
+msgstr "Definir MOTD..."
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:6
 msgid "Sets Message of the Day"
 msgstr "Configurar Mensagem do Dia"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:6
+#: ../data/glade/advanced_menuitem_menu.glade.h:7
 msgid "Show _XML Console"
 msgstr "Mostrar console _XML"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:7
-msgid "Update MOTD"
-msgstr "Atualizar MOTD"
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:8
+msgid "Update MOTD..."
+msgstr "Atualizar MOTD..."
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:9
 msgid "Updates Message of the Day"
 msgstr "Atualizar Mensagem do Dia"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:9
+#: ../data/glade/advanced_menuitem_menu.glade.h:10
 msgid "_Administrator"
 msgstr "_Administrador"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:10
-msgid "_Privacy Lists"
-msgstr "_Listas de Privacidade"
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:11
-msgid "_Send Server Message"
-msgstr "_Enviar Mensagem pelo Servidor"
-
-#: ../data/glade/advanced_menuitem_menu.glade.h:12
-msgid "_Send Single Message"
-msgstr "_Enviar uma Mensagem Simples"
+msgid "_Send Server Message..."
+msgstr "_Enviar Mensagem de Servidor..."
 
 #: ../data/glade/advanced_notifications_window.glade.h:1
 msgid " a window/tab opened with that contact "
@@ -659,7 +745,7 @@ msgid "<b>Conditions</b>"
 msgstr "<b>Condições</b>"
 
 #: ../data/glade/advanced_notifications_window.glade.h:4
-#: ../data/glade/preferences_window.glade.h:10
+#: ../data/glade/preferences_window.glade.h:12
 msgid "<b>Sounds</b>"
 msgstr "<b>Sons</b>"
 
@@ -676,7 +762,7 @@ msgid "All statuses"
 msgstr "Totos os status"
 
 #: ../data/glade/advanced_notifications_window.glade.h:8
-#: ../src/common/commands.py:91 ../src/common/helpers.py:243
+#: ../src/common/commands.py:96 ../src/common/helpers.py:255
 msgid "Away"
 msgstr "Afastado"
 
@@ -693,7 +779,7 @@ msgid "Have "
 msgstr "Possui"
 
 #: ../data/glade/advanced_notifications_window.glade.h:12
-#: ../src/common/helpers.py:253
+#: ../src/common/helpers.py:265
 msgid "Invisible"
 msgstr "Invisível"
 
@@ -702,7 +788,7 @@ msgid "Launch a command"
 msgstr "Executar um comando"
 
 #: ../data/glade/advanced_notifications_window.glade.h:14
-#: ../src/common/helpers.py:226
+#: ../src/common/helpers.py:238
 msgid "Not Available"
 msgstr "Não Disponível"
 
@@ -828,6 +914,10 @@ msgstr "Novo evento recebido"
 msgid "You have received new entry:"
 msgstr "Você recebeu uma nova entrada:"
 
+#: ../data/glade/blocked_contacts_window.glade.h:1
+msgid "Blocked Contacts"
+msgstr "Contatos Bloqueados"
+
 #: ../data/glade/change_password_dialog.glade.h:1
 msgid "Change Password"
 msgstr "Alterar Senha"
@@ -857,11 +947,9 @@ msgid "Join _Group Chat"
 msgstr "_Entrar em uma Conferência"
 
 #: ../data/glade/chat_context_menu.glade.h:2
-#: ../data/glade/chat_control_popup_menu.glade.h:5
-#: ../data/glade/gc_occupants_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:10
-msgid "_Add to Roster"
-msgstr "_Adicionar à  Lista"
+#: ../data/glade/roster_contact_context_menu.glade.h:12
+msgid "_Add to Roster..."
+msgstr "_Adicionar à Lista..."
 
 #: ../data/glade/chat_context_menu.glade.h:3
 msgid "_Copy JID/Email Address"
@@ -880,7 +968,6 @@ msgid "_Open Link in Browser"
 msgstr "_Visualizar no Navegador"
 
 #: ../data/glade/chat_context_menu.glade.h:7
-#: ../data/glade/roster_window.glade.h:20
 #: ../data/glade/subscription_request_popup_menu.glade.h:1
 #: ../data/glade/systray_context_menu.glade.h:7
 msgid "_Start Chat"
@@ -891,34 +978,63 @@ msgid "Click to see past conversations with this contact"
 msgstr "Clique para ver o histórico de conversas com este contato"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:2
-#, fuzzy
-msgid "Ping"
-msgstr "Comendo"
+msgid "Invite _Contacts"
+msgstr "Convidar _Contatos"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:3
-#: ../data/glade/roster_contact_context_menu.glade.h:8
+#: ../data/glade/gc_occupants_menu.glade.h:3
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:4
 msgid "Send _File"
 msgstr "Enviar _Arquivo"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:4
+msgid "Toggle End to End Encryption"
+msgstr "Alternar para Criptografia End to End"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:5
 msgid "Toggle Open_PGP Encryption"
 msgstr "Ativar criptografia Open_PGP"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:6
-#: ../data/glade/gc_control_popup_menu.glade.h:6
-msgid "_Compact View    Alt+C"
-msgstr "Visão _Compacta    Alt+C"
+#: ../data/glade/gc_occupants_menu.glade.h:4
+msgid "_Add to Roster"
+msgstr "_Adicionar à  Lista"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:7
-#: ../data/glade/gc_control_popup_menu.glade.h:8
-#: ../data/glade/gc_occupants_menu.glade.h:5
-#: ../data/glade/roster_contact_context_menu.glade.h:13
+#: ../data/glade/gc_control_popup_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/roster_window.glade.h:19
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2600
 msgid "_History"
 msgstr "_Histórico"
 
-#: ../data/glade/data_form_window.glade.h:1
+#: ../data/glade/chat_to_muc_window.glade.h:1
+msgid "In_vite"
+msgstr "Con_vidar"
+
+#: ../data/glade/chat_to_muc_window.glade.h:2
+msgid "Invite Friends !"
+msgstr "Convidar Amigos!"
+
+#: ../data/glade/chat_to_muc_window.glade.h:3
+msgid "MUC server"
+msgstr "Servidor MUC"
+
+#: ../data/glade/chat_to_muc_window.glade.h:4
+msgid "Please select a MUC server."
+msgstr "Por favor, selecione um servidor MUC."
+
+#: ../data/glade/chat_to_muc_window.glade.h:5
+msgid ""
+"You are going to begin a Multi-User Chat.\n"
+"Select the contacts you want to invite"
+msgstr ""
+"Você está prestes a iniciar uma Conversa Multi-Usuário (MUC).\n"
+"Selecione os contatos que você quer convidar"
+
+#: ../data/glade/data_form_window.glade.h:1
 msgid "Fill in the form."
 msgstr "Preencha o formulário."
 
@@ -930,6 +1046,14 @@ msgstr "Configuração da Sala"
 msgid "Edit Groups"
 msgstr "Editar Grupos"
 
+#: ../data/glade/features_window.glade.h:2
+msgid "<b>List of possible features in Gajim:</b>"
+msgstr "<b>Listas dos possíveis recursos do Gajim:</b>"
+
+#: ../data/glade/features_window.glade.h:3
+msgid "Features"
+msgstr "Recursos"
+
 #: ../data/glade/filetransfers.glade.h:1
 msgid "A list of active, completed and stopped file transfers"
 msgstr "Uma lista de transferências de arquivo ativas, completadas e paradas"
@@ -985,7 +1109,7 @@ msgstr ""
 msgid "When a file transfer is complete show a popup notification"
 msgstr "Mostrar um alerta visual quanto uma transferência de arquivo terminar"
 
-#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:761
+#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:790
 msgid "_Continue"
 msgstr "_Continuar"
 
@@ -993,7 +1117,7 @@ msgstr "_Continuar"
 msgid "_Notify me when a file transfer is complete"
 msgstr "_Notificar-me quando a transmissão do arquivo terminar"
 
-#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:188
+#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:191
 msgid "_Open Containing Folder"
 msgstr "_Abrir pasta do arquivo"
 
@@ -1082,62 +1206,70 @@ msgid "_Background:"
 msgstr "Cor _de fundo"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:1
-msgid "Change _Nickname"
-msgstr "Mudar _Apelido"
+msgid "Change _Nickname..."
+msgstr "Alterar _Apelido..."
 
 #: ../data/glade/gc_control_popup_menu.glade.h:2
-msgid "Change _Subject"
-msgstr "Mudar _Assunto"
+msgid "Change _Subject..."
+msgstr "Alterar _Assunto..."
 
 #: ../data/glade/gc_control_popup_menu.glade.h:3
 msgid "Click to see past conversation in this room"
 msgstr "Clique para ver o histórico de conversas nesta sala"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:4
-msgid "Configure _Room"
-msgstr "Configurar _Sala"
+msgid "Configure _Room..."
+msgstr "Configurar _Sala..."
 
 #: ../data/glade/gc_control_popup_menu.glade.h:5
-msgid "_Bookmark This Room"
-msgstr "Adicionar esta Sala ao _Bookmark"
+msgid "_Bookmark"
+msgstr "_Favoritos"
 
-#: ../data/glade/gc_control_popup_menu.glade.h:7
-msgid "_Destroy room"
-msgstr "_Excluir sala"
+#: ../data/glade/gc_control_popup_menu.glade.h:6
+msgid "_Destroy Room"
+msgstr "_Excluir Sala"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:8
+msgid "_Manage Room"
+msgstr "_Gerenciar Sala"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:9
+msgid "_Minimize on close"
+msgstr "_Minimizar ao fechar"
 
 #: ../data/glade/gc_occupants_menu.glade.h:1
 msgid "Mo_derator"
 msgstr "Mo_derador"
 
-#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:2
+msgid "Occupant Actions"
+msgstr "Ações de Ocupante"
+
+#: ../data/glade/gc_occupants_menu.glade.h:5
 msgid "_Admin"
 msgstr "_Administração"
 
-#: ../data/glade/gc_occupants_menu.glade.h:4
+#: ../data/glade/gc_occupants_menu.glade.h:6
 msgid "_Ban"
 msgstr "_Banir"
 
-#: ../data/glade/gc_occupants_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:8
 msgid "_Kick"
 msgstr "_Chutar"
 
-#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:9
 msgid "_Member"
 msgstr "_Membro"
 
-#: ../data/glade/gc_occupants_menu.glade.h:8
-msgid "_Occupant Actions"
-msgstr "Ações de _Ocupantes"
-
-#: ../data/glade/gc_occupants_menu.glade.h:9
+#: ../data/glade/gc_occupants_menu.glade.h:10
 msgid "_Owner"
 msgstr "D_ono"
 
-#: ../data/glade/gc_occupants_menu.glade.h:10
+#: ../data/glade/gc_occupants_menu.glade.h:11
 msgid "_Send Private Message"
 msgstr "_Enviar Mensagem Privada"
 
-#: ../data/glade/gc_occupants_menu.glade.h:11
+#: ../data/glade/gc_occupants_menu.glade.h:12
 msgid "_Voice"
 msgstr "_Voz"
 
@@ -1145,13 +1277,13 @@ msgstr "_Voz"
 msgid "Create new post"
 msgstr "Criar nova postagem"
 
-#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:268
+#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:280
 msgid "From"
 msgstr "De"
 
 #. holds subject
-#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:142
-#: ../src/history_manager.py:173
+#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:147
+#: ../src/history_manager.py:178
 msgid "Subject"
 msgstr "Assunto"
 
@@ -1191,30 +1323,54 @@ msgid "_Search Database"
 msgstr "_Buscar no Bando de Dados"
 
 #: ../data/glade/history_window.glade.h:1
-msgid "Build custom query"
-msgstr "Gerar consulta customizada"
+msgid "<b>History Viewer</b>"
+msgstr "<b>Visualizador de Histórico</b>"
 
 #: ../data/glade/history_window.glade.h:2
+msgid "<b>JID Selection</b>"
+msgstr "<b>Seleção de JID</b>"
+
+#: ../data/glade/history_window.glade.h:3
+msgid ""
+"Choose the chatlog you want to view. \n"
+"Enter the jid of a groupchat or a contact here. For online accounts you can "
+"even enter a a contact's nickname."
+msgstr ""
+"Selecione o registro de conversa que você quer ver. \n"
+"Entre com o JID de uma sala ou contato aqui. Para contas online você sempre "
+"entra com o apelido do contato."
+
+#: ../data/glade/history_window.glade.h:5 ../src/history_window.py:224
 msgid "Conversation History"
 msgstr "Histórico de Conversação"
 
-#: ../data/glade/history_window.glade.h:3
-msgid "Query Builder..."
-msgstr "Gerador de consultas..."
+#: ../data/glade/history_window.glade.h:6
+msgid ""
+"Current History\n"
+"All Chat Histories"
+msgstr ""
+"Histórico Atual\n"
+"Históricos de Todas as Conversas"
 
-#: ../data/glade/history_window.glade.h:4
+#: ../data/glade/history_window.glade.h:8
+#: ../data/glade/search_window.glade.h:2
 msgid "Search"
 msgstr "Buscar"
 
-#: ../data/glade/history_window.glade.h:5
+#: ../data/glade/history_window.glade.h:9
 #: ../data/glade/zeroconf_information_window.glade.h:10
 msgid "_Log conversation history"
 msgstr "_Histórico de Conversação"
 
-#: ../data/glade/history_window.glade.h:6 ../src/disco.py:1177
+#: ../data/glade/history_window.glade.h:10
+#: ../data/glade/search_window.glade.h:5 ../src/disco.py:1182
 msgid "_Search"
 msgstr "_Buscar"
 
+#: ../data/glade/history_window.glade.h:11
+msgid "in"
+msgstr "em"
+
 #: ../data/glade/invitation_received_dialog.glade.h:1
 msgid "Accept"
 msgstr "Aceitar"
@@ -1228,7 +1384,7 @@ msgstr "Negar"
 msgid "Invitation Received"
 msgstr "Convite Recebido"
 
-#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1208
+#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1385
 msgid "Join Group Chat"
 msgstr "Ingressar numa conferência"
 
@@ -1237,14 +1393,14 @@ msgid "Join this room automatically when I connect"
 msgstr "Entra nesta sala automaticamente quando eu conectar"
 
 #: ../data/glade/join_groupchat_window.glade.h:3
-#: ../data/glade/manage_bookmarks_window.glade.h:4
+#: ../data/glade/manage_bookmarks_window.glade.h:5
 #: ../data/glade/profile_window.glade.h:24
-#: ../data/glade/vcard_information_window.glade.h:29
+#: ../data/glade/vcard_information_window.glade.h:31
 msgid "Nickname:"
 msgstr "Apelido:"
 
 #: ../data/glade/join_groupchat_window.glade.h:4
-#: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/manage_bookmarks_window.glade.h:6
 msgid "Password:"
 msgstr "Senha:"
 
@@ -1253,12 +1409,12 @@ msgid "Recently:"
 msgstr "Recentemente:"
 
 #: ../data/glade/join_groupchat_window.glade.h:6
-#: ../data/glade/manage_bookmarks_window.glade.h:7
+#: ../data/glade/manage_bookmarks_window.glade.h:8
 msgid "Room:"
 msgstr "Sala:"
 
-#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1165
-#: ../src/disco.py:1615
+#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1170
+#: ../src/disco.py:1625
 msgid "_Join"
 msgstr "_Ingressar"
 
@@ -1279,15 +1435,19 @@ msgstr ""
 msgid "Manage Bookmarks"
 msgstr "Gerenciar Bookmarks"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:4
+msgid "Minimize on Auto Join"
+msgstr "Minimizar ao Entrar Automaticamente"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:7
 msgid "Print status:"
 msgstr "Imprimir status:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:8
+#: ../data/glade/manage_bookmarks_window.glade.h:9
 msgid "Server:"
 msgstr "Servidor:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:9
+#: ../data/glade/manage_bookmarks_window.glade.h:10
 msgid "Title:"
 msgstr "Título:"
 
@@ -1313,10 +1473,14 @@ msgstr "Gerenciar Perfis de Proxy"
 
 #: ../data/glade/manage_proxies_window.glade.h:6
 #: ../data/glade/profile_window.glade.h:23
-#: ../data/glade/vcard_information_window.glade.h:28
+#: ../data/glade/vcard_information_window.glade.h:30
 msgid "Name:"
 msgstr "Nome:"
 
+#: ../data/glade/manage_proxies_window.glade.h:7
+msgid "Pass_word:"
+msgstr "_Senha:"
+
 #: ../data/glade/manage_proxies_window.glade.h:8
 msgid "Type:"
 msgstr "Tipo:"
@@ -1325,17 +1489,22 @@ msgstr "Tipo:"
 msgid "Use authentication"
 msgstr "Usar autenticação"
 
+#: ../data/glade/manage_proxies_window.glade.h:10
+msgid "_Host:"
+msgstr "_Computador:"
+
 #: ../data/glade/message_window.glade.h:1
 msgid "Click to insert an emoticon (Alt+M)"
 msgstr "Clique para inserir um emoticon (Alt+M)"
 
-#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1129
+#: ../data/glade/message_window.glade.h:2 ../src/chat_control2.py:1257
+#: ../src/chat_control.py:1268
 msgid "OpenPGP Encryption"
 msgstr "Criptografia OpenPGP"
 
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:4
-#: ../data/glade/roster_window.glade.h:10
+#: ../data/glade/roster_window.glade.h:12
 #: ../data/glade/subscription_request_window.glade.h:6
 msgid "_Actions"
 msgstr "_Ações"
@@ -1343,7 +1512,7 @@ msgstr "_Ações"
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:6
 #: ../data/glade/xml_console_window.glade.h:11
-#: ../src/filetransfers_window.py:245
+#: ../src/filetransfers_window.py:252
 msgid "_Send"
 msgstr "_Enviar"
 
@@ -1359,36 +1528,48 @@ msgstr "<b>Editor de Configurações Avançadas</b>"
 msgid "<b>Applications</b>"
 msgstr "<b>Aplicações</b>"
 
+#: ../data/glade/preferences_window.glade.h:3
+msgid "<b>Chat Appearance</b>"
+msgstr "<b>Aparência da Conversa</b>"
+
 #. a header for custom browser/client/file manager. so translate sth like: Custom Settings
-#: ../data/glade/preferences_window.glade.h:4
+#: ../data/glade/preferences_window.glade.h:5
 msgid "<b>Custom</b>"
 msgstr "<b>Customizar</b>"
 
-#: ../data/glade/preferences_window.glade.h:5
+#: ../data/glade/preferences_window.glade.h:6
 msgid "<b>Format of a line</b>"
 msgstr "<b>Formato da linha</b>"
 
-#: ../data/glade/preferences_window.glade.h:6
+#: ../data/glade/preferences_window.glade.h:7
 msgid "<b>GMail Options</b>"
 msgstr "<b>Opções do Gmail</b>"
 
-#: ../data/glade/preferences_window.glade.h:7
-msgid "<b>Interface Customization</b>"
-msgstr "<b>Customização de interface</b>"
-
 #: ../data/glade/preferences_window.glade.h:9
 msgid "<b>Preset Status Messages</b>"
 msgstr "<b>Mensagens de Status Disponíveis</b>"
 
+#: ../data/glade/preferences_window.glade.h:10
+msgid "<b>Privacy</b>"
+msgstr "<i>Privacidade</i>"
+
 #: ../data/glade/preferences_window.glade.h:11
+msgid "<b>Roster Appearance</b>"
+msgstr "<b>Aparência da Lista</b>"
+
+#: ../data/glade/preferences_window.glade.h:13
+msgid "<b>Themes</b>"
+msgstr "<b>Tema</b>"
+
+#: ../data/glade/preferences_window.glade.h:14
 msgid "<b>Visual Notifications</b>"
 msgstr "<b>Notificações Visuais</b>"
 
-#: ../data/glade/preferences_window.glade.h:12
+#: ../data/glade/preferences_window.glade.h:15
 msgid "Advanced"
 msgstr "Avançado"
 
-#: ../data/glade/preferences_window.glade.h:13
+#: ../data/glade/preferences_window.glade.h:16
 msgid ""
 "All chat states\n"
 "Composing only\n"
@@ -1398,24 +1579,20 @@ msgstr ""
 "Escrevendo somente\n"
 "Desabilitado"
 
-#: ../data/glade/preferences_window.glade.h:16
+#: ../data/glade/preferences_window.glade.h:19
 msgid "Allow _OS information to be sent"
 msgstr "Permitir o envio de informações do _SO "
 
-#: ../data/glade/preferences_window.glade.h:17
+#: ../data/glade/preferences_window.glade.h:20
 msgid "Allow popup/notifications when I'm _away/na/busy/invisible"
 msgstr ""
 "Permite janela/notificação quando eu estou _afastado/NA/ocupado/invisível"
 
-#: ../data/glade/preferences_window.glade.h:18
-msgid "Also known as iChat style"
-msgstr "Conhecido também como estilo iChat"
-
-#: ../data/glade/preferences_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:21
 msgid "Always check to see if Gajim is the _default Jabber client on startup"
 msgstr "Sempre verificar ao iniciar se o Gajim é o cliente Jabber padrão"
 
-#: ../data/glade/preferences_window.glade.h:20
+#: ../data/glade/preferences_window.glade.h:22
 msgid ""
 "An example: If you have enabled status message for away, Gajim won't ask you "
 "anymore for a status message when you change your status to away; it will "
@@ -1425,24 +1602,25 @@ msgstr ""
 "Gajim não perguntará mais por uma mensagem de status quando você mudá-lo "
 "para afastado, ele usará o padrão definido aqui"
 
-#: ../data/glade/preferences_window.glade.h:21
+#: ../data/glade/preferences_window.glade.h:23
 msgid "Ask status message when I:"
 msgstr "Solicite uma mensagem de status quanto eu:"
 
-#: ../data/glade/preferences_window.glade.h:22
+#: ../data/glade/preferences_window.glade.h:24
 msgid "Auto _away after:"
 msgstr "Marcar como _afastado depois:"
 
-#: ../data/glade/preferences_window.glade.h:23
+#: ../data/glade/preferences_window.glade.h:25
 msgid "Auto _not available after:"
 msgstr "Marcar como _afastado depois:"
 
-#: ../data/glade/preferences_window.glade.h:24
+#: ../data/glade/preferences_window.glade.h:26
+#, fuzzy
 msgid ""
 "Autodetect on every Gajim startup\n"
 "Always use GNOME default applications\n"
 "Always use KDE default applications\n"
-"Always use XFCE4 default applications\n"
+"Always use Xfce default applications\n"
 "Custom"
 msgstr ""
 "Auto-detectar ao abrir o Gajim\n"
@@ -1450,11 +1628,7 @@ msgstr ""
 "Sempre usar aplicações no padrão KDE\n"
 "Personalizar"
 
-#: ../data/glade/preferences_window.glade.h:29
-msgid "Chat"
-msgstr "Conversa"
-
-#: ../data/glade/preferences_window.glade.h:30
+#: ../data/glade/preferences_window.glade.h:31
 msgid ""
 "Check this option, only if someone you don't have in the roster spams/annoys "
 "you. Use with caution, because it blocks all messages from any contact that "
@@ -1465,18 +1639,14 @@ msgstr ""
 "mensagens de qualquer contato que você não possuir na sua lista e queria lhe "
 "enviar uma mensagem"
 
-#: ../data/glade/preferences_window.glade.h:31
+#: ../data/glade/preferences_window.glade.h:32
 msgid "Configure color and font of the interface"
 msgstr "Configurar cores e fontes da interface"
 
-#: ../data/glade/preferences_window.glade.h:32
+#: ../data/glade/preferences_window.glade.h:33
 msgid "Default Status Messages"
 msgstr "Mensagens de Status Padrão"
 
-#: ../data/glade/preferences_window.glade.h:33
-msgid "Default status _iconset:"
-msgstr "_Conjunto de Ícones de status padrão:"
-
 #: ../data/glade/preferences_window.glade.h:34
 msgid ""
 "Determined by sender\n"
@@ -1500,22 +1670,14 @@ msgid "Display status _messages of contacts in roster"
 msgstr "Mostrar _mensagem de status da lista de contato"
 
 #: ../data/glade/preferences_window.glade.h:40
-msgid "Displayed Chat state noti_fications:"
-msgstr "Noti_ficações do status da conversa exibidas:"
-
-#: ../data/glade/preferences_window.glade.h:41
-msgid "E_very 5 minutes"
-msgstr "De 5 _em 5 minutos"
-
-#: ../data/glade/preferences_window.glade.h:42
 msgid "Emoticons:"
 msgstr "Emoticons:"
 
-#: ../data/glade/preferences_window.glade.h:43
+#: ../data/glade/preferences_window.glade.h:41
 msgid "Events"
 msgstr "Eventos"
 
-#: ../data/glade/preferences_window.glade.h:44
+#: ../data/glade/preferences_window.glade.h:42
 msgid ""
 "Gajim can send and receive meta-information related to a conversation you "
 "may have with a contact. Here you can specify which chatstates you want to "
@@ -1525,7 +1687,7 @@ msgstr ""
 "que você pode ter com um contato. Aqui você pode especificar quais "
 "caracteres você quer para enviar a outra parte."
 
-#: ../data/glade/preferences_window.glade.h:45
+#: ../data/glade/preferences_window.glade.h:43
 msgid ""
 "Gajim can send and receive meta-information related to a conversation you "
 "may have with a contact. Here you can specify which chatstates you want to "
@@ -1535,30 +1697,7 @@ msgstr ""
 "você pode ter com um contato. Aqui você pode especificar quais caracteres "
 "você quer para enviar a outra parte."
 
-#: ../data/glade/preferences_window.glade.h:46
-msgid ""
-"Gajim will automatically show new events by popping up the relevant window"
-msgstr ""
-"O Gajim automaticamente mostrará novos eventos em uma janela saltando sobre "
-"a janela relevante"
-
-#: ../data/glade/preferences_window.glade.h:47
-msgid ""
-"Gajim will notify you for new events via a popup in the bottom right of the "
-"screen"
-msgstr ""
-"Gajim notificará você de uma novo evento via uma alerta visual na lateral "
-"inferior direita da tela"
-
-#: ../data/glade/preferences_window.glade.h:48
-msgid ""
-"Gajim will notify you via a popup window in the bottom right of the screen "
-"about contacts that just signed in"
-msgstr ""
-"Gajim notificará você através de um alerta visual na parte inferior direita "
-"da tela sobre os contatos que se conectaram"
-
-#: ../data/glade/preferences_window.glade.h:49
+#: ../data/glade/preferences_window.glade.h:44
 msgid ""
 "Gajim will notify you via a popup window in the bottom right of the screen "
 "about contacts that just signed out"
@@ -1566,12 +1705,11 @@ msgstr ""
 "Gajim notificará você através de um alerta visual na parte inferior direita "
 "da tela sobre os contatos que se desconectaram"
 
-#: ../data/glade/preferences_window.glade.h:50
-msgid ""
-"Gajim will only change the icon of the contact that triggered the new event"
-msgstr "Gajim mudará somente o ícone do contato que provocou o evento novo"
+#: ../data/glade/preferences_window.glade.h:46
+msgid "Hides buttons in chatwindows to "
+msgstr "Esconder os botões nas janelas de conversa em"
 
-#: ../data/glade/preferences_window.glade.h:52
+#: ../data/glade/preferences_window.glade.h:47
 msgid ""
 "If checked, Gajim will also include information about the sender of the new "
 "emails"
@@ -1579,7 +1717,7 @@ msgstr ""
 "Se marcado, o Gajim também incluirá informação sobre o remetente de novos "
 "emails"
 
-#: ../data/glade/preferences_window.glade.h:53
+#: ../data/glade/preferences_window.glade.h:48
 msgid ""
 "If checked, Gajim will display avatars of contacts in roster window and in "
 "group chats"
@@ -1587,7 +1725,7 @@ msgstr ""
 "Se marcado, Gajim mostrará avatars dos contatos na janela da lista e na "
 "conferência"
 
-#: ../data/glade/preferences_window.glade.h:54
+#: ../data/glade/preferences_window.glade.h:49
 msgid ""
 "If checked, Gajim will display status messages of contacts under the contact "
 "name in roster window and in group chats"
@@ -1595,15 +1733,7 @@ msgstr ""
 "Se marcado, Gajim indicará mensagens de status dos contatos sob o nome do "
 "contato na janela da lista e na conferência"
 
-#: ../data/glade/preferences_window.glade.h:55
-msgid ""
-"If checked, Gajim will remember the roster and chat window positions in the "
-"screen and the sizes of them next time you run it"
-msgstr ""
-"Se marcado, o Gajim lembrará a posição e tamanho da janela principal na "
-"próxima vez que você executa-lo"
-
-#: ../data/glade/preferences_window.glade.h:56
+#: ../data/glade/preferences_window.glade.h:50
 msgid ""
 "If checked, Gajim will use protocol-specific status icons. (eg. A contact "
 "from MSN will have the equivalent msn icon for status online, away, busy, "
@@ -1613,7 +1743,7 @@ msgstr ""
 "exemplo, um contato do MSN terá o ícone equivalente do MSN para o status "
 "conectado, ausente, ocupado, etc....)"
 
-#: ../data/glade/preferences_window.glade.h:57
+#: ../data/glade/preferences_window.glade.h:51
 msgid ""
 "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent "
 "animated or static graphical emoticons"
@@ -1621,15 +1751,15 @@ msgstr ""
 "Se habilitado, Gajim substituirá o ascii para smilies, como ':)' com a "
 "animação equivalente ou estático emoticons gráfico"
 
-#: ../data/glade/preferences_window.glade.h:58
+#: ../data/glade/preferences_window.glade.h:52
 msgid "Ignore rich content in incoming messages"
 msgstr "Ignorar conteúdo formatado nas mensagens recebidas."
 
-#: ../data/glade/preferences_window.glade.h:59
+#: ../data/glade/preferences_window.glade.h:53
 msgid "Ma_nage..."
 msgstr "Gere_nciar..."
 
-#: ../data/glade/preferences_window.glade.h:60
+#: ../data/glade/preferences_window.glade.h:54
 msgid ""
 "Never\n"
 "Always\n"
@@ -1641,60 +1771,54 @@ msgstr ""
 "Por conta\n"
 "Por tipo"
 
-#: ../data/glade/preferences_window.glade.h:64
-msgid "Notify me about contacts that: "
-msgstr "Notifique-me sobre contatos ao: "
+#: ../data/glade/preferences_window.glade.h:58
+msgid "Notify me about contacts that sign _in"
+msgstr "Notifique-me sobre contatos ao _conectar"
 
-#: ../data/glade/preferences_window.glade.h:65
+#: ../data/glade/preferences_window.glade.h:59
+msgid "Notify me about contacts that sign _out"
+msgstr "Notifique-me sobre contatos ao _desconectar"
+
+#: ../data/glade/preferences_window.glade.h:60
 msgid "Notify on new _GMail email"
 msgstr "Notificar cada nova mensagem do _Gmail"
 
-#: ../data/glade/preferences_window.glade.h:66
-msgid "On every _message"
-msgstr "Em todas as _mensagens"
-
-#: ../data/glade/preferences_window.glade.h:67
-msgid "One message _window:"
-msgstr "Uma _janela de mensagem"
-
-#: ../data/glade/preferences_window.glade.h:68
-msgid "Outgoing Chat state noti_fications:"
-msgstr "Enviar noti_ficações do status da conversa:"
-
-#: ../data/glade/preferences_window.glade.h:69
+#: ../data/glade/preferences_window.glade.h:61
 msgid "Play _sounds"
 msgstr "Tocar _Sons"
 
-#: ../data/glade/preferences_window.glade.h:70
+#: ../data/glade/preferences_window.glade.h:62
+msgid ""
+"Pop it up\n"
+"Notify me about it\n"
+"Show only in roster"
+msgstr ""
+"Mostrar em um pop-up\n"
+"Notificar-me sobre\n"
+"Mostra apenas na lista"
+
+#: ../data/glade/preferences_window.glade.h:65
 msgid "Preferences"
 msgstr "Preferências"
 
-#: ../data/glade/preferences_window.glade.h:71
-msgid "Print time:"
-msgstr "Imprimir tempo:"
-
-#: ../data/glade/preferences_window.glade.h:72
-msgid "Save _position and size for roster and chat windows"
-msgstr "Salvar _posição e tamanho das janelas de conversa e lista de contatos"
+#: ../data/glade/preferences_window.glade.h:66
+msgid "Privacy"
+msgstr "Privacidade"
 
-#: ../data/glade/preferences_window.glade.h:73
+#: ../data/glade/preferences_window.glade.h:67
 msgid "Set status message to reflect currently playing _music track"
 msgstr ""
 "Definir a mensagem de status de acordo com a música que estiver sendo tocada."
 
-#: ../data/glade/preferences_window.glade.h:74
-msgid "Show only in _roster"
-msgstr "Mostre somente na _lista"
-
-#: ../data/glade/preferences_window.glade.h:75
+#: ../data/glade/preferences_window.glade.h:68
 msgid "Sign _in"
 msgstr "_Conectar"
 
-#: ../data/glade/preferences_window.glade.h:76
+#: ../data/glade/preferences_window.glade.h:69
 msgid "Sign _out"
 msgstr "_Desconectar"
 
-#: ../data/glade/preferences_window.glade.h:77
+#: ../data/glade/preferences_window.glade.h:70
 msgid ""
 "Some messages may include rich content (formatting, colors etc). If checked, "
 "Gajim will just display the raw message text."
@@ -1702,55 +1826,47 @@ msgstr ""
 "Algumas mensagens podem incluir conteúdo rico (formatação, cores etc). Se "
 "marcado, o Gajim apenas mostrará as mensagens em texto puro."
 
-#: ../data/glade/preferences_window.glade.h:78
+#: ../data/glade/preferences_window.glade.h:71
 msgid "Status"
 msgstr "Status"
 
-#: ../data/glade/preferences_window.glade.h:79
+#: ../data/glade/preferences_window.glade.h:72
+msgid "Status _iconset:"
+msgstr "_Conjunto de ícones de status:"
+
+#: ../data/glade/preferences_window.glade.h:73
 msgid "T_heme:"
 msgstr "_Tema:"
 
-#: ../data/glade/preferences_window.glade.h:80
+#: ../data/glade/preferences_window.glade.h:74
 msgid "The auto away status message"
 msgstr "A mensagem de status para o ausente automático"
 
-#: ../data/glade/preferences_window.glade.h:81
+#: ../data/glade/preferences_window.glade.h:75
 msgid "The auto not available status message"
 msgstr "A mensagem de status para o afastado automático"
 
-#: ../data/glade/preferences_window.glade.h:82
+#: ../data/glade/preferences_window.glade.h:76
 msgid "Treat all incoming messages as:"
 msgstr "Tratar todas as mensagens recebidas como:"
 
-#: ../data/glade/preferences_window.glade.h:83
+#: ../data/glade/preferences_window.glade.h:77
 msgid "Use _transports iconsets"
 msgstr "Usar conjunto de ícones de _transportes"
 
-#: ../data/glade/preferences_window.glade.h:84
+#: ../data/glade/preferences_window.glade.h:78
+msgid "Use only one message _window:"
+msgstr "Usar apenas uma _janela de mensagem:"
+
+#: ../data/glade/preferences_window.glade.h:79
 msgid "Use system _default"
 msgstr "Usar o _padrão do sistema"
 
-#: ../data/glade/preferences_window.glade.h:85
-msgid "Use t_rayicon (aka. notification area icon)"
-msgstr "Usar ícone na bandeja (também conhecido por área de notificação)"
-
-#: ../data/glade/preferences_window.glade.h:86
-msgid ""
-"When a new event (message, file transfer request etc..) is received, the "
-"following methods may be used to inform you about it. Please note that "
-"events about new messages only occur if it is a new message from a contact "
-"you are not already chatting with"
-msgstr ""
-"Quando um evento novo (mensagem, pedido etc. de transferência de arquivo, "
-"etc.) é recebido, os seguintes métodos podem ser usados para informá-lo "
-"sobre ele. Por favor, note que os eventos sobre mensagens novas ocorrem "
-"somente se for uma mensagem nova de um contato que você não está conversando"
-
-#: ../data/glade/preferences_window.glade.h:87
-msgid "When new event is received"
-msgstr "Quando novo evento é recebido"
+#: ../data/glade/preferences_window.glade.h:80
+msgid "When new event is received:"
+msgstr "Quando novo evento é recebido:"
 
-#: ../data/glade/preferences_window.glade.h:88
+#: ../data/glade/preferences_window.glade.h:81
 msgid ""
 "Works for Rhythmbox and Muine players. For more players, please visit http://"
 "trac.gajim.org/wiki/GajimAndMusicPlayer"
@@ -1758,83 +1874,83 @@ msgstr ""
 "Funciona para os reprodutores Rhythmbox e Muine. Para mais reprodutores, por "
 "favor visite a página http://trac.gajim.org/wiki/GajimAndMusicPlayer"
 
-#: ../data/glade/preferences_window.glade.h:89
+#: ../data/glade/preferences_window.glade.h:82
 msgid "_Advanced Notifications Control..."
 msgstr "Controle _Avançado de Notificações..."
 
-#: ../data/glade/preferences_window.glade.h:90
+#: ../data/glade/preferences_window.glade.h:83
 msgid "_Browser:"
 msgstr "_Navegar:"
 
-#: ../data/glade/preferences_window.glade.h:91
+#: ../data/glade/preferences_window.glade.h:84
+msgid "_Display chat state notifications:"
+msgstr "_Mostrar notificações de status de conversa:"
+
+#: ../data/glade/preferences_window.glade.h:85
 msgid "_File manager:"
 msgstr "_Gerenciamento de arquivos:"
 
-#: ../data/glade/preferences_window.glade.h:92
+#: ../data/glade/preferences_window.glade.h:86
 msgid "_Font:"
 msgstr "_Fonte:"
 
-#: ../data/glade/preferences_window.glade.h:93
+#: ../data/glade/preferences_window.glade.h:87
 msgid "_Highlight misspelled words"
 msgstr "_Destacar palavras mal escritas"
 
-#: ../data/glade/preferences_window.glade.h:94
+#: ../data/glade/preferences_window.glade.h:88
 msgid "_Ignore events from contacts not in the roster"
 msgstr "_Ignore eventos de contatos que não estejam na minha lista"
 
-#: ../data/glade/preferences_window.glade.h:95
+#: ../data/glade/preferences_window.glade.h:89
 msgid "_Incoming message:"
 msgstr "Mensagem _recebida:"
 
-#: ../data/glade/preferences_window.glade.h:96
+#: ../data/glade/preferences_window.glade.h:90
 msgid "_Log status changes of contacts"
 msgstr "_Log mudanças de status dos contatos"
 
-#: ../data/glade/preferences_window.glade.h:97
+#: ../data/glade/preferences_window.glade.h:91
 msgid "_Mail client:"
 msgstr "_Cliente de email:"
 
-#: ../data/glade/preferences_window.glade.h:98
-msgid "_Never"
-msgstr "_Nunca"
-
-#: ../data/glade/preferences_window.glade.h:99
-msgid "_Notify me about it"
-msgstr "_Notifique-me sobre isto"
+#: ../data/glade/preferences_window.glade.h:92
+msgid "_Make message windows compact"
+msgstr "_Tornar a janela de mensagem compacta"
 
-#: ../data/glade/preferences_window.glade.h:100
+#: ../data/glade/preferences_window.glade.h:93
 msgid "_Open..."
 msgstr "_Abrir..."
 
-#: ../data/glade/preferences_window.glade.h:101
+#: ../data/glade/preferences_window.glade.h:94
 msgid "_Outgoing message:"
 msgstr "Mensagem _enviada:"
 
-#: ../data/glade/preferences_window.glade.h:102
+#: ../data/glade/preferences_window.glade.h:95
 msgid "_Player:"
 msgstr "_Tocador de som:"
 
-#: ../data/glade/preferences_window.glade.h:103
-msgid "_Pop it up"
-msgstr "_Alerta visual"
-
-#: ../data/glade/preferences_window.glade.h:104
+#: ../data/glade/preferences_window.glade.h:96
 msgid "_Reset to Default Colors"
 msgstr "Voltar para as Cores _Padrões"
 
-#: ../data/glade/preferences_window.glade.h:105
+#: ../data/glade/preferences_window.glade.h:97
+msgid "_Send chat state notifications:"
+msgstr "_Enviar notificações de status de conversa:"
+
+#: ../data/glade/preferences_window.glade.h:98
 msgid "_Sort contacts by status"
 msgstr "_Ordena contatos pelo status"
 
-#: ../data/glade/preferences_window.glade.h:106
+#: ../data/glade/preferences_window.glade.h:99
 msgid "_Status message:"
 msgstr "_Mensagem de status:"
 
-#: ../data/glade/preferences_window.glade.h:107
+#: ../data/glade/preferences_window.glade.h:100
 msgid "_URL:"
 msgstr "_URL:"
 
-#: ../data/glade/preferences_window.glade.h:108
+#: ../data/glade/preferences_window.glade.h:101
 msgid "minutes"
 msgstr "minutos"
 
@@ -1878,7 +1994,7 @@ msgstr "Jabber ID"
 msgid "Order:"
 msgstr "Ordem:"
 
-#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2052
+#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2258
 msgid "Privacy List"
 msgstr "Lista de Privacidade"
 
@@ -1953,110 +2069,103 @@ msgid "Company:"
 msgstr "Empresa:"
 
 #: ../data/glade/profile_window.glade.h:9
-#: ../data/glade/vcard_information_window.glade.h:13
+#: ../data/glade/vcard_information_window.glade.h:14
 msgid "Country:"
 msgstr "País:"
 
 #: ../data/glade/profile_window.glade.h:10
-#: ../data/glade/vcard_information_window.glade.h:14
+#: ../data/glade/vcard_information_window.glade.h:15
 msgid "Department:"
 msgstr "Departamento:"
 
-#: ../data/glade/profile_window.glade.h:11
-#: ../data/glade/vcard_information_window.glade.h:15
-#: ../data/glade/zeroconf_information_window.glade.h:2
-#: ../data/glade/zeroconf_properties_window.glade.h:5
-msgid "E-Mail:"
-msgstr "E-Mail:"
-
 #: ../data/glade/profile_window.glade.h:12
-#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/vcard_information_window.glade.h:17
 msgid "Extra Address:"
 msgstr "Complemento:"
 
 #. Family Name
 #: ../data/glade/profile_window.glade.h:14
-#: ../data/glade/vcard_information_window.glade.h:18
+#: ../data/glade/vcard_information_window.glade.h:19
 msgid "Family:"
 msgstr "Família:"
 
 #. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly)
 #: ../data/glade/profile_window.glade.h:16
-#: ../data/glade/vcard_information_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:21
 msgid "Format: YYYY-MM-DD"
 msgstr "Formato: YYYY-MM-DD"
 
-#. Given Name
-#: ../data/glade/profile_window.glade.h:18
+#: ../data/glade/profile_window.glade.h:17
 #: ../data/glade/vcard_information_window.glade.h:22
+msgid "Full Name"
+msgstr "Nome Completo"
+
+#. Given Name
+#: ../data/glade/profile_window.glade.h:19
+#: ../data/glade/vcard_information_window.glade.h:24
 msgid "Given:"
 msgstr "Nome:"
 
-#: ../data/glade/profile_window.glade.h:19
-#: ../data/glade/vcard_information_window.glade.h:23
+#: ../data/glade/profile_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:25
 msgid "Homepage:"
 msgstr "Homepage:"
 
 #. Middle Name
-#: ../data/glade/profile_window.glade.h:21
-#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/profile_window.glade.h:22
+#: ../data/glade/vcard_information_window.glade.h:28
 msgid "Middle:"
 msgstr "Nome do meio:"
 
-#: ../data/glade/profile_window.glade.h:22
-#: ../data/glade/vcard_information_window.glade.h:27
-msgid "More"
-msgstr "Mais"
-
 #: ../data/glade/profile_window.glade.h:25
-#: ../data/glade/vcard_information_window.glade.h:31
+#: ../data/glade/vcard_information_window.glade.h:34
 msgid "Personal Info"
 msgstr "Informações Pessoais"
 
 #: ../data/glade/profile_window.glade.h:27
-#: ../data/glade/vcard_information_window.glade.h:32
+#: ../data/glade/vcard_information_window.glade.h:35
 msgid "Phone No.:"
 msgstr "Telefone:"
 
 #: ../data/glade/profile_window.glade.h:28
-#: ../data/glade/vcard_information_window.glade.h:33
+#: ../data/glade/vcard_information_window.glade.h:36
 msgid "Position:"
 msgstr "Cargo:"
 
 #: ../data/glade/profile_window.glade.h:29
-#: ../data/glade/vcard_information_window.glade.h:34
+#: ../data/glade/vcard_information_window.glade.h:37
 msgid "Postal Code:"
 msgstr "Código Postal:"
 
 #. Prefix in Name
 #: ../data/glade/profile_window.glade.h:31
-#: ../data/glade/vcard_information_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:39
 msgid "Prefix:"
 msgstr "Prefixo:"
 
 #: ../data/glade/profile_window.glade.h:32
-#: ../data/glade/vcard_information_window.glade.h:38 ../src/vcard.py:257
+#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:307
 msgid "Role:"
 msgstr "Função:"
 
 #: ../data/glade/profile_window.glade.h:33
-#: ../data/glade/vcard_information_window.glade.h:39
+#: ../data/glade/vcard_information_window.glade.h:42
 msgid "State:"
 msgstr "Estado:"
 
 #: ../data/glade/profile_window.glade.h:34
-#: ../data/glade/vcard_information_window.glade.h:41
+#: ../data/glade/vcard_information_window.glade.h:44
 msgid "Street:"
 msgstr "Rua:"
 
 #. Suffix in Name
 #: ../data/glade/profile_window.glade.h:36
-#: ../data/glade/vcard_information_window.glade.h:45
+#: ../data/glade/vcard_information_window.glade.h:48
 msgid "Suffix:"
 msgstr "Sobrenome:"
 
 #: ../data/glade/profile_window.glade.h:37
-#: ../data/glade/vcard_information_window.glade.h:46
+#: ../data/glade/vcard_information_window.glade.h:50
 msgid "Work"
 msgstr "Trabalho"
 
@@ -2072,136 +2181,180 @@ msgstr "Remover conta _somente do Gajim"
 msgid "Remove account from Gajim and from _server"
 msgstr "Remover conta do Gajim e do _servidor"
 
+#. Remove
+#. Remove group
+#. Remove
+#: ../data/glade/remove_account_window.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../src/roster_window.py:2557 ../src/roster_window.py:2767
+#: ../src/roster_window.py:2903
+msgid "_Remove"
+msgstr "_Remover"
+
 #: ../data/glade/roster_contact_context_menu.glade.h:1
 msgid "A_sk to see his/her status"
 msgstr "Pe_ça para ver o status dele/dela"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:2
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
-msgid "Add Special _Notification"
-msgstr "Adicionar Notificações Visuais"
+msgid "Add Special _Notification..."
+msgstr "Adicionar _Notificação Especial..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:3
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
-msgid "Assign Open_PGP Key"
-msgstr "Atribuir chave OpenPGP"
+msgid "Assign Open_PGP Key..."
+msgstr "Atribuir Chave Open_PGP..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:4
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
-#: ../src/roster_window.py:2078
-msgid "Edit _Groups"
-msgstr "Editar _Grupos"
+msgid "Edit _Groups..."
+msgstr "Editar _Grupos..."
 
+#. Execute Command
 #: ../data/glade/roster_contact_context_menu.glade.h:5
-#: ../src/roster_window.py:2213
+#: ../src/roster_window.py:2860
 msgid "Execute Command..."
 msgstr "Executar Comando..."
 
+#. Invite to Groupchat
 #: ../data/glade/roster_contact_context_menu.glade.h:6
-#: ../src/roster_window.py:2036
+#: ../src/roster_window.py:2473
 msgid "In_vite to"
 msgstr "Con_vidar para"
 
+#. Send Custom Status
 #: ../data/glade/roster_contact_context_menu.glade.h:7
-#: ../data/glade/systray_context_menu.glade.h:2
-msgid "Send Single _Message"
-msgstr "Enviar _Mensagem Simples"
+#: ../src/roster_window.py:2697 ../src/roster_window.py:2831
+msgid "Send Cus_tom Status"
+msgstr "Enviar Status Perso_nalizado"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Send Single _Message..."
+msgstr "Enviar _Mensagem Simples..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:9
+msgid "Send _File..."
+msgstr "Enviar _Arquivo..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:10
+msgid "Set Custom _Avatar..."
+msgstr "Definir _Avatar Personalizado..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:11
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:5
 msgid "Start _Chat"
 msgstr "Iniciar conversa"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:11
+#: ../data/glade/roster_contact_context_menu.glade.h:13
 msgid "_Allow him/her to see my status"
 msgstr "_Permitir que ele/ela veja meu status"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:12
-msgid "_Forbid him/her to see my status"
-msgstr "_Proibir ele/ela de ver meu status"
-
-#. Remove group
 #: ../data/glade/roster_contact_context_menu.glade.h:14
-#: ../src/roster_window.py:2030 ../src/roster_window.py:2127
-#: ../src/roster_window.py:2234
-msgid "_Remove from Roster"
-msgstr "_Remover da Lista"
+#: ../src/roster_window.py:2547 ../src/roster_window.py:2758
+msgid "_Block"
+msgstr "_Bloquear"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:15
+msgid "_Forbid him/her to see my status"
+msgstr "_Proibir ele/ela de ver meu status"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:17
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7
-#: ../src/roster_window.py:2222
-msgid "_Rename"
-msgstr "_Renomear"
+msgid "_Manage Contact"
+msgstr "_Gerenciar Contato"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/roster_contact_context_menu.glade.h:19
+msgid "_Rename..."
+msgstr "_Renomear..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:20
 msgid "_Subscription"
 msgstr "_Inscrição"
 
+#: ../data/glade/roster_contact_context_menu.glade.h:21
+#: ../src/roster_window.py:2541 ../src/roster_window.py:2752
+msgid "_Unblock"
+msgstr "_Desbloquear"
+
 #: ../data/glade/roster_window.glade.h:1
 msgid "A_ccounts"
 msgstr "_Contas"
 
 #: ../data/glade/roster_window.glade.h:2
-msgid "Add _Contact"
-msgstr "Adicionar _Contato"
+msgid "Add _Contact..."
+msgstr "Adicionar _Contato..."
 
 #: ../data/glade/roster_window.glade.h:3
+msgid "Fea_tures"
+msgstr "Re_cursos"
+
+#: ../data/glade/roster_window.glade.h:4
 msgid "File _Transfers"
 msgstr "Transferência de _Arquivos"
 
-#: ../data/glade/roster_window.glade.h:4
+#: ../data/glade/roster_window.glade.h:5
 msgid "Frequently Asked Questions (online)"
 msgstr "Perguntas freqüentes (online)"
 
-#: ../data/glade/roster_window.glade.h:6
+#: ../data/glade/roster_window.glade.h:7
 msgid "Help online"
 msgstr "Ajuda online"
 
-#: ../data/glade/roster_window.glade.h:7
+#: ../data/glade/roster_window.glade.h:9
 msgid "Profile, A_vatar"
 msgstr "Perfil, A_vatar"
 
-#: ../data/glade/roster_window.glade.h:8
+#: ../data/glade/roster_window.glade.h:10
 msgid "Show Trans_ports"
 msgstr "Mostrar Trans_portes"
 
-#: ../data/glade/roster_window.glade.h:9
+#: ../data/glade/roster_window.glade.h:11
 msgid "Show _Offline Contacts"
 msgstr "Mostrar Contatos desc_onectados"
 
-#: ../data/glade/roster_window.glade.h:12
+#: ../data/glade/roster_window.glade.h:14
 msgid "_Contents"
 msgstr "_Índices"
 
-#: ../data/glade/roster_window.glade.h:13
-msgid "_Discover Services"
-msgstr "_Descubra Serviços"
-
-#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1353
-#: ../src/roster_window.py:2205
+#: ../data/glade/roster_window.glade.h:16 ../src/disco.py:1358
 msgid "_Edit"
 msgstr "_Editar"
 
-#: ../data/glade/roster_window.glade.h:15
+#: ../data/glade/roster_window.glade.h:17
 msgid "_FAQ"
 msgstr "_FAQ"
 
-#: ../data/glade/roster_window.glade.h:17
+#: ../data/glade/roster_window.glade.h:18
 msgid "_Help"
 msgstr "_Ajuda"
 
-#: ../data/glade/roster_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:20
 msgid "_Preferences"
 msgstr "_Preferências"
 
-#: ../data/glade/roster_window.glade.h:19
+#: ../data/glade/roster_window.glade.h:21
 msgid "_Quit"
 msgstr "_Sair"
 
-#: ../data/glade/roster_window.glade.h:21
+#: ../data/glade/roster_window.glade.h:22
+msgid "_Send Single Message..."
+msgstr "_Enviar Mensagem Simples..."
+
+#: ../data/glade/roster_window.glade.h:24
 msgid "_View"
 msgstr "_Ver"
 
+#: ../data/glade/search_window.glade.h:1
+msgid "Please wait while retrieving search form..."
+msgstr ""
+"Por favor aguarde enquanto o formulário de pesquisa está sendo obtido..."
+
+#: ../data/glade/search_window.glade.h:3
+msgid "_Add contact"
+msgstr "_Adicionar contato"
+
+#. Information
+#: ../data/glade/search_window.glade.h:4 ../src/roster_window.py:2915
+msgid "_Information"
+msgstr "_Informações"
+
 #: ../data/glade/service_discovery_window.glade.h:1
 msgid "G_o"
 msgstr "_Ir"
@@ -2210,10 +2363,6 @@ msgstr "_Ir"
 msgid "_Address:"
 msgstr "_Endereço:"
 
-#: ../data/glade/service_discovery_window.glade.h:3
-msgid "_Filter:"
-msgstr "_Filtro:"
-
 #: ../data/glade/service_registration_window.glade.h:1
 msgid "Register to"
 msgstr "Registrar para"
@@ -2291,10 +2440,31 @@ msgstr "Solicitação de Inscrição"
 msgid "_Deny"
 msgstr "_Negar"
 
+#: ../data/glade/synchronise_contacts_dialog.glade.h:1
+#, fuzzy
+msgid "Select the account with which to synchronise"
+msgstr "Selecione a conta que você quer sincronizar"
+
+#: ../data/glade/synchronise_select_account_dialog.glade.h:1
+msgid "Select the account with which you want to synchronise"
+msgstr "Selecione a conta que você quer sincronizar"
+
+#: ../data/glade/synchronise_select_contacts_dialog.glade.h:1
+msgid "Select the contacts you want to synchronise"
+msgstr "Selecione os contatos que você quer sincronizar"
+
+#: ../data/glade/synchronise_select_contacts_dialog.glade.h:2
+msgid "Synchronise : select contacts"
+msgstr "Sincronizar: selecionar contatos"
+
 #: ../data/glade/systray_context_menu.glade.h:1
 msgid "Mute Sounds"
 msgstr "Sons Mudos"
 
+#: ../data/glade/systray_context_menu.glade.h:2
+msgid "Send Single _Message"
+msgstr "Enviar _Mensagem Simples"
+
 #: ../data/glade/systray_context_menu.glade.h:3
 msgid "Show All Pending _Events"
 msgstr "Mostrar todos _Eventos Pendentes"
@@ -2307,6 +2477,10 @@ msgstr "Mostre _Lista"
 msgid "Sta_tus"
 msgstr "Sta_tus"
 
+#: ../data/glade/systray_context_menu.glade.h:6
+msgid "_Group Chat"
+msgstr "_Conferência"
+
 #. Given Name
 #: ../data/glade/vcard_information_window.glade.h:5
 msgid "Ask:"
@@ -2321,39 +2495,45 @@ msgid "Comments"
 msgstr "Comentários"
 
 #: ../data/glade/vcard_information_window.glade.h:11
+msgid "Configured avatar:"
+msgstr "Configurar _avatar:"
+
+#: ../data/glade/vcard_information_window.glade.h:12
 #: ../data/glade/zeroconf_information_window.glade.h:1
 msgid "Contact"
 msgstr "Contato"
 
-#: ../data/glade/vcard_information_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:13
 msgid "Contact Information"
 msgstr "Informações do Contato"
 
-#: ../data/glade/vcard_information_window.glade.h:24
-#: ../data/glade/zeroconf_information_window.glade.h:4
-#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:416
-msgid "Jabber ID:"
-msgstr "Jabber ID:"
+#: ../data/glade/vcard_information_window.glade.h:29
+msgid "More"
+msgstr "Mais"
 
-#: ../data/glade/vcard_information_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:33
 msgid "OS:"
 msgstr "SO:"
 
-#: ../data/glade/vcard_information_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:40
 #: ../data/glade/zeroconf_information_window.glade.h:8
 msgid "Resource:"
 msgstr "Recurso:"
 
-#: ../data/glade/vcard_information_window.glade.h:40
+#: ../data/glade/vcard_information_window.glade.h:43
 #: ../data/glade/zeroconf_information_window.glade.h:9
 msgid "Status:"
 msgstr "Status:"
 
 #. Family Name
-#: ../data/glade/vcard_information_window.glade.h:43
+#: ../data/glade/vcard_information_window.glade.h:46
 msgid "Subscription:"
 msgstr "Inscrição:"
 
+#: ../data/glade/vcard_information_window.glade.h:49
+msgid "User avatar:"
+msgstr "Avatar do usuário:"
+
 #: ../data/glade/xml_console_window.glade.h:1
 msgid "<b>Jabber Traffic</b>"
 msgstr "<b>Trafégo do Jabber</b>"
@@ -2362,11 +2542,6 @@ msgstr "<b>Trafégo do Jabber</b>"
 msgid "<b>XML Input</b>"
 msgstr "<b>Entrada XML</b>"
 
-#. XML Console enable checkbutton
-#: ../data/glade/xml_console_window.glade.h:4
-msgid "Enable"
-msgstr "Habilitar"
-
 #. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem)
 #: ../data/glade/xml_console_window.glade.h:6
 msgid "Info/Query"
@@ -2385,15 +2560,29 @@ msgstr "_Mensagem"
 msgid "_Presence"
 msgstr "_Presença"
 
-#: ../data/glade/zeroconf_information_window.glade.h:3
-#: ../data/glade/zeroconf_properties_window.glade.h:6
-msgid "First Name:"
-msgstr "Primeiro nome:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
+msgid "Add Special _Notification"
+msgstr "Adicionar Notificações Visuais"
 
-#: ../data/glade/zeroconf_information_window.glade.h:5
-#: ../data/glade/zeroconf_properties_window.glade.h:14
-msgid "Last Name:"
-msgstr "Último nome:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
+msgid "Assign Open_PGP Key"
+msgstr "Atribuir chave OpenPGP"
+
+#. Edit Groups
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
+#: ../src/roster_window.py:2530
+msgid "Edit _Groups"
+msgstr "Editar _Grupos"
+
+#. Rename
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:8
+#: ../src/roster_window.py:2887
+msgid "_Rename"
+msgstr "_Renomear"
+
+#: ../data/glade/zeroconf_context_menu.glade.h:1
+msgid "_Modify Account..."
+msgstr "_Alterar Conta..."
 
 #: ../data/glade/zeroconf_information_window.glade.h:6
 msgid "Local jid:"
@@ -2403,244 +2592,283 @@ msgstr "JID local:"
 msgid "Personal"
 msgstr "Pessoal"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:11
-msgid ""
-"If the default port that is used for incoming messages is unfitting for your "
-"setup you can select another one here.\n"
-"You might consider to change possible firewall settings."
-msgstr ""
-"Se a porta padrão usada para recebimento de mensagens não for adequada você "
-"pode selecionar outra aqui.\n"
-"Considere a possível modificação das regras do seu firewall. "
-
 #: ../data/glade/zeroconf_properties_window.glade.h:15
 msgid "Modify Account"
 msgstr "Alterar Conta"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:21
-msgid "Use custom port:"
-msgstr "Usar servidor/porta personalizado"
-
 #. For i18n
-#: ../src/advanced.py:51
+#: ../src/advanced.py:56
 msgid "Activated"
 msgstr "Ativado"
 
-#: ../src/advanced.py:51
+#: ../src/advanced.py:56
 msgid "Deactivated"
 msgstr "Desativado"
 
-#: ../src/advanced.py:53
+#: ../src/advanced.py:58
 msgid "Boolean"
 msgstr "Booleano"
 
-#: ../src/advanced.py:54
+#: ../src/advanced.py:59
 msgid "Integer"
 msgstr "Inteiro"
 
-#: ../src/advanced.py:55
+#: ../src/advanced.py:60
 msgid "Text"
 msgstr "Texto"
 
-#: ../src/advanced.py:56
+#: ../src/advanced.py:61
 msgid "Color"
 msgstr "Cor"
 
-#: ../src/advanced.py:65
+#: ../src/advanced.py:70
 msgid "Preference Name"
 msgstr "Nome da preferência"
 
-#: ../src/advanced.py:71
+#: ../src/advanced.py:76
 msgid "Value"
 msgstr "Valor"
 
-#: ../src/advanced.py:79
+#: ../src/advanced.py:84
 msgid "Type"
 msgstr "Tipo"
 
 #. we talk about option description in advanced configuration editor
-#: ../src/advanced.py:136
+#: ../src/advanced.py:140
 msgid "(None)"
 msgstr "(Nada)"
 
 #. we talk about password
-#: ../src/advanced.py:239
+#: ../src/advanced.py:243
 msgid "Hidden"
 msgstr "Escondido"
 
 #. the next script, executed in the "po" directory,
 #. generates the following list.
 #. #!/bin/sh
-#. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
+#. LANG=$(for i in *.po; do j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
 #. echo "{_('en'):'en'",$LANG"}"
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "English"
 msgstr "Inglês"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Belarusian"
 msgstr "Bielorusso"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Bulgarian"
 msgstr "Búlgaro"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Breton"
 msgstr "Bretão"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Czech"
 msgstr "Tcheco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "German"
 msgstr "Alemão"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Greek"
 msgstr "Grego"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "British"
 msgstr "Inglês Britânico"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Esperanto"
 msgstr "Esperanto"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Spanish"
 msgstr "Espanhol"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Basque"
 msgstr "Basco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "French"
 msgstr "Francês"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Croatian"
 msgstr "Croata"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Italian"
 msgstr "Italiano"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Norwegian (b)"
 msgstr "Norueguês (b)"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Dutch"
 msgstr "Holandês"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Norwegian"
 msgstr "Norueguês"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Polish"
 msgstr "Polonês"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Portuguese"
 msgstr "Português"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Brazilian Portuguese"
 msgstr "Português Brasileiro"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Russian"
 msgstr "Russo"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Serbian"
 msgstr "Sérvio"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Slovak"
 msgstr "Eslovaco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Swedish"
 msgstr "Sueco"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Chinese (Ch)"
 msgstr "Chinês (Ch)"
 
-#: ../src/chat_control.py:212 ../src/dialogs.py:1706
-msgid ""
-"If that is not your language for which you want to highlight misspelled "
-"words, then please set your $LANG as appropriate. Eg. for French do export "
-"LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to make it "
-"global in /etc/profile.\n"
-"\n"
-"Highlighting misspelled words feature will not be used"
-msgstr ""
-"Se este não for o idioma para o qual você quer destacar palavras incorretas, "
-"por favor, configure a sua variável de ambiente $LANG com o valor "
-"apropriado. Por exemplo, para o francês exporte LANG=fr_FR ou exporte "
-"LANG=fr_FR.UTF-8 em ~/.bash_profile ou coloca-lo \n"
-" globalmente em/etc/profile.\n"
-"Caracteristica de destacar palavras erradas não será usada"
-
-#: ../src/chat_control.py:251
+#: ../src/chat_control2.py:310 ../src/chat_control.py:313
 msgid "Spelling language"
 msgstr "Idioma do corretor ortográfico"
 
 #. we are not connected
-#: ../src/chat_control.py:274 ../src/chat_control.py:480
+#: ../src/chat_control2.py:333 ../src/chat_control2.py:549
+#: ../src/chat_control.py:336 ../src/chat_control.py:559
 msgid "A connection is not available"
 msgstr "Uma conexão não está disponível"
 
-#: ../src/chat_control.py:275 ../src/chat_control.py:481
+#: ../src/chat_control2.py:334 ../src/chat_control2.py:550
+#: ../src/chat_control.py:337 ../src/chat_control.py:560
 msgid "Your message can not be sent until you are connected."
 msgstr "Sua mensagem não pode ser enviada até que esteja conectado."
 
-#: ../src/chat_control.py:1054
+#: ../src/chat_control2.py:1176 ../src/chat_control.py:1186
 #, python-format
 msgid "%(nickname)s from group chat %(room_name)s"
 msgstr "%(nickname)s da conferência %(room_name)s"
 
 #. we talk about a contact here
-#: ../src/chat_control.py:1143
+#: ../src/chat_control2.py:1271 ../src/chat_control.py:1282
 #, python-format
 msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
 msgstr "%s não tem a transmissão uma chave de OpenPGP, nem uma foi atribuída"
 
-#: ../src/chat_control.py:1275
+#: ../src/chat_control2.py:1314 ../src/chat_control.py:1325
+#: ../src/groupchat_control.py:1433
+#, python-format
+msgid "No such command: /%s (if you want to send this, prefix it with /say)"
+msgstr ""
+"Comando não encontrado: /%s (se você quer enviar isto, use este prefixo /say)"
+
+#: ../src/chat_control2.py:1321 ../src/chat_control.py:1332
+#: ../src/groupchat_control.py:1456
+#, python-format
+msgid "Commands: %s"
+msgstr "Comandos: %s"
+
+#: ../src/chat_control2.py:1324 ../src/chat_control.py:1335
+#: ../src/groupchat_control.py:1470
+#, python-format
+msgid "Usage: /%s, clears the text window."
+msgstr "Uso: /%s, apaga o texto da janela."
+
+#: ../src/chat_control2.py:1327 ../src/chat_control.py:1338
+#: ../src/groupchat_control.py:1475
+#, python-format
+msgid "Usage: /%s, hide the chat buttons."
+msgstr "Uso: /%s, esconde os botões do bate-papo."
+
+#: ../src/chat_control2.py:1330 ../src/chat_control.py:1341
+#: ../src/groupchat_control.py:1491
+#, python-format
+msgid ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+msgstr ""
+"Uso: /%s <ação>, emite a ação à  sala atual. Use a terceira pessoa (por "
+"exemplo: /%s explodes.)"
+
+#: ../src/chat_control2.py:1334 ../src/chat_control.py:1345
+#, python-format
+msgid "Usage: /%s, sends a ping to the contact"
+msgstr "Uso: /%s, envia um ping para o contato"
+
+#: ../src/chat_control2.py:1337 ../src/chat_control.py:1348
+#, python-format
+msgid "Usage: /%s, send the message to the contact"
+msgstr "Uso: /%s, envia a mensagem para o contato"
+
+#: ../src/chat_control2.py:1340 ../src/chat_control.py:1351
+#: ../src/groupchat_control.py:1514
+#, python-format
+msgid "No help info for /%s"
+msgstr "Sem ajuda para /%s"
+
+#: ../src/chat_control2.py:1478 ../src/chat_control2.py:1504
+#: ../src/chat_control.py:1489 ../src/chat_control.py:1515
 msgid "Encryption enabled"
 msgstr "Criptografia habilitada"
 
-#: ../src/chat_control.py:1280
+#: ../src/chat_control2.py:1483 ../src/chat_control.py:1494
+msgid "Session WILL be logged"
+msgstr "A sessão SERÁ gravada"
+
+#: ../src/chat_control2.py:1485 ../src/chat_control.py:1496
+msgid "Session WILL NOT be logged"
+msgstr "A sessão NÃO SERÁ gravada"
+
+#: ../src/chat_control2.py:1492 ../src/chat_control.py:1503
+msgid "The following message was NOT encrypted"
+msgstr "A seguinte mensagem NÃO estava criptografada"
+
+#: ../src/chat_control2.py:1496 ../src/chat_control2.py:1509
+#: ../src/chat_control2.py:2155 ../src/chat_control.py:1507
+#: ../src/chat_control.py:1520 ../src/chat_control.py:2166
 msgid "Encryption disabled"
 msgstr "Criptografia desabilitada"
 
 #. add_to_roster_menuitem
-#: ../src/chat_control.py:1425 ../src/conversation_textview.py:502
-#: ../src/dialogs.py:629 ../src/gajim.py:850 ../src/gajim.py:851
-#: ../src/gajim.py:1196 ../src/roster_window.py:333
-#: ../src/roster_window.py:411 ../src/roster_window.py:1497
-#: ../src/roster_window.py:1507 ../src/roster_window.py:1686
-#: ../src/roster_window.py:1892 ../src/roster_window.py:2477
-#: ../src/roster_window.py:2678 ../src/roster_window.py:3924
-#: ../src/roster_window.py:3926 ../src/common/contacts.py:73
-#: ../src/common/helpers.py:43 ../src/common/helpers.py:255
+#: ../src/chat_control2.py:1672 ../src/chat_control.py:1683
+#: ../src/conversation_textview.py:705 ../src/dialogs.py:732
+#: ../src/gajim.py:911 ../src/gajim.py:912 ../src/gajim.py:1436
+#: ../src/gajim.py:1687 ../src/roster_window.py:358
+#: ../src/roster_window.py:442 ../src/roster_window.py:1822
+#: ../src/roster_window.py:1832 ../src/roster_window.py:2072
+#: ../src/roster_window.py:2308 ../src/roster_window.py:3158
+#: ../src/roster_window.py:3397 ../src/roster_window.py:4759
+#: ../src/roster_window.py:4761 ../src/common/contacts.py:89
+#: ../src/common/helpers.py:53 ../src/common/helpers.py:267
 msgid "Not in Roster"
 msgstr "Fora da lista"
 
 #. %s is being replaced in the code with JID
-#: ../src/chat_control.py:1571
+#: ../src/chat_control2.py:1825 ../src/chat_control.py:1836
 #, python-format
 msgid "You just received a new message from \"%s\""
 msgstr "Você acabou de receber uma nova mensagem de \"%s\""
 
-#: ../src/chat_control.py:1572
+#: ../src/chat_control2.py:1826 ../src/chat_control.py:1837
 msgid ""
 "If you close this tab and you have history disabled, this message will be "
 "lost."
@@ -2648,29 +2876,32 @@ msgstr ""
 "Se você fechar esta aba e o histórico estiver desabilitado, esta mensagem "
 "será perdida."
 
-#: ../src/config.py:139 ../src/config.py:588
+#: ../src/config.py:127 ../src/config.py:565
 msgid "Disabled"
 msgstr "Desabilitado"
 
-#: ../src/config.py:233
-#, python-format
-msgid "Every %s _minutes"
-msgstr "A cada %s _minutos"
-
-#: ../src/config.py:353
+#: ../src/config.py:293
 msgid "Active"
 msgstr "Ativo"
 
-#: ../src/config.py:361
+#: ../src/config.py:301
 msgid "Event"
 msgstr "Evento"
 
-#: ../src/config.py:684 ../src/gajim.py:2263
+#: ../src/config.py:407
+msgid "Always use OS/X default applications"
+msgstr "Sempre usar as aplicações padrões do OS/X"
+
+#: ../src/config.py:408
+msgid "Custom"
+msgstr "Personalizar"
+
+#: ../src/config.py:638 ../src/dialogs.py:1018
 #, python-format
 msgid "Dictionary for lang %s not available"
 msgstr "O dicionário para o idioma %s não está disponível"
 
-#: ../src/config.py:685 ../src/gajim.py:2264
+#: ../src/config.py:639
 #, python-format
 msgid ""
 "You have to install %s dictionary to use spellchecking, or choose another "
@@ -2679,71 +2910,103 @@ msgstr ""
 "Você precisa instalar o dicionário %s para usar a correção ortográfica ou "
 "selecionar outro idioma ajustando a opção 'speller_language'."
 
-#: ../src/config.py:1008
+#: ../src/config.py:1001
 msgid "status message title"
 msgstr "título da mensagem de status"
 
-#: ../src/config.py:1008
+#: ../src/config.py:1001
 msgid "status message text"
 msgstr "texto da mensagem de status"
 
-#: ../src/config.py:1044
+#: ../src/config.py:1037
 msgid "First Message Received"
 msgstr "Primeira Mensagem Recebida"
 
-#: ../src/config.py:1045
+#: ../src/config.py:1038
 msgid "Next Message Received"
 msgstr "Nova Mensagem Recebida"
 
-#: ../src/config.py:1046
+#: ../src/config.py:1039
 msgid "Contact Connected"
 msgstr "Contato Conectado"
 
-#: ../src/config.py:1047
+#: ../src/config.py:1040
 msgid "Contact Disconnected"
 msgstr "Contato Desconectou"
 
-#: ../src/config.py:1048
+#: ../src/config.py:1041
 msgid "Message Sent"
 msgstr "Mensagem Enviada"
 
-#: ../src/config.py:1049
+#: ../src/config.py:1042
 msgid "Group Chat Message Highlight"
 msgstr "Mensagem Destacada de Conferência"
 
-#: ../src/config.py:1050
+#: ../src/config.py:1043
 msgid "Group Chat Message Received"
 msgstr "Mensagem de Conferência Recebida"
 
-#: ../src/config.py:1057
+#: ../src/config.py:1050
 msgid "GMail Email Received"
 msgstr "Email do Gmail Recebido"
 
-#: ../src/config.py:1260
+#. Name column
+#: ../src/config.py:1319 ../src/dialogs.py:1517 ../src/dialogs.py:1581
+#: ../src/disco.py:743 ../src/disco.py:1569 ../src/disco.py:1815
+#: ../src/history_window.py:113
+msgid "Name"
+msgstr "Nome"
+
+#: ../src/config.py:1425 ../src/common/config.py:393
+msgid "Be right back."
+msgstr "Estou de volta."
+
+#: ../src/config.py:1429
+msgid "Relogin now?"
+msgstr "Re-autenticar agora?"
+
+#: ../src/config.py:1430
+msgid "If you want all the changes to apply instantly, you must relogin."
+msgstr "Se você quer aplicar todas as mudanças, deve se re-autenticar."
+
+#: ../src/config.py:1525 ../src/config.py:1616
 msgid "OpenPGP is not usable in this computer"
 msgstr "OpenPGP não disponível neste computador"
 
-#: ../src/config.py:1306
+#: ../src/config.py:1652 ../src/config.py:1693
+msgid "Unread events"
+msgstr "Eventos não lidos"
+
+#: ../src/config.py:1653
+msgid "Read all pending events before removing this account."
+msgstr "Ler todos os eventos pendentes antes de remover esta conta."
+
+#: ../src/config.py:1679
+#, python-format
+msgid "You have opened chat in account %s"
+msgstr "Você iniciou uma conversa usando a conta %s"
+
+#: ../src/config.py:1680
+msgid "All chat and groupchat windows will be closed. Do you want to continue?"
+msgstr "Todas as janelas de conversa e conferência serão fechadas. Confirma?"
+
+#: ../src/config.py:1689
 msgid "You are currently connected to the server"
 msgstr "Você está atualmente conectado ao servidor"
 
-#: ../src/config.py:1307
+#: ../src/config.py:1690
 msgid "To change the account name, you must be disconnected."
 msgstr "Para mudar o nome da conta, você deve estar disconectado."
 
-#: ../src/config.py:1310 ../src/config.py:1916
-msgid "Unread events"
-msgstr "Eventos não lidos"
-
-#: ../src/config.py:1311
+#: ../src/config.py:1694
 msgid "To change the account name, you must read all pending events."
 msgstr "Para mudar o nome da conta, você deve ler todas os eventos pendentes."
 
-#: ../src/config.py:1315
+#: ../src/config.py:1700
 msgid "Account Name Already Used"
 msgstr "Nome de conta já está em uso"
 
-#: ../src/config.py:1316
+#: ../src/config.py:1701
 msgid ""
 "This name is already used by another of your accounts. Please choose another "
 "name."
@@ -2751,174 +3014,147 @@ msgstr ""
 "Este nome já está sendo usado por outra de suas contas. Por favor, escolha "
 "outro nome."
 
-#: ../src/config.py:1320 ../src/config.py:1324
+#: ../src/config.py:1705 ../src/config.py:1709
 msgid "Invalid account name"
 msgstr "Nome de conta inválido"
 
-#: ../src/config.py:1321
+#: ../src/config.py:1706
 msgid "Account name cannot be empty."
 msgstr "Nome da conta não pode ser vazio."
 
-#: ../src/config.py:1325
+#: ../src/config.py:1710
 msgid "Account name cannot contain spaces."
 msgstr "Nome da conta não pode conter espaços."
 
-#: ../src/config.py:1333 ../src/config.py:1339 ../src/config.py:1349
-#: ../src/config.py:2900
+#: ../src/config.py:1774
+msgid "Rename Account"
+msgstr "Renomear Conta"
+
+#: ../src/config.py:1775
+#, python-format
+msgid "Enter a new name for account %s"
+msgstr "Entre com um novo nome para a conta %s"
+
+#: ../src/config.py:1793 ../src/config.py:1801 ../src/config.py:1841
+#: ../src/config.py:3048 ../src/dataforms_widget.py:533
 msgid "Invalid Jabber ID"
 msgstr "Jabber ID Inválido:"
 
-#: ../src/config.py:1340
+#: ../src/config.py:1802
 msgid "A Jabber ID must be in the form \"user@servername\"."
 msgstr "Um Jabber ID deve ter o seguinte formato \"usuário@nomedoservidor\"."
 
-#: ../src/config.py:1399
+#: ../src/config.py:1988 ../src/config.py:3119
 msgid "Invalid entry"
 msgstr "Entrada inválida"
 
-#: ../src/config.py:1400
+#: ../src/config.py:1989 ../src/config.py:3120
 msgid "Custom port must be a port number."
 msgstr "A porta do proxy deve ser um número de porta."
 
-#: ../src/config.py:1528 ../src/common/config.py:367
-msgid "Be right back."
-msgstr "Estou de volta."
+#: ../src/config.py:2010
+msgid "Failed to get secret keys"
+msgstr "Falha enquanto recebia as chaves secretas"
 
-#: ../src/config.py:1538
-msgid "Relogin now?"
-msgstr "Re-autenticar agora?"
+#: ../src/config.py:2011
+msgid "There was a problem retrieving your OpenPGP secret keys."
+msgstr "Houve um problema no recebimento de suas chaves secretas OpenPGP."
 
-#: ../src/config.py:1539
-msgid "If you want all the changes to apply instantly, you must relogin."
-msgstr "Se você quer aplicar todas as mudanças, deve se re-autenticar."
+#: ../src/config.py:2014
+msgid "OpenPGP Key Selection"
+msgstr "Seleção de Chave OpenPGP"
+
+#: ../src/config.py:2015
+msgid "Choose your OpenPGP key"
+msgstr "Escolha sua chave OpenPGP"
 
-#: ../src/config.py:1565
+#: ../src/config.py:2055
 msgid "No such account available"
 msgstr "Conta não disponível"
 
-#: ../src/config.py:1566
+#: ../src/config.py:2056
 msgid "You must create your account before editing your personal information."
 msgstr ""
 "Você deve primeiro criar sua conta antes de editar suas informações pessoais."
 
-#: ../src/config.py:1573 ../src/dialogs.py:1190 ../src/dialogs.py:1326
-#: ../src/dialogs.py:1506 ../src/disco.py:420 ../src/profile_window.py:323
+#: ../src/config.py:2063 ../src/dialogs.py:1364 ../src/dialogs.py:1505
+#: ../src/dialogs.py:1685 ../src/disco.py:427 ../src/profile_window.py:318
 msgid "You are not connected to the server"
 msgstr "Você não está conectado ao servidor"
 
-#: ../src/config.py:1574
+#: ../src/config.py:2064
 msgid "Without a connection, you can not edit your personal information."
 msgstr "Você deve estar conectado para editar suas informações pessoais."
 
-#: ../src/config.py:1578
+#: ../src/config.py:2068
 msgid "Your server doesn't support Vcard"
 msgstr "Seu servidor não suporta Vcard"
 
-#: ../src/config.py:1579
+#: ../src/config.py:2069
 msgid "Your server can't save your personal information."
 msgstr "Seu servidor não pode salvar suas informações pessoais."
 
-#: ../src/config.py:1610 ../src/config.py:3288
-msgid "Failed to get secret keys"
-msgstr "Falha enquanto recebia as chaves secretas"
-
-#: ../src/config.py:1611 ../src/config.py:3289
-msgid "There was a problem retrieving your OpenPGP secret keys."
-msgstr "Houve um problema no recebimento de suas chaves secretas OpenPGP."
-
-#: ../src/config.py:1614 ../src/config.py:3292
-msgid "OpenPGP Key Selection"
-msgstr "Seleção de Chave OpenPGP"
-
-#: ../src/config.py:1615 ../src/config.py:3293
-msgid "Choose your OpenPGP key"
-msgstr "Escolha sua chave OpenPGP"
-
-#. Name column
-#: ../src/config.py:1850 ../src/dialogs.py:1338 ../src/dialogs.py:1402
-#: ../src/disco.py:741 ../src/disco.py:1564 ../src/disco.py:1802
-#: ../src/history_window.py:78
-msgid "Name"
-msgstr "Nome"
-
-#: ../src/config.py:1853 ../src/dialogs.py:1341
-msgid "Server"
-msgstr "Servidor"
-
-#: ../src/config.py:1917
-msgid "Read all pending events before removing this account."
-msgstr "Ler todos os eventos pendentes antes de remover esta conta."
-
-#: ../src/config.py:1954
-#, python-format
-msgid "You have opened chat in account %s"
-msgstr "Você iniciou uma conversa usando a conta %s"
-
-#: ../src/config.py:1955
-msgid "All chat and groupchat windows will be closed. Do you want to continue?"
-msgstr "Todas as janelas de conversa e conferência serão fechadas. Confirma?"
-
-#: ../src/config.py:2014
+#: ../src/config.py:2100
 msgid "Account Local already exists."
 msgstr "Conta local já existe."
 
-#: ../src/config.py:2015
+#: ../src/config.py:2101
 msgid "Please rename or remove it before enabling link-local messaging."
 msgstr ""
 "Por favor renomeie ou remova-o antes de ativar troca de mensagens \"link-"
 "local\"."
 
-#: ../src/config.py:2111
+#: ../src/config.py:2277
 #, python-format
 msgid "Edit %s"
 msgstr "_Editar %s"
 
-#: ../src/config.py:2113
+#: ../src/config.py:2279
 #, python-format
 msgid "Register to %s"
 msgstr "Registro para %s"
 
 #. list at the beginning
-#: ../src/config.py:2179
+#: ../src/config.py:2315
 msgid "Ban List"
 msgstr "Lista de Banidos"
 
-#: ../src/config.py:2180
+#: ../src/config.py:2316
 msgid "Member List"
 msgstr "Lista de Membros"
 
-#: ../src/config.py:2181
+#: ../src/config.py:2317
 msgid "Owner List"
 msgstr "Lista de Donos"
 
-#: ../src/config.py:2182
+#: ../src/config.py:2318
 msgid "Administrator List"
 msgstr "Lista de Administradores"
 
 #. Address column
 #. holds JID (who said this)
-#: ../src/config.py:2231 ../src/disco.py:748 ../src/history_manager.py:155
+#: ../src/config.py:2367 ../src/disco.py:750 ../src/history_manager.py:160
 msgid "JID"
 msgstr "JID"
 
-#: ../src/config.py:2239
+#: ../src/config.py:2375
 msgid "Reason"
 msgstr "Razão"
 
-#: ../src/config.py:2244
+#: ../src/config.py:2380
 msgid "Nick"
 msgstr "Apelido"
 
-#: ../src/config.py:2248
+#: ../src/config.py:2384
 msgid "Role"
 msgstr "Lista"
 
-#: ../src/config.py:2273
+#: ../src/config.py:2409
 msgid "Banning..."
 msgstr "Banindo..."
 
 #. You can move '\n' before user@domain if that line is TOO BIG
-#: ../src/config.py:2275
+#: ../src/config.py:2411
 msgid ""
 "<b>Whom do you want to ban?</b>\n"
 "\n"
@@ -2926,11 +3162,11 @@ msgstr ""
 "<b>Quem você quer banir?</b>\n"
 "\n"
 
-#: ../src/config.py:2277
+#: ../src/config.py:2413
 msgid "Adding Member..."
 msgstr "Adicionando Membro..."
 
-#: ../src/config.py:2278
+#: ../src/config.py:2414
 msgid ""
 "<b>Whom do you want to make a member?</b>\n"
 "\n"
@@ -2938,11 +3174,11 @@ msgstr ""
 "<b>Quem você quer fazer como membro?</b>\n"
 "\n"
 
-#: ../src/config.py:2280
+#: ../src/config.py:2416
 msgid "Adding Owner..."
 msgstr "Adicionando Proprietário..."
 
-#: ../src/config.py:2281
+#: ../src/config.py:2417
 msgid ""
 "<b>Whom do you want to make an owner?</b>\n"
 "\n"
@@ -2950,11 +3186,11 @@ msgstr ""
 "<b>Quem você quer tornar um dono?</b>\n"
 "\n"
 
-#: ../src/config.py:2283
+#: ../src/config.py:2419
 msgid "Adding Administrator..."
 msgstr "Adicionando Administrador..."
 
-#: ../src/config.py:2284
+#: ../src/config.py:2420
 msgid ""
 "<b>Whom do you want to make an administrator?</b>\n"
 "\n"
@@ -2962,7 +3198,7 @@ msgstr ""
 "<b>Quem você quer tornar um administrador?</b>\n"
 "\n"
 
-#: ../src/config.py:2285
+#: ../src/config.py:2421
 msgid ""
 "Can be one of the following:\n"
 "1. user@domain/resource (only that resource matches).\n"
@@ -2978,101 +3214,85 @@ msgstr ""
 "4. domínio (o domínio combina por si com qualquer usuario@domínio,\n"
 "domínio/recurso, ou endereço contendo um subdomínio."
 
-#: ../src/config.py:2389
+#: ../src/config.py:2525
 #, python-format
 msgid "Removing %s account"
 msgstr "Removendo %s conta"
 
-#: ../src/config.py:2406 ../src/roster_window.py:2737
+#: ../src/config.py:2540 ../src/gajim.py:1343 ../src/roster_window.py:3455
 msgid "Password Required"
 msgstr "Senha é obrigatória"
 
-#: ../src/config.py:2407 ../src/roster_window.py:2733
+#: ../src/config.py:2541 ../src/roster_window.py:3451
 #, python-format
 msgid "Enter your password for account %s"
 msgstr "Entre com a senha para conta %s"
 
-#: ../src/config.py:2408 ../src/roster_window.py:2738
+#: ../src/config.py:2542 ../src/roster_window.py:3456
 msgid "Save password"
 msgstr "Salvar senha"
 
-#: ../src/config.py:2422
+#: ../src/config.py:2555
 #, python-format
 msgid "Account \"%s\" is connected to the server"
 msgstr "Conta \"%s\" está conectada ao servidor"
 
-#: ../src/config.py:2423
+#: ../src/config.py:2556
 msgid "If you remove it, the connection will be lost."
 msgstr "Se você remover-lo, a conexão será perdida."
 
-#: ../src/config.py:2508
+#: ../src/config.py:2649
 msgid "Default"
 msgstr "Padrão"
 
-#: ../src/config.py:2508
+#: ../src/config.py:2649
 msgid "?print_status:All"
 msgstr "?exibir_status:Todos"
 
-#: ../src/config.py:2509
+#: ../src/config.py:2650
 msgid "Enter and leave only"
 msgstr "Apenas entre e saia"
 
-#: ../src/config.py:2510
+#: ../src/config.py:2651
 msgid "?print_status:None"
 msgstr "?exibir_status:Nenhum"
 
-#: ../src/config.py:2578
+#: ../src/config.py:2720
 msgid "New Group Chat"
 msgstr "Nova Conferência"
 
-#: ../src/config.py:2611
+#: ../src/config.py:2753
 msgid "This bookmark has invalid data"
 msgstr "Bookmark tem dados inválidos"
 
-#: ../src/config.py:2612
+#: ../src/config.py:2754
 msgid ""
 "Please be sure to fill out server and room fields or remove this bookmark."
 msgstr ""
 "Por favor, tenha certeza que preencheu os campos servidor e sala ou remova "
 "este bookmark"
 
-#: ../src/config.py:2875
+#: ../src/config.py:3031
 msgid "Invalid username"
 msgstr "Nome de usuário inválido"
 
-#: ../src/config.py:2876
+#: ../src/config.py:3033
 msgid "You must provide a username to configure this account."
 msgstr "Você deve entrar com um nome para configurar esta conta."
 
-#: ../src/config.py:2886 ../src/dialogs.py:1525
-msgid "Invalid password"
-msgstr "Senha Inválida"
-
-#: ../src/config.py:2887
-msgid "You must enter a password for the new account."
-msgstr "Você deve entrar com uma senha para registrar uma nova conta."
-
-#: ../src/config.py:2891 ../src/dialogs.py:1530
-msgid "Passwords do not match"
-msgstr "Senhas não conferem"
-
-#: ../src/config.py:2892 ../src/dialogs.py:1531
-msgid "The passwords typed in both fields must be identical."
-msgstr "As senhas digitadas em ambos os campos devem ser idênticas."
-
-#: ../src/config.py:2911
+#: ../src/config.py:3059
 msgid "Duplicate Jabber ID"
 msgstr "Jabber ID Duplicado"
 
-#: ../src/config.py:2912
+#: ../src/config.py:3060
 msgid "This account is already configured in Gajim."
 msgstr "Esta conta já está configurada no Gajim."
 
-#: ../src/config.py:2929
+#: ../src/config.py:3077
 msgid "Account has been added successfully"
 msgstr "Conta foi adicionada com sucesso"
 
-#: ../src/config.py:2930 ../src/config.py:2965
+#: ../src/config.py:3078 ../src/config.py:3223
 msgid ""
 "You can set advanced account options by pressing the Advanced button, or "
 "later by choosing the Accounts menuitem under the Edit menu from the main "
@@ -3082,23 +3302,31 @@ msgstr ""
 "Avançado, ou mais tarde clicando em Contas no menu Editar da janela "
 "principal."
 
-#: ../src/config.py:2964
-msgid "Your new account has been created successfully"
-msgstr "Sua nova conta foi criada com sucesso"
+#: ../src/config.py:3095
+msgid "Invalid server"
+msgstr "Servidor inválido"
 
-#: ../src/config.py:2982
+#: ../src/config.py:3096
+msgid "Please provide a server on which you want to register."
+msgstr "Por favor, forneça um servidor no qual você queira se registrar."
+
+#: ../src/config.py:3202 ../src/config.py:3241
 msgid "An error occurred during account creation"
 msgstr "Um erro ocorreu durante a criação da conta"
 
-#: ../src/config.py:3040
+#: ../src/config.py:3222
+msgid "Your new account has been created successfully"
+msgstr "Sua nova conta foi criada com sucesso"
+
+#: ../src/config.py:3325
 msgid "Account name is in use"
 msgstr "Nome de conta em uso"
 
-#: ../src/config.py:3041
+#: ../src/config.py:3326
 msgid "You already have an account using this name."
 msgstr "Você já tem uma conta usando este nome."
 
-#: ../src/conversation_textview.py:280
+#: ../src/conversation_textview.py:454
 msgid ""
 "Text below this line is what has been said since the last time you paid "
 "attention to this group chat"
@@ -3106,191 +3334,220 @@ msgstr ""
 "O texto abaixo desta linha é o que foi dito desde a última vez onde você "
 "prestou a atenção a conferência"
 
-#: ../src/conversation_textview.py:349
+#: ../src/conversation_textview.py:552
 #, python-format
 msgid "_Actions for \"%s\""
 msgstr "_Ações para \"%s\""
 
-#: ../src/conversation_textview.py:361
+#: ../src/conversation_textview.py:564
 msgid "Read _Wikipedia Article"
 msgstr "Ler Artigo da _Wikipedia"
 
-#: ../src/conversation_textview.py:366
+#: ../src/conversation_textview.py:569
 msgid "Look it up in _Dictionary"
 msgstr "Procurar no _Dicionário"
 
 #. we must have %s in the url if not WIKTIONARY
-#: ../src/conversation_textview.py:382
+#: ../src/conversation_textview.py:585
 #, python-format
 msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
 msgstr "URL do Dicionário não existe \"%s\" e isto não é WIKTIONARY"
 
 #. we must have %s in the url
-#: ../src/conversation_textview.py:395
+#: ../src/conversation_textview.py:598
 #, python-format
 msgid "Web Search URL is missing an \"%s\""
 msgstr "URL de Procura na Web não existe \"%s\""
 
-#: ../src/conversation_textview.py:398
+#: ../src/conversation_textview.py:601
 msgid "Web _Search for it"
 msgstr "_Procura na Web por isto"
 
-#: ../src/conversation_textview.py:404
+#: ../src/conversation_textview.py:607
 msgid "Open as _Link"
 msgstr "Abrir como _Link"
 
-#: ../src/conversation_textview.py:765
+#: ../src/conversation_textview.py:1073
 msgid "Yesterday"
 msgstr "Ontem"
 
 #. the number is >= 2
 #. %i is day in year (1-365), %d (1-31) we want %i
-#: ../src/conversation_textview.py:769
+#: ../src/conversation_textview.py:1077
 #, python-format
 msgid "%i days ago"
 msgstr "%i dias atrás"
 
 #. if we have subject, show it too!
-#: ../src/conversation_textview.py:803
+#: ../src/conversation_textview.py:1111
 #, python-format
 msgid "Subject: %s\n"
 msgstr "Assunto: %s\n"
 
-#: ../src/dialogs.py:59
+#: ../src/dataforms_widget.py:537
+msgid "Jabber ID already in list"
+msgstr "Jabber ID já existente na lista"
+
+#: ../src/dataforms_widget.py:538
+msgid "The Jabber ID you entered is already in the list. Choose another one."
+msgstr "O Jabber ID que você forneceu já está na lista. Escolha outro."
+
+#. Default jid
+#: ../src/dataforms_widget.py:549
+msgid "new@jabber.id"
+msgstr "novo@jabber.id"
+
+#: ../src/dataforms_widget.py:552 ../src/dataforms_widget.py:554
+#, python-format
+msgid "new%d@jabber.id"
+msgstr "novo%d@jabber.id"
+
+#: ../src/dialogs.py:71
 #, python-format
 msgid "Contact name: <i>%s</i>"
 msgstr "Nome do Contato: <i>%s</i>"
 
-#: ../src/dialogs.py:61
+#: ../src/dialogs.py:73
 #, python-format
 msgid "Jabber ID: <i>%s</i>"
 msgstr "Jabber ID: <i>%s</i>"
 
-#: ../src/dialogs.py:211
+#: ../src/dialogs.py:223
 msgid "Group"
 msgstr "Grupo"
 
-#: ../src/dialogs.py:218
+#: ../src/dialogs.py:230
 msgid "In the group"
 msgstr "Neste grupo"
 
-#: ../src/dialogs.py:269
+#: ../src/dialogs.py:330
 msgid "KeyID"
 msgstr "KeyID"
 
-#: ../src/dialogs.py:272
+#: ../src/dialogs.py:335
 msgid "Contact name"
 msgstr "Nome do Contato"
 
-#: ../src/dialogs.py:318
+#: ../src/dialogs.py:381
 #, python-format
 msgid "%s Status Message"
 msgstr "%s Mensagem de status"
 
-#: ../src/dialogs.py:320
+#: ../src/dialogs.py:383
 msgid "Status Message"
 msgstr "Mensagem de status"
 
-#: ../src/dialogs.py:395
+#: ../src/dialogs.py:483
 msgid "Save as Preset Status Message"
 msgstr "Salvar como a mensagem de status pré-configurada"
 
-#: ../src/dialogs.py:396
+#: ../src/dialogs.py:484
 msgid "Please type a name for this status message"
 msgstr "Por favor, escreva um nome para esta mensagem de status"
 
-#: ../src/dialogs.py:417
+#: ../src/dialogs.py:495
+msgid "Overwrite Status Message?"
+msgstr "Sobrescrever Mensagem de Status?"
+
+#: ../src/dialogs.py:496
+msgid ""
+"This name is already used. Do you want to overwrite this status message?"
+msgstr ""
+"Este nome já está sendo usado. Você quer sobrescrever essa mensagem de "
+"status?"
+
+#: ../src/dialogs.py:512
 msgid "AIM Address:"
 msgstr "Endereço AIM:"
 
-#: ../src/dialogs.py:418
+#: ../src/dialogs.py:513
 msgid "GG Number:"
 msgstr "Número de GG:"
 
-#: ../src/dialogs.py:419
+#: ../src/dialogs.py:514
 msgid "ICQ Number:"
 msgstr "Número de ICQ:"
 
-#: ../src/dialogs.py:420
+#: ../src/dialogs.py:515
 msgid "MSN Address:"
 msgstr "Endereço MSN:"
 
-#: ../src/dialogs.py:421
+#: ../src/dialogs.py:516
 msgid "Yahoo! Address:"
 msgstr "Endereço Yahoo!:"
 
-#: ../src/dialogs.py:457
+#: ../src/dialogs.py:553
 #, python-format
 msgid "Please fill in the data of the contact you want to add in account %s"
 msgstr ""
 "Por favor, preencha os dados do contato se você quer adicionar na conta %s"
 
-#: ../src/dialogs.py:459
+#: ../src/dialogs.py:555
 msgid "Please fill in the data of the contact you want to add"
 msgstr "Por favor preencha os dados do contato que você quer adicionar"
 
-#: ../src/dialogs.py:609 ../src/dialogs.py:615
+#: ../src/dialogs.py:712 ../src/dialogs.py:718
 msgid "Invalid User ID"
 msgstr "Inválido ID do usuário"
 
-#: ../src/dialogs.py:616
+#: ../src/dialogs.py:719
 msgid "The user ID must not contain a resource."
 msgstr "O ID do usuário não contém um recurso."
 
-#: ../src/dialogs.py:630
+#: ../src/dialogs.py:733
 msgid "Contact already in roster"
 msgstr "Contato já foi adicionado à  lista"
 
-#: ../src/dialogs.py:631
+#: ../src/dialogs.py:734
 msgid "This contact is already listed in your roster."
 msgstr "Este contato já encontra-se em sua lista."
 
-#: ../src/dialogs.py:668
+#: ../src/dialogs.py:770
 msgid "User ID:"
 msgstr "ID do Usuário:"
 
-#: ../src/dialogs.py:731
+#: ../src/dialogs.py:832
 msgid "A GTK+ jabber client"
 msgstr "Um cliente jabber GTK+"
 
-#: ../src/dialogs.py:732
+#: ../src/dialogs.py:833
 msgid "GTK+ Version:"
 msgstr "Versão do GTK+:"
 
-#: ../src/dialogs.py:733
+#: ../src/dialogs.py:834
 msgid "PyGTK Version:"
 msgstr "Versão do PyGTK:"
 
-#: ../src/dialogs.py:747
+#: ../src/dialogs.py:848
 msgid "Current Developers:"
 msgstr "Desenvolvedores Atuais:"
 
-#: ../src/dialogs.py:749
+#: ../src/dialogs.py:850
 msgid "Past Developers:"
 msgstr "Desenvolvedores Passados:"
 
-#: ../src/dialogs.py:759
+#: ../src/dialogs.py:860
 msgid "THANKS:"
 msgstr "AGRADECIMENTOS:"
 
 #. remove one english sentence
 #. and add it manually as translatable
-#: ../src/dialogs.py:765
+#: ../src/dialogs.py:866
 msgid "Last but not least, we would like to thank all the package maintainers."
 msgstr "Nós gostaríamos de agradecer todos os mantedores do pacote."
 
 #. here you write your name in the form Name FamilyName <someone@somewhere>
-#: ../src/dialogs.py:778
+#: ../src/dialogs.py:879
 msgid "translator-credits"
 msgstr ""
 "Alfredo Jr. - Junix <junix@infolink.com.br> e Juracy Filho <juracy@gmail.com>"
 
-#: ../src/dialogs.py:908
+#: ../src/dialogs.py:1011
 #, python-format
 msgid "Unable to bind to port %s."
 msgstr "Impossível conectar à porta %s."
 
-#: ../src/dialogs.py:909
+#: ../src/dialogs.py:1012
 msgid ""
 "Maybe you have another running instance of Gajim. File Transfer will be "
 "cancelled."
@@ -3298,76 +3555,93 @@ msgstr ""
 "Talvez haja uma outra instância do Gajim em execução. A Transferência de "
 "Arquivos será cancelada."
 
-#: ../src/dialogs.py:1120
+#: ../src/dialogs.py:1019
+#, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option.\n"
+"\n"
+"Highlighting misspelled words feature will not be used"
+msgstr ""
+"Você precisa instalar o dicionário %s para usar a correção ortográfica ou "
+"selecionar outro idioma definindo a opção speller_language.\n"
+"\n"
+"O recurso de destacar palavras grafadas incorretamente não será usado"
+
+#: ../src/dialogs.py:1293
 #, python-format
 msgid "Subscription request for account %s from %s"
 msgstr "Solicitação de inscrição para conta %s de %s"
 
-#: ../src/dialogs.py:1123
+#: ../src/dialogs.py:1296
 #, python-format
 msgid "Subscription request from %s"
 msgstr "Solicitação de inscrição de %s"
 
-#: ../src/dialogs.py:1183 ../src/roster_window.py:687
+#: ../src/dialogs.py:1357 ../src/roster_window.py:776
 #, python-format
 msgid "You are already in group chat %s"
 msgstr "Você já está na conferência %s"
 
-#: ../src/dialogs.py:1191
+#: ../src/dialogs.py:1365
 msgid "You can not join a group chat unless you are connected."
 msgstr ""
 "Você não pode ingressar em uma sala de conferência até que esteja conectado."
 
-#: ../src/dialogs.py:1206
+#: ../src/dialogs.py:1383
 #, python-format
 msgid "Join Group Chat with account %s"
 msgstr "Ingressar numa conferência com a conta %s"
 
-#: ../src/dialogs.py:1274 ../src/dialogs.py:1280
-#: ../src/groupchat_control.py:1475
+#: ../src/dialogs.py:1453 ../src/dialogs.py:1459
+#: ../src/groupchat_control.py:1683
 msgid "Invalid group chat Jabber ID"
 msgstr "Jabber ID da conferência inválido:"
 
-#: ../src/dialogs.py:1275 ../src/dialogs.py:1281
-#: ../src/groupchat_control.py:1476
+#: ../src/dialogs.py:1454 ../src/dialogs.py:1460
+#: ../src/groupchat_control.py:1684
 msgid "The group chat Jabber ID has not allowed characters."
 msgstr "O Jabber ID da conferência possui caracteres não permitidos."
 
-#: ../src/dialogs.py:1287
+#: ../src/dialogs.py:1466
 msgid "This is not a group chat"
 msgstr "Isto não é uma conferência"
 
-#: ../src/dialogs.py:1288
+#: ../src/dialogs.py:1467
 #, python-format
 msgid "%s is not the name of a group chat."
 msgstr "%s não é o nome da conferência."
 
-#: ../src/dialogs.py:1327
+#: ../src/dialogs.py:1506
 msgid "Without a connection, you can not synchronise your contacts."
 msgstr "Sem uma conexão, você pode não sincronizar seus contatos."
 
-#: ../src/dialogs.py:1374
+#: ../src/dialogs.py:1520
+msgid "Server"
+msgstr "Servidor"
+
+#: ../src/dialogs.py:1553
 msgid "This account is not connected to the server"
 msgstr "Esta conta não está conectada ao servidor"
 
-#: ../src/dialogs.py:1375
+#: ../src/dialogs.py:1554
 msgid "You cannot synchronize with an account unless it is connected."
 msgstr "Você não pode sincronizar com uma conta a menos que esteja conectado."
 
-#: ../src/dialogs.py:1399
+#: ../src/dialogs.py:1578
 msgid "Synchronise"
 msgstr "Sincronizar"
 
-#: ../src/dialogs.py:1457
+#: ../src/dialogs.py:1636
 #, python-format
 msgid "Start Chat with account %s"
 msgstr "Iniciar uma conferência com a conta %s"
 
-#: ../src/dialogs.py:1459
+#: ../src/dialogs.py:1638
 msgid "Start Chat"
 msgstr "Iniciar conversa"
 
-#: ../src/dialogs.py:1460
+#: ../src/dialogs.py:1639
 msgid ""
 "Fill in the nickname or the Jabber ID of the contact you would like\n"
 "to send a chat message to:"
@@ -3376,451 +3650,726 @@ msgstr ""
 "você quer enviar uma messagem:"
 
 #. if offline or connecting
-#: ../src/dialogs.py:1485 ../src/dialogs.py:1844 ../src/dialogs.py:1975
+#: ../src/dialogs.py:1664 ../src/dialogs.py:2040 ../src/dialogs.py:2181
 msgid "Connection not available"
 msgstr "Conexão não disponível"
 
-#: ../src/dialogs.py:1486 ../src/dialogs.py:1845 ../src/dialogs.py:1976
+#: ../src/dialogs.py:1665 ../src/dialogs.py:2041 ../src/dialogs.py:2182
 #, python-format
 msgid "Please make sure you are connected with \"%s\"."
 msgstr "Por favor, tenha certeza que você está conectado com \"%s\"."
 
-#: ../src/dialogs.py:1495 ../src/dialogs.py:1498
+#: ../src/dialogs.py:1674 ../src/dialogs.py:1677
 msgid "Invalid JID"
 msgstr "JID inválido:"
 
-#: ../src/dialogs.py:1498
+#: ../src/dialogs.py:1677
 #, python-format
 msgid "Unable to parse \"%s\"."
 msgstr "Impossível gravar o arquivo em \"%s\"."
 
-#: ../src/dialogs.py:1507
+#: ../src/dialogs.py:1686
 msgid "Without a connection, you can not change your password."
 msgstr "Você deve estar contectado para mudar sua senha"
 
-#: ../src/dialogs.py:1526
+#: ../src/dialogs.py:1704
+msgid "Invalid password"
+msgstr "Senha Inválida"
+
+#: ../src/dialogs.py:1705
 msgid "You must enter a password."
 msgstr "Você deve entrar com uma senha."
 
+#: ../src/dialogs.py:1709
+msgid "Passwords do not match"
+msgstr "Senhas não conferem"
+
+#: ../src/dialogs.py:1710
+msgid "The passwords typed in both fields must be identical."
+msgstr "As senhas digitadas em ambos os campos devem ser idênticas."
+
 #. img to display
 #. default value
-#: ../src/dialogs.py:1573 ../src/notify.py:212 ../src/notify.py:416
+#: ../src/dialogs.py:1752 ../src/notify.py:232 ../src/notify.py:447
 msgid "Contact Signed In"
 msgstr "Contato conectou"
 
-#: ../src/dialogs.py:1575 ../src/notify.py:220 ../src/notify.py:418
+#: ../src/dialogs.py:1754 ../src/notify.py:240 ../src/notify.py:449
 msgid "Contact Signed Out"
 msgstr "Contato desconectou"
 
 #. chat message
-#: ../src/dialogs.py:1577 ../src/notify.py:239 ../src/notify.py:420
+#: ../src/dialogs.py:1756 ../src/notify.py:263 ../src/notify.py:451
 msgid "New Message"
 msgstr "Nova Mensagem"
 
 #. single message
-#: ../src/dialogs.py:1577 ../src/notify.py:224 ../src/notify.py:420
+#: ../src/dialogs.py:1756 ../src/notify.py:244 ../src/notify.py:451
 msgid "New Single Message"
 msgstr "Nova Mensagem"
 
 #. private message
-#: ../src/dialogs.py:1578 ../src/notify.py:231 ../src/notify.py:421
+#: ../src/dialogs.py:1757 ../src/notify.py:251 ../src/notify.py:452
 msgid "New Private Message"
 msgstr "Enviar Mensagem Privada"
 
-#: ../src/dialogs.py:1578 ../src/gajim.py:1291 ../src/notify.py:429
+#: ../src/dialogs.py:1757 ../src/gajim.py:1532 ../src/notify.py:460
 msgid "New E-mail"
 msgstr "Novo E-Mail"
 
-#: ../src/dialogs.py:1580 ../src/gajim.py:1444 ../src/notify.py:423
+#: ../src/dialogs.py:1759 ../src/gajim.py:1707 ../src/notify.py:454
 msgid "File Transfer Request"
 msgstr "Solicitação de Transferência de Arquivos"
 
-#: ../src/dialogs.py:1582 ../src/gajim.py:1263 ../src/gajim.py:1420
-#: ../src/notify.py:425
+#: ../src/dialogs.py:1761 ../src/gajim.py:1504 ../src/gajim.py:1674
+#: ../src/notify.py:456
 msgid "File Transfer Error"
 msgstr "Erro na Transferência de Arquivos"
 
-#: ../src/dialogs.py:1584 ../src/gajim.py:1483 ../src/gajim.py:1505
-#: ../src/gajim.py:1522 ../src/notify.py:427
+#: ../src/dialogs.py:1763 ../src/gajim.py:1746 ../src/gajim.py:1768
+#: ../src/gajim.py:1785 ../src/notify.py:458
 msgid "File Transfer Completed"
 msgstr "Transferência do Arquivo Completa"
 
-#: ../src/dialogs.py:1585 ../src/gajim.py:1486 ../src/notify.py:427
+#: ../src/dialogs.py:1764 ../src/gajim.py:1749 ../src/notify.py:458
 msgid "File Transfer Stopped"
 msgstr "Transferência do Arquivo Parada"
 
-#: ../src/dialogs.py:1587 ../src/gajim.py:1160 ../src/notify.py:431
+#: ../src/dialogs.py:1766 ../src/gajim.py:1364 ../src/notify.py:462
 msgid "Groupchat Invitation"
 msgstr "Convite para Conferência"
 
-#: ../src/dialogs.py:1589 ../src/notify.py:204 ../src/notify.py:433
+#: ../src/dialogs.py:1768 ../src/notify.py:224 ../src/notify.py:464
 msgid "Contact Changed Status"
 msgstr "O Contato Alterou seu Status"
 
-#: ../src/dialogs.py:1774
+#: ../src/dialogs.py:1959
 #, python-format
 msgid "Single Message using account %s"
 msgstr "Mensagem Simples usando conta %s"
 
-#: ../src/dialogs.py:1776
+#: ../src/dialogs.py:1961
 #, python-format
 msgid "Single Message in account %s"
 msgstr "Mensagem Simples na conta %s"
 
-#: ../src/dialogs.py:1778
+#: ../src/dialogs.py:1963
 msgid "Single Message"
 msgstr "Mensagem simples"
 
 #. prepare UI for Sending
-#: ../src/dialogs.py:1781
+#: ../src/dialogs.py:1966
 #, python-format
 msgid "Send %s"
 msgstr "Enviar %s"
 
 #. prepare UI for Receiving
-#: ../src/dialogs.py:1804
+#: ../src/dialogs.py:1989
 #, python-format
 msgid "Received %s"
 msgstr "Recebido %s"
 
+#. prepare UI for Receiving
+#: ../src/dialogs.py:2012
+#, python-format
+msgid "Form %s"
+msgstr "Formulário %s"
+
 #. we create a new blank window to send and we preset RE: and to jid
-#: ../src/dialogs.py:1876
+#: ../src/dialogs.py:2082
 #, python-format
 msgid "RE: %s"
 msgstr "RE: %s"
 
-#: ../src/dialogs.py:1877
+#: ../src/dialogs.py:2083
 #, python-format
 msgid "%s wrote:\n"
 msgstr "%s escreveu:\n"
 
-#: ../src/dialogs.py:1921
+#: ../src/dialogs.py:2127
 #, python-format
 msgid "XML Console for %s"
 msgstr "Console XML para %s"
 
-#: ../src/dialogs.py:1923
+#: ../src/dialogs.py:2129
 msgid "XML Console"
 msgstr "Console XML"
 
-#: ../src/dialogs.py:2046
+#: ../src/dialogs.py:2252
 #, python-format
 msgid "Privacy List <b><i>%s</i></b>"
 msgstr "Lista de Privacidade <b><i>%s</i></b>"
 
-#: ../src/dialogs.py:2050
+#: ../src/dialogs.py:2256
 #, python-format
 msgid "Privacy List for %s"
 msgstr "Lista de Privacidade para %s"
 
-#: ../src/dialogs.py:2098
+#: ../src/dialogs.py:2312
 #, python-format
 msgid "Order: %s, action: %s, type: %s, value: %s"
 msgstr "Ordem: %s, ação: %s tipo: %s, valor: %s"
 
-#: ../src/dialogs.py:2101
+#: ../src/dialogs.py:2315
 #, python-format
 msgid "Order: %s, action: %s"
 msgstr "Ordem: %s, ação: %s"
 
-#: ../src/dialogs.py:2143
+#: ../src/dialogs.py:2357
 msgid "<b>Edit a rule</b>"
 msgstr "<b>Editar uma regra</b>"
 
-#: ../src/dialogs.py:2230
+#: ../src/dialogs.py:2444
 msgid "<b>Add a rule</b>"
 msgstr "<b>Adicionar uma regra</b>"
 
-#: ../src/dialogs.py:2326
+#: ../src/dialogs.py:2540
 #, python-format
 msgid "Privacy Lists for %s"
 msgstr "Lista de Privacidade para %s"
 
-#: ../src/dialogs.py:2328
+#: ../src/dialogs.py:2542
 msgid "Privacy Lists"
 msgstr "Listas de Privacidade"
 
-#: ../src/dialogs.py:2398
+#: ../src/dialogs.py:2612
 msgid "Invalid List Name"
 msgstr "Nome de Lista Inválido"
 
-#: ../src/dialogs.py:2399
+#: ../src/dialogs.py:2613
 msgid "You must enter a name to create a privacy list."
 msgstr "Você deve digitar um nome para criar uma lista de privacidade."
 
-#. Don't translate $Contact
-#: ../src/dialogs.py:2433
+#: ../src/dialogs.py:2650
+msgid "$Contact has invited you to join a discussion"
+msgstr "$Contact convidou você para ingressar em uma discussão"
+
+#: ../src/dialogs.py:2652
 #, python-format
 msgid "$Contact has invited you to group chat %(room_jid)s"
 msgstr "$Contact convidou você para entrar na conferência %(room_jid)s"
 
-#. only if not None and not ''
-#: ../src/dialogs.py:2445
+#: ../src/dialogs.py:2665
 #, python-format
 msgid "Comment: %s"
 msgstr "Comentário: %s"
 
-#: ../src/dialogs.py:2507
+#: ../src/dialogs.py:2731
 msgid "Choose Sound"
 msgstr "Escolher Som"
 
-#: ../src/dialogs.py:2517 ../src/dialogs.py:2562
+#: ../src/dialogs.py:2741 ../src/dialogs.py:2792
 msgid "All files"
 msgstr "Todos os arquivos"
 
-#: ../src/dialogs.py:2522
+#: ../src/dialogs.py:2746
 msgid "Wav Sounds"
 msgstr "Sons Wav"
 
-#: ../src/dialogs.py:2552
+#: ../src/dialogs.py:2779
 msgid "Choose Image"
 msgstr "Escolha imagem"
 
-#: ../src/dialogs.py:2567
+#: ../src/dialogs.py:2797
 msgid "Images"
 msgstr "Imagens"
 
-#: ../src/dialogs.py:2624
+#: ../src/dialogs.py:2862
 #, python-format
 msgid "When %s becomes:"
 msgstr "Quando %s chega:"
 
-#: ../src/dialogs.py:2626
+#: ../src/dialogs.py:2864
 #, python-format
 msgid "Adding Special Notification for %s"
 msgstr "Adicionando Notificação Especial para %s"
 
 #. # means number
-#: ../src/dialogs.py:2697
+#: ../src/dialogs.py:2935
 msgid "#"
 msgstr "#"
 
-#: ../src/dialogs.py:2703
+#: ../src/dialogs.py:2941
 msgid "Condition"
 msgstr "Condição"
 
-#: ../src/dialogs.py:2824
+#: ../src/dialogs.py:3059
 msgid "when I am "
 msgstr "quando eu estiver"
 
-#: ../src/disco.py:104
+#: ../src/disco.py:111
 msgid "Others"
 msgstr "Outros"
 
-#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1350
-#: ../src/gajim.py:604 ../src/roster_window.py:272 ../src/roster_window.py:330
-#: ../src/roster_window.py:369 ../src/roster_window.py:451
-#: ../src/roster_window.py:483 ../src/roster_window.py:485
-#: ../src/roster_window.py:3920 ../src/roster_window.py:3922
-#: ../src/common/contacts.py:267 ../src/common/contacts.py:282
-#: ../src/common/helpers.py:43
+#: ../src/disco.py:112 ../src/disco.py:113 ../src/disco.py:1355
+#: ../src/gajim.py:660 ../src/roster_window.py:295 ../src/roster_window.py:355
+#: ../src/roster_window.py:395 ../src/roster_window.py:503
+#: ../src/roster_window.py:535 ../src/roster_window.py:537
+#: ../src/roster_window.py:4755 ../src/roster_window.py:4757
+#: ../src/common/contacts.py:295 ../src/common/contacts.py:310
+#: ../src/common/helpers.py:53
 msgid "Transports"
 msgstr "Transportes"
 
 #. conference is a category for listing mostly groupchats in service discovery
-#: ../src/disco.py:108
+#: ../src/disco.py:115
 msgid "Conference"
 msgstr "Conferência"
 
-#: ../src/disco.py:421
-msgid "Without a connection, you can not browse available services"
-msgstr "Você deve estar conectado para visualizar os serviços disponíveis"
+#: ../src/disco.py:428
+msgid "Without a connection, you can not browse available services"
+msgstr "Você deve estar conectado para visualizar os serviços disponíveis"
+
+#: ../src/disco.py:502
+#, python-format
+msgid "Service Discovery using account %s"
+msgstr "Buscar Serviços usando conta %s"
+
+#: ../src/disco.py:504
+msgid "Service Discovery"
+msgstr "Buscar Serviços"
+
+#: ../src/disco.py:644
+msgid "The service could not be found"
+msgstr "O serviço não pode ser encontrado"
+
+#: ../src/disco.py:645
+msgid ""
+"There is no service at the address you entered, or it is not responding. "
+"Check the address and try again."
+msgstr ""
+"Não existe serviço para o endereço que você entrou, ou não está respondendo. "
+"Verifique o endereço e tente novamente."
+
+#: ../src/disco.py:649 ../src/disco.py:930
+msgid "The service is not browsable"
+msgstr "Serviço não navegável"
+
+#: ../src/disco.py:650
+msgid "This type of service does not contain any items to browse."
+msgstr "Este tipo de serviço não contém nenhum item para navegar."
+
+#: ../src/disco.py:730
+#, python-format
+msgid "Browsing %s using account %s"
+msgstr "Visualizando %s usando conta %s"
+
+#: ../src/disco.py:769
+msgid "_Browse"
+msgstr "_Navegar"
+
+#: ../src/disco.py:931
+msgid "This service does not contain any items to browse."
+msgstr "Este serviço não contém nenhum item para navegar."
+
+#: ../src/disco.py:1152
+msgid "_Execute Command"
+msgstr "_Executar Comando"
+
+#: ../src/disco.py:1162 ../src/disco.py:1360
+msgid "Re_gister"
+msgstr "Re_gistrar"
+
+#: ../src/disco.py:1397
+#, python-format
+msgid "Scanning %d / %d.."
+msgstr "Buscando %d / %d"
+
+#. Users column
+#: ../src/disco.py:1579
+msgid "Users"
+msgstr "Usuários"
+
+#. Description column
+#: ../src/disco.py:1587
+msgid "Description"
+msgstr "Descrição"
+
+#. Id column
+#: ../src/disco.py:1595
+msgid "Id"
+msgstr "Id"
+
+#: ../src/disco.py:1824
+msgid "Subscribed"
+msgstr "Inscrito"
+
+#: ../src/disco.py:1832
+msgid "Node"
+msgstr "Nó"
+
+#: ../src/disco.py:1889
+msgid "New post"
+msgstr "Nova postagem"
+
+#: ../src/disco.py:1895
+msgid "_Subscribe"
+msgstr "_Inscrever"
+
+#: ../src/disco.py:1901
+msgid "_Unsubscribe"
+msgstr "_Desinscrever"
+
+#: ../src/features_window.py:47
+msgid "PyOpenSSL"
+msgstr "PyOpenSSL"
+
+#: ../src/features_window.py:48
+msgid ""
+"A library used to validate server certificates to ensure a secure connection."
+msgstr ""
+"Uma biblioteca usada para validar os certificados do servidor para garantir "
+"uma conexão segura."
+
+#: ../src/features_window.py:49 ../src/features_window.py:50
+msgid "Requires python-pyopenssl."
+msgstr "Requer o python-pyopenssl."
+
+#: ../src/features_window.py:51
+msgid "Bonjour / Zeroconf"
+msgstr "Bonjour / Zeroconf"
+
+#: ../src/features_window.py:52
+msgid "Serverless chatting with autodetected clients in a local network."
+msgstr ""
+"Conversa sem servidor com clientes detectados automaticamente em uma rede "
+"local."
+
+#: ../src/features_window.py:53
+msgid "Requires python-avahi."
+msgstr "Requer o python-avahi."
+
+#: ../src/features_window.py:54
+msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+msgstr "Requer pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+
+#: ../src/features_window.py:55
+msgid "gajim-remote"
+msgstr "gajim-remote"
+
+#: ../src/features_window.py:56
+msgid "A script to controle gajim via commandline."
+msgstr "Um script para controlar o Gajim via linha de comando."
+
+#: ../src/features_window.py:57
+msgid "Requires python-dbus."
+msgstr "Requer o python-dbus."
+
+#: ../src/features_window.py:58 ../src/features_window.py:62
+#: ../src/features_window.py:66 ../src/features_window.py:70
+#: ../src/features_window.py:74 ../src/features_window.py:82
+#: ../src/features_window.py:86 ../src/features_window.py:98
+msgid "Feature not available under Windows."
+msgstr "Recurso não disponível no Windows."
+
+#: ../src/features_window.py:59
+msgid "OpenGPG"
+msgstr "OpenGPG"
+
+#: ../src/features_window.py:60
+msgid "Encrypting chatmessages with gpg keys."
+msgstr "Criptografando as mensagens das conversas com chaves PGP."
+
+#: ../src/features_window.py:61
+msgid "Requires gpg and python-GnuPGInterface."
+msgstr "Requer gpg e python-GnuPGInterface."
+
+#: ../src/features_window.py:63
+msgid "network-manager"
+msgstr "network-manager"
+
+#: ../src/features_window.py:64
+msgid "Autodetection of network status."
+msgstr "Detecção automática do status da rede."
+
+#: ../src/features_window.py:65
+msgid "Requires gnome-network-manager and python-dbus."
+msgstr "Requer gnome-network-manager e python-dbus."
+
+#: ../src/features_window.py:67
+msgid "Session Management"
+msgstr "Gerenciamento de Sessão"
+
+#: ../src/features_window.py:68
+msgid "Gajim session is stored on logout and restored on login."
+msgstr "A sessão do Gajim é armazenada no logout and restaurada no login."
+
+#: ../src/features_window.py:69
+msgid "Requires python-gnome2."
+msgstr "Requer python-gnome2."
+
+#: ../src/features_window.py:71
+msgid "gnome-keyring"
+msgstr "gnome-keyring"
+
+#: ../src/features_window.py:72
+msgid "Passwords can be stored securely and not just in plaintext."
+msgstr ""
+"As senhas podem ser armazenadas de maneira segura e não apenas em texto "
+"plano."
+
+#: ../src/features_window.py:73
+msgid "Requires gnome-keyring and python-gnome2-desktop."
+msgstr "Requer gnome-keyring e python-gnome2-desktop."
+
+#: ../src/features_window.py:75
+msgid "SRV"
+msgstr "SRV"
+
+#: ../src/features_window.py:76
+msgid "Ability to connect to servers which are using SRV records."
+msgstr "Habilidade de conectar a servidores que estão usando registros SRV."
+
+#: ../src/features_window.py:77
+msgid "Requires dnsutils."
+msgstr "Requer dnsutils."
+
+#: ../src/features_window.py:78
+msgid "Requires nslookup to use SRV records."
+msgstr "Requer nslookup para usar registros SRV."
+
+#: ../src/features_window.py:79
+msgid "Spell Checker"
+msgstr "Verificador Ortográfico"
+
+#: ../src/features_window.py:80
+msgid "Spellchecking of composed messages."
+msgstr "Verificação ortográfica das mensagens escritas."
+
+#: ../src/features_window.py:81
+msgid ""
+"Requires python-gnome2-extras or compilation of gtkspell module from Gajim "
+"sources."
+msgstr ""
+"Requer python-gnome2-extras ou a compilação do módulo gtkspell a partir dos "
+"fontes do Gajim."
+
+#: ../src/features_window.py:83
+msgid "Notification-daemon"
+msgstr "Notification-daemon"
 
-#: ../src/disco.py:500
-#, python-format
-msgid "Service Discovery using account %s"
-msgstr "Buscar Serviços usando conta %s"
+#: ../src/features_window.py:84
+msgid "Passive popups notifying for new events."
+msgstr "Popups passivos notificando novos eventos."
 
-#: ../src/disco.py:502
-msgid "Service Discovery"
-msgstr "Buscar Serviços"
+#: ../src/features_window.py:85
+msgid ""
+"Requires python-notify or instead python-dbus in conjunction with "
+"notification-daemon."
+msgstr ""
+"Requer python-notify ou então python-dbus em conjunto com notification-"
+"daemon."
 
-#: ../src/disco.py:642
-msgid "The service could not be found"
-msgstr "O serviço não pode ser encontrado"
+#: ../src/features_window.py:87
+msgid "Trayicon"
+msgstr "Ícone da Bandeja"
 
-#: ../src/disco.py:643
+#: ../src/features_window.py:88
+msgid "A icon in systemtray reflecting the current presence."
+msgstr "Um ícone na bandeja do sistema refletindo a presença atual."
+
+#: ../src/features_window.py:89
 msgid ""
-"There is no service at the address you entered, or it is not responding. "
-"Check the address and try again."
+"Requires python-gnome2-extras or compiled  trayicon module from Gajim "
+"sources."
 msgstr ""
-"Não existe serviço para o endereço que você entrou, ou não está respondendo. "
-"Verifique o endereço e tente novamente."
+"Requer python-gnome2-extras ou módulo trayicon compilado a partir dos fontes "
+"do Gajim."
 
-#: ../src/disco.py:647 ../src/disco.py:928
-msgid "The service is not browsable"
-msgstr "Serviço não navegável"
+#: ../src/features_window.py:90
+msgid "Requires PyGTK >= 2.10."
+msgstr "Requer PyGTK >= 2.10."
 
-#: ../src/disco.py:648
-msgid "This type of service does not contain any items to browse."
-msgstr "Este tipo de serviço não contém nenhum item para navegar."
+#: ../src/features_window.py:91
+msgid "Idle"
+msgstr "Ocioso"
 
-#: ../src/disco.py:728
-#, python-format
-msgid "Browsing %s using account %s"
-msgstr "Visualizando %s usando conta %s"
+#: ../src/features_window.py:92
+msgid "Ability to measure idle time, in order to set auto status."
+msgstr ""
+"Habilidade de medir o tempo de inatividade para definir o status automático."
 
-#: ../src/disco.py:767
-msgid "_Browse"
-msgstr "_Navegar"
+#: ../src/features_window.py:93 ../src/features_window.py:94
+msgid "Requires compilation of the idle module from Gajim sources."
+msgstr "Requer a compilação do módulo idle a partir dos fontes do Gajim."
 
-#: ../src/disco.py:929
-msgid "This service does not contain any items to browse."
-msgstr "Este serviço não contém nenhum item para navegar."
+#: ../src/features_window.py:95
+msgid "LaTeX"
+msgstr "LaTeX"
 
-#: ../src/disco.py:1147
-#, fuzzy
-msgid "_Execute Command"
-msgstr "_Executar Comando"
+#: ../src/features_window.py:96
+msgid "Transform LaTeX espressions between $$ $$."
+msgstr "Tranforma expressões LaTeX entre $$ $$."
 
-#: ../src/disco.py:1157 ../src/disco.py:1355
-msgid "Re_gister"
-msgstr "Re_gistrar"
+#: ../src/features_window.py:97
+msgid ""
+"Requires texlive-latex-base, dvips and imagemagick. You have to set "
+"'use_latex' to True in the Advanced Configuration Editor."
+msgstr ""
+"Requer textlive-latex-base, dvips e imagemagick. Você tem que definir a "
+"opção 'use_latex' para Verdadeiro no Editor de Configurações Avançadas."
 
-#: ../src/disco.py:1392
-#, python-format
-msgid "Scanning %d / %d.."
-msgstr "Buscando %d / %d"
+#: ../src/features_window.py:99
+msgid "End to end encryption"
+msgstr "Criptografia end to end"
 
-#. Users column
-#: ../src/disco.py:1573
-msgid "Users"
-msgstr "Usuários"
+#: ../src/features_window.py:100
+msgid "Encrypting chatmessages."
+msgstr "Criptografando mensagens."
 
-#. Description column
-#: ../src/disco.py:1580
-msgid "Description"
-msgstr "Descrição"
+#: ../src/features_window.py:101 ../src/features_window.py:102
+msgid "Requires python-crypto."
+msgstr "Requer python-crypto."
 
-#. Id column
-#: ../src/disco.py:1587
-msgid "Id"
-msgstr "Id"
+#: ../src/features_window.py:103
+msgid "RST Generator"
+msgstr "Gerador RST"
 
-#: ../src/disco.py:1810
-msgid "Subscribed"
-msgstr "Inscrito"
+#: ../src/features_window.py:104
+msgid ""
+"Generate XHTML output from RST code (see http://docutils.sourceforge.net/"
+"docs/ref/rst/restructuredtext.html)."
+msgstr ""
+"Gera saída XHTML a partir de código RST (veja http://docutils.sourceforge."
+"net/docs/ref/rst/restructuredtext.html)."
 
-#: ../src/disco.py:1836
-msgid "New post"
-msgstr "Nova postagem"
+#: ../src/features_window.py:105 ../src/features_window.py:106
+msgid "Requires python-docutils."
+msgstr "Requer python-docutils."
 
-#: ../src/disco.py:1842
-msgid "_Subscribe"
-msgstr "_Inscrever"
+#: ../src/features_window.py:107
+msgid "libsexy"
+msgstr "libsexy"
 
-#: ../src/disco.py:1848
-msgid "_Unsubscribe"
-msgstr "_Desinscrever"
+#: ../src/features_window.py:108
+msgid "Ability to have clickable URLs in chat window."
+msgstr "Habilidade de ter URL's clicáveis na janela de conversa."
+
+#: ../src/features_window.py:109 ../src/features_window.py:110
+msgid "Requires python-sexy."
+msgstr "Requer python-sexy."
+
+#: ../src/features_window.py:117 ../src/common/helpers.py:248
+msgid "Available"
+msgstr "Disponível"
+
+#: ../src/features_window.py:124
+msgid "Feature"
+msgstr "Recurso"
 
-#: ../src/filetransfers_window.py:72
+#: ../src/filetransfers_window.py:77
 msgid "File"
 msgstr "Arquivo"
 
-#: ../src/filetransfers_window.py:87
+#: ../src/filetransfers_window.py:92
 msgid "Time"
 msgstr "Tempo"
 
-#: ../src/filetransfers_window.py:99
+#: ../src/filetransfers_window.py:104
 msgid "Progress"
 msgstr "Progresso"
 
-#: ../src/filetransfers_window.py:161 ../src/filetransfers_window.py:215
+#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:218
 #, python-format
 msgid "Filename: %s"
 msgstr "Nome do arquivo: %s"
 
-#: ../src/filetransfers_window.py:162 ../src/filetransfers_window.py:290
+#: ../src/filetransfers_window.py:165 ../src/filetransfers_window.py:305
 #, python-format
 msgid "Size: %s"
 msgstr "Tamanho: %s"
 
 #. You is a reply of who sent a file
 #. You is a reply of who received a file
-#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:181
-#: ../src/history_manager.py:463
+#: ../src/filetransfers_window.py:174 ../src/filetransfers_window.py:184
+#: ../src/history_manager.py:468
 msgid "You"
 msgstr "Você"
 
-#: ../src/filetransfers_window.py:172
+#: ../src/filetransfers_window.py:175
 #, python-format
 msgid "Sender: %s"
 msgstr "Remetente: %s"
 
-#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:564
-#: ../src/tooltips.py:575
+#: ../src/filetransfers_window.py:176 ../src/filetransfers_window.py:593
+#: ../src/tooltips.py:592
 msgid "Recipient: "
 msgstr "Destinatário: "
 
-#: ../src/filetransfers_window.py:184
+#: ../src/filetransfers_window.py:187
 #, python-format
 msgid "Saved in: %s"
 msgstr "Salvo em: %s"
 
-#: ../src/filetransfers_window.py:186
+#: ../src/filetransfers_window.py:189
 msgid "File transfer completed"
 msgstr "Transferência de arquivos completa"
 
-#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:206
+#: ../src/filetransfers_window.py:203 ../src/filetransfers_window.py:209
 msgid "File transfer cancelled"
 msgstr "Transferência de arquivos cancelada"
 
-#: ../src/filetransfers_window.py:200 ../src/filetransfers_window.py:207
+#: ../src/filetransfers_window.py:203 ../src/filetransfers_window.py:210
 msgid "Connection with peer cannot be established."
 msgstr "Conexão ponto a ponto não pode ser estabelecida."
 
-#: ../src/filetransfers_window.py:216
+#: ../src/filetransfers_window.py:219
 #, python-format
 msgid "Recipient: %s"
 msgstr "Conteúdo: %s"
 
-#: ../src/filetransfers_window.py:218
+#: ../src/filetransfers_window.py:221
 #, python-format
 msgid "Error message: %s"
 msgstr "Mensagem de erro: %s"
 
-#: ../src/filetransfers_window.py:219
+#: ../src/filetransfers_window.py:222
 msgid "File transfer stopped by the contact at the other end"
 msgstr "Transferência de arquivo parada pelo contato do outro lado"
 
-#: ../src/filetransfers_window.py:236
+#: ../src/filetransfers_window.py:243
 msgid "Choose File to Send..."
 msgstr "Escolha o Arquivo para Enviar..."
 
-#: ../src/filetransfers_window.py:255
+#: ../src/filetransfers_window.py:259 ../src/tooltips.py:631
+#, fuzzy
+msgid "Description: "
+msgstr "Descrição: %s"
+
+#: ../src/filetransfers_window.py:270
 msgid "Gajim cannot access this file"
 msgstr "Gajim não pode acessar este arquivo"
 
-#: ../src/filetransfers_window.py:256
+#: ../src/filetransfers_window.py:271
 msgid "This file is being used by another process."
 msgstr "Este arquivo está sendo usado por outro processo."
 
-#: ../src/filetransfers_window.py:288
+#: ../src/filetransfers_window.py:303
 #, python-format
 msgid "File: %s"
 msgstr "Arquivo: %s"
 
-#: ../src/filetransfers_window.py:293
+#: ../src/filetransfers_window.py:308
 #, python-format
 msgid "Type: %s"
 msgstr "Tipo: %s"
 
-#: ../src/filetransfers_window.py:295
+#: ../src/filetransfers_window.py:310
 #, python-format
 msgid "Description: %s"
 msgstr "Descrição: %s"
 
-#: ../src/filetransfers_window.py:296
+#: ../src/filetransfers_window.py:311
 #, python-format
 msgid "%s wants to send you a file:"
 msgstr "%s quer te enviar um arquivo:"
 
-#: ../src/filetransfers_window.py:310 ../src/gtkgui_helpers.py:750
+#: ../src/filetransfers_window.py:324 ../src/gtkgui_helpers.py:773
 #, python-format
 msgid "Cannot overwrite existing file \"%s\""
 msgstr "Não é possível sobrescrever o arquivo \"%s\""
 
-#: ../src/filetransfers_window.py:311 ../src/gtkgui_helpers.py:752
+#: ../src/filetransfers_window.py:325 ../src/gtkgui_helpers.py:775
 msgid ""
 "A file with this name already exists and you do not have permission to "
 "overwrite it."
@@ -3828,31 +4377,31 @@ msgstr ""
 "Um arquivo com este nome já existe e você não tem permissão para sobrescrevê-"
 "lo."
 
-#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:756
+#: ../src/filetransfers_window.py:332 ../src/gtkgui_helpers.py:779
 msgid "This file already exists"
 msgstr "Este arquivo já existe"
 
-#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:756
+#: ../src/filetransfers_window.py:332 ../src/gtkgui_helpers.py:779
 msgid "What do you want to do?"
 msgstr "O que você quer fazer?"
 
-#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:766
+#: ../src/filetransfers_window.py:344 ../src/gtkgui_helpers.py:789
 #, python-format
 msgid "Directory \"%s\" is not writable"
 msgstr "O diretório \"%s\" não é gravável"
 
-#: ../src/filetransfers_window.py:330 ../src/gtkgui_helpers.py:767
+#: ../src/filetransfers_window.py:344 ../src/gtkgui_helpers.py:790
 msgid "You do not have permission to create files in this directory."
 msgstr "Você não tem permissão para criar este diretório"
 
-#: ../src/filetransfers_window.py:340
+#: ../src/filetransfers_window.py:354
 msgid "Save File as..."
 msgstr "Salvar Arquivo como..."
 
 #. Print remaining time in format 00:00:00
 #. You can change the places of (hours), (minutes), (seconds) -
 #. they are not translatable.
-#: ../src/filetransfers_window.py:421
+#: ../src/filetransfers_window.py:434
 #, python-format
 msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
@@ -3860,65 +4409,65 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 #. This should make the string Kb/s,
 #. where 'Kb' part is taken from %s.
 #. Only the 's' after / (which means second) should be translated.
-#: ../src/filetransfers_window.py:497
+#: ../src/filetransfers_window.py:523
 #, python-format
 msgid "(%(filesize_unit)s/s)"
 msgstr "(%(filesize_unit)s/s)"
 
-#: ../src/filetransfers_window.py:536 ../src/filetransfers_window.py:539
+#: ../src/filetransfers_window.py:563 ../src/filetransfers_window.py:566
 msgid "Invalid File"
 msgstr "Arquivo inválido"
 
-#: ../src/filetransfers_window.py:536
+#: ../src/filetransfers_window.py:563
 msgid "File: "
 msgstr "Arquivo:"
 
-#: ../src/filetransfers_window.py:540
+#: ../src/filetransfers_window.py:567
 msgid "It is not possible to send empty files"
 msgstr "não é possível enviar arquivos vazios"
 
-#: ../src/filetransfers_window.py:560 ../src/tooltips.py:565
+#: ../src/filetransfers_window.py:589 ../src/tooltips.py:582
 msgid "Name: "
 msgstr "Nome: "
 
-#: ../src/filetransfers_window.py:562 ../src/tooltips.py:569
+#: ../src/filetransfers_window.py:591 ../src/tooltips.py:586
 msgid "Sender: "
 msgstr "Remetente: "
 
-#: ../src/filetransfers_window.py:750
+#: ../src/filetransfers_window.py:779
 msgid "Pause"
 msgstr "Pausa"
 
-#: ../src/gajim.py:47
+#: ../src/gajim.py:56
 #, python-format
 msgid "%s is not a valid loglevel"
-msgstr "%s não é um nível de registro (loglevel) válido"
+msgstr "%s não é um nível de gravação (loglevel) válido"
 
-#: ../src/gajim.py:122
+#: ../src/gajim.py:129
 msgid "Gajim needs X server to run. Quiting..."
 msgstr "O Gajim necessita do servidor X para rodar. Encerrando..."
 
-#: ../src/gajim.py:126
+#: ../src/gajim.py:156
 msgid "Gajim needs PyGTK 2.8 or above"
 msgstr "O Gajim necessita do PyGTK 2.8 ou superior"
 
-#: ../src/gajim.py:127
+#: ../src/gajim.py:157
 msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
 msgstr "O Gajim necessita do PyGTK 2.8 ou superior para rodar. Encerrando..."
 
-#: ../src/gajim.py:129
+#: ../src/gajim.py:159
 msgid "Gajim needs GTK 2.8 or above"
 msgstr "O Gajim necessita do GTK 2.8 ou superior"
 
-#: ../src/gajim.py:130
+#: ../src/gajim.py:160
 msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
 msgstr "O Gajim necessita do GTK 2.8 ou superior para rodar. Encerrando..."
 
-#: ../src/gajim.py:135
+#: ../src/gajim.py:165
 msgid "GTK+ runtime is missing libglade support"
 msgstr "Não existe suporte para libglade no GTK+ runtime"
 
-#: ../src/gajim.py:137
+#: ../src/gajim.py:167
 #, python-format
 msgid ""
 "Please remove your current GTK+ runtime and install the latest stable "
@@ -3927,22 +4476,22 @@ msgstr ""
 "Por favor remova seu GTK+ runtime atual e instale a última versão estável de "
 "%s"
 
-#: ../src/gajim.py:139
+#: ../src/gajim.py:169
 msgid ""
 "Please make sure that GTK+ and PyGTK have libglade support in your system."
 msgstr ""
 "Por favor certifique-se de que o GTK e o PyGTK tem suporte ao libglade em "
 "seu sistema."
 
-#: ../src/gajim.py:144
+#: ../src/gajim.py:174
 msgid "Gajim needs PySQLite2 to run"
 msgstr "Gajim necessita de PySQLite2 para rodar"
 
-#: ../src/gajim.py:152
+#: ../src/gajim.py:182
 msgid "Gajim needs pywin32 to run"
 msgstr "O Gajim precisa do pywin32 para rodar"
 
-#: ../src/gajim.py:153
+#: ../src/gajim.py:183
 #, python-format
 msgid ""
 "Please make sure that Pywin32 is installed on your system. You can get it at "
@@ -3952,11 +4501,11 @@ msgstr ""
 "pode obtê-lo em %s"
 
 #. set the icon to all newly opened wind
-#: ../src/gajim.py:300
+#: ../src/gajim.py:328
 msgid "Gajim is already running"
 msgstr "O Gajim já está em execução"
 
-#: ../src/gajim.py:301
+#: ../src/gajim.py:329
 msgid ""
 "Another instance of Gajim seems to be running\n"
 "Run anyway?"
@@ -3964,83 +4513,166 @@ msgstr ""
 "Outra instância do Gajim parece estar rodando\n"
 "Executar de qualquer forma?"
 
-#: ../src/gajim.py:408
+#: ../src/gajim.py:352 ../src/common/connection_handlers.py:908
+#: ../src/common/connection_handlers.py:1620
+#: ../src/common/connection_handlers.py:1649
+#: ../src/common/connection_handlers.py:1659
+#: ../src/common/connection_handlers.py:1678
+#: ../src/common/connection_handlers.py:1915
+#: ../src/common/connection_handlers.py:2027 ../src/common/connection.py:939
+msgid "Disk Write Error"
+msgstr "Erro de Escrita em Disco"
+
+#: ../src/gajim.py:448
+msgid "Do you accept this request?"
+msgstr "Você aceita a solicitação?"
+
+#: ../src/gajim.py:450
+#, python-format
+msgid "Do you accept this request on account %s?"
+msgstr "Você aceita essa requisição na conta %s?"
+
+#: ../src/gajim.py:453
 #, python-format
 msgid "HTTP (%s) Authorization for %s (id: %s)"
 msgstr "Autorização HTTP (%s) para %s (id: %s)"
 
-#: ../src/gajim.py:409
-msgid "Do you accept this request?"
-msgstr "Você aceita a solicitação?"
-
-#: ../src/gajim.py:455 ../src/notify.py:435
+#: ../src/gajim.py:500 ../src/notify.py:466
 msgid "Connection Failed"
 msgstr "Falha na Conexão"
 
-#: ../src/gajim.py:775
+#: ../src/gajim.py:834
 #, python-format
 msgid "Subject: %s"
 msgstr "Assunto: %s"
 
 #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
-#: ../src/gajim.py:820 ../src/gajim.py:833
+#: ../src/gajim.py:881 ../src/gajim.py:894
 #, python-format
 msgid "error while sending %s ( %s )"
 msgstr "erro no envio %s ( %s )"
 
-#: ../src/gajim.py:866
+#: ../src/gajim.py:927
 msgid "Authorization accepted"
 msgstr "Autorização aceita"
 
-#: ../src/gajim.py:867
+#: ../src/gajim.py:928
 #, python-format
 msgid "The contact \"%s\" has authorized you to see his or her status."
 msgstr "O contato \"%s\" autorizou você para ver seu status."
 
-#: ../src/gajim.py:875
+#: ../src/gajim.py:936
 #, python-format
 msgid "Contact \"%s\" removed subscription from you"
 msgstr "Contato \"%s\" removeu sua inscrição"
 
-#: ../src/gajim.py:876
+#: ../src/gajim.py:937
 msgid "You will always see him or her as offline."
 msgstr "Você sempre o verá como offline."
 
-#: ../src/gajim.py:920
+#: ../src/gajim.py:981
 #, python-format
 msgid "Contact with \"%s\" cannot be established"
 msgstr "Contato com \"%s\" não pode ser estabelecido"
 
-#: ../src/gajim.py:921 ../src/common/connection.py:435
+#: ../src/gajim.py:982 ../src/common/connection.py:465
 msgid "Check your connection or try again later."
 msgstr "Verifique sua conexão ou tente novamente mais tarde."
 
-#: ../src/gajim.py:1070 ../src/roster_window.py:1218
+#: ../src/gajim.py:1151 ../src/groupchat_control.py:991
+#, python-format
+msgid "%s is now known as %s"
+msgstr "%s agora é conhecido como %s"
+
+#: ../src/gajim.py:1167 ../src/roster_window.py:1372
 #, python-format
 msgid "%s is now %s (%s)"
 msgstr "%s agora está %s (%s)"
 
 #. No status message
-#: ../src/gajim.py:1073 ../src/groupchat_control.py:968
-#: ../src/roster_window.py:1221
+#: ../src/gajim.py:1170 ../src/groupchat_control.py:1142
+#: ../src/roster_window.py:1375
 #, python-format
 msgid "%s is now %s"
 msgstr "%s agora está %s"
 
-#: ../src/gajim.py:1170
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/gajim.py:1291 ../src/groupchat_control.py:951
+msgid "Any occupant is allowed to see your full JID"
+msgstr "Algum ocupante tem permissão de ver o seu JID inteiro"
+
+#: ../src/gajim.py:1294
+msgid "Room now shows unavailable member"
+msgstr "A sala agora mostra membros indisponíveis"
+
+#: ../src/gajim.py:1296
+msgid "room now does not show unavailable members"
+msgstr "a sala agora não mostra membros indisponíveis"
+
+#: ../src/gajim.py:1299
+msgid "A non-privacy-related room configuration change has occurred"
+msgstr ""
+"Uma modificação na configuração da sala que não tem relação com privacidade "
+"ocorreu"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#: ../src/gajim.py:1302
+msgid "Room logging is now enabled"
+msgstr "A gravação das conversas da sala está ativo agora"
+
+#: ../src/gajim.py:1304
+msgid "Room logging is now disabled"
+msgstr "A gravação das conversas da sala está desligado agora"
+
+#: ../src/gajim.py:1306
+msgid "Room is now non-anonymous"
+msgstr "Agora a sala é não-anônima"
+
+#: ../src/gajim.py:1309
+msgid "Room is now semi-anonymous"
+msgstr "Agora a sala é semi-anônima"
+
+#: ../src/gajim.py:1312
+msgid "Room is now fully-anonymous"
+msgstr "Agora a sala é totalmente anônima"
+
+#: ../src/gajim.py:1344
+#, python-format
+msgid "A Password is required to join the room %s. Please type it"
+msgstr "Uma Senha é requerida para ingressar na sala %s. Por favor, digite-a"
+
+#: ../src/gajim.py:1379
 msgid "Your passphrase is incorrect"
 msgstr "Sua frase de acesso está incorreta"
 
-#: ../src/gajim.py:1171
+#: ../src/gajim.py:1380
 msgid "You are currently connected without your OpenPGP key."
 msgstr "Você está atualmente conectado sem sua chave OpenPGP."
 
-#: ../src/gajim.py:1274
+#: ../src/gajim.py:1392 ../src/secrets.py:44
+msgid "Passphrase Required"
+msgstr "Frase de acesso é obrigatória"
+
+#: ../src/gajim.py:1393
+#, python-format
+msgid "Enter GPG key passphrase for account %s."
+msgstr "Entre com a frase de acesso da chave GPG para conta %s"
+
+#: ../src/gajim.py:1405
+msgid "Wrong Passphrase"
+msgstr "Frase de acesso Errada"
+
+#: ../src/gajim.py:1406
+msgid "Please retype your GPG passphrase or press Cancel."
+msgstr "Por favor, reescreva sua frase de segurança GPG ou pressione Cancelar."
+
+#: ../src/gajim.py:1515
 #, python-format
 msgid "New mail on %(gmail_mail_address)s"
 msgstr "Novo email em %(gmail_mail_address)s"
 
-#: ../src/gajim.py:1276
+#: ../src/gajim.py:1517
 #, python-format
 msgid "You have %d new mail conversation"
 msgid_plural "You have %d new mail conversations"
@@ -4050,7 +4682,7 @@ msgstr[1] "Você tem %d novas mensagens de email"
 #. FIXME: emulate Gtalk client popups. find out what they parse and how
 #. they decide what to show
 #. each message has a 'From', 'Subject' and 'Snippet' field
-#: ../src/gajim.py:1285
+#: ../src/gajim.py:1526
 #, python-format
 msgid ""
 "\n"
@@ -4059,92 +4691,154 @@ msgstr ""
 "\n"
 "De: %(from_address)s"
 
-#: ../src/gajim.py:1441
+#: ../src/gajim.py:1704
 #, python-format
 msgid "%s wants to send you a file."
 msgstr "%s quer te enviar um arquivo:"
 
-#: ../src/gajim.py:1506
+#: ../src/gajim.py:1769
 #, python-format
 msgid "You successfully received %(filename)s from %(name)s."
 msgstr "Você recebeu com sucesso %(filename)s de %(name)s."
 
 #. ft stopped
-#: ../src/gajim.py:1510
+#: ../src/gajim.py:1773
 #, python-format
 msgid "File transfer of %(filename)s from %(name)s stopped."
 msgstr "Transferência de arquivo de %(filename)s de %(name)s parou."
 
-#: ../src/gajim.py:1523
+#: ../src/gajim.py:1786
 #, python-format
 msgid "You successfully sent %(filename)s to %(name)s."
 msgstr "Você enviou com sucesso o %(filename)s a %(name)s."
 
 #. ft stopped
-#: ../src/gajim.py:1527
+#: ../src/gajim.py:1790
 #, python-format
 msgid "File transfer of %(filename)s to %(name)s stopped."
 msgstr "Transferência de arquivo de %(filename)s to %(name)s parado."
 
-#: ../src/gajim.py:1640
+#: ../src/gajim.py:1885
+msgid "Session negotiation cancelled"
+msgstr "Negociação da sessão cancelada"
+
+#: ../src/gajim.py:1886
+#, python-format
+msgid "The client at %s cancelled the session negotiation."
+msgstr "O cliente em %s cancelou a negociação da sessão."
+
+#: ../src/gajim.py:1927 ../src/gajim.py:1971
+msgid "Confirm these session options"
+msgstr "Confirme essas opções de sessão"
+
+#: ../src/gajim.py:1928
+#, python-format
+msgid ""
+"The remote client wants to negotiate an session with these features:\n"
+"\n"
+"\t\t%s\n"
+"\n"
+"\t\tAre these options acceptable?"
+msgstr ""
+"O cliente remoto quer negociar uma sessão com esses recursos:\n"
+"\n"
+"\t\t%s\n"
+"\n"
+"\t\tEssas opções são aceitáveis?"
+
+#: ../src/gajim.py:1972
+#, python-format
+msgid ""
+"The remote client selected these options:\n"
+"\n"
+"%s\n"
+"\n"
+"Continue with the session?"
+msgstr ""
+"O cliente remoto selecionou essas opções:\n"
+"\n"
+"%s\n"
+"\n"
+"Continuar com a sessão?"
+
+#: ../src/gajim.py:2097
 msgid "Username Conflict"
 msgstr "Conflito de nome de usuário"
 
-#: ../src/gajim.py:1641
+#: ../src/gajim.py:2098
 msgid "Please type a new username for your local account"
 msgstr "Por favor digite um novo nome de usuário para sua conta local"
 
-#: ../src/gajim.py:1658
+#: ../src/gajim.py:2115
 msgid "Ping?"
-msgstr ""
+msgstr "Ping?"
 
-#: ../src/gajim.py:1666
+#: ../src/gajim.py:2123
 #, python-format
 msgid "Pong! (%s s.)"
-msgstr ""
+msgstr "Pong! (%s s.)"
 
-#: ../src/gajim.py:1672
+#: ../src/gajim.py:2129
 msgid "Error."
+msgstr "Erro."
+
+#: ../src/gajim.py:2154
+msgid "Resource Conflict"
+msgstr "Conflito de Recurso"
+
+#: ../src/gajim.py:2155
+msgid ""
+"You are already connected to this account with the same resource. Please "
+"type a new one"
 msgstr ""
+"Você já está conectado a essa conta com o mesmo recurso. Por favor digite um "
+"novo"
 
 #. it is good to notify the user
 #. in case he or she cannot see the output of the console
-#: ../src/gajim.py:2012
+#: ../src/gajim.py:2521
 msgid "Could not save your settings and preferences"
 msgstr "Impossível salvar suas preferências"
 
-#: ../src/gajim.py:2211
+#. sorted alphanum
+#: ../src/gajim.py:2657 ../src/common/config.py:102
+#: ../src/common/config.py:413 ../src/common/optparser.py:206
+#: ../src/common/optparser.py:424 ../src/common/optparser.py:458
+msgid "default"
+msgstr "padrão"
+
+#: ../src/gajim.py:2743
 msgid "Network Manager support not available"
 msgstr "Não há suporte disponível para o Network Manager"
 
-#: ../src/gajim.py:2290
+#: ../src/gajim.py:2848
 msgid "Session Management support not available (missing gnome.ui module)"
 msgstr ""
 "Suporte de gerenciamento da sessão não disponível (faltando o módulo gnome."
 "ui)"
 
-#: ../src/gajim-remote.py:65
+#: ../src/gajim-remote.py:73
 msgid "Shows a help on specific command"
 msgstr "Mostra uma ajuda para um comando específico"
 
 #. User gets help for the command, specified by this parameter
-#: ../src/gajim-remote.py:68
+#: ../src/gajim-remote.py:76
 msgid "command"
 msgstr "comando"
 
-#: ../src/gajim-remote.py:69
+#: ../src/gajim-remote.py:77
 msgid "show help on command"
 msgstr "mostrar ajuda no comando"
 
-#: ../src/gajim-remote.py:73
+#: ../src/gajim-remote.py:81
 msgid "Shows or hides the roster window"
 msgstr "Mostrar ou esconder a janela principal"
 
-#: ../src/gajim-remote.py:77
+#: ../src/gajim-remote.py:85
 msgid "Pops up a window with the next pending event"
 msgstr "Exibir uma janela popup com o próximo evento pendente"
 
-#: ../src/gajim-remote.py:81
+#: ../src/gajim-remote.py:89
 msgid ""
 "Prints a list of all contacts in the roster. Each contact appears on a "
 "separate line"
@@ -4152,48 +4846,48 @@ msgstr ""
 "Exibir uma lista de todos os contatos na lista. Cada contato aparecerá em "
 "uma linha separada"
 
-#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99
-#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122
-#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:157
-#: ../src/gajim-remote.py:187 ../src/gajim-remote.py:196
-#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:210
-#: ../src/gajim-remote.py:221 ../src/gajim-remote.py:237
-#: ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:92 ../src/gajim-remote.py:107
+#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:130
+#: ../src/gajim-remote.py:144 ../src/gajim-remote.py:153
+#: ../src/gajim-remote.py:174 ../src/gajim-remote.py:204
+#: ../src/gajim-remote.py:213 ../src/gajim-remote.py:220
+#: ../src/gajim-remote.py:227 ../src/gajim-remote.py:238
+#: ../src/gajim-remote.py:254 ../src/gajim-remote.py:263
 msgid "account"
 msgstr "conta"
 
-#: ../src/gajim-remote.py:84
+#: ../src/gajim-remote.py:92
 msgid "show only contacts of the given account"
 msgstr "mostrar somente os contatos desta conta"
 
-#: ../src/gajim-remote.py:90
+#: ../src/gajim-remote.py:98
 msgid "Prints a list of registered accounts"
 msgstr "Imprimir uma lista das contas registradas"
 
-#: ../src/gajim-remote.py:94
+#: ../src/gajim-remote.py:102
 msgid "Changes the status of account or accounts"
 msgstr "Mudar o status da conta ou contas"
 
 #. offline, online, chat, away, xa, dnd, invisible should not be translated
-#: ../src/gajim-remote.py:97
+#: ../src/gajim-remote.py:105
 msgid "status"
 msgstr "status"
 
-#: ../src/gajim-remote.py:97
+#: ../src/gajim-remote.py:105
 msgid "one of: offline, online, chat, away, xa, dnd, invisible "
 msgstr ""
 "um desses: desconectado, conectado, bate-papo, inativo, fora, np, invisível"
 
-#: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119
-#: ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:106 ../src/gajim-remote.py:127
+#: ../src/gajim-remote.py:141 ../src/gajim-remote.py:152
 msgid "message"
 msgstr "mensagem"
 
-#: ../src/gajim-remote.py:98
+#: ../src/gajim-remote.py:106
 msgid "status message"
 msgstr "mensagem de status"
 
-#: ../src/gajim-remote.py:99
+#: ../src/gajim-remote.py:107
 msgid ""
 "change status of account \"account\". If not specified, try to change status "
 "of all accounts that have \"sync with global status\" option set"
@@ -4202,21 +4896,21 @@ msgstr ""
 "status de todas as contas existentes com a opção \"sincronizar com status "
 "global\" marcada"
 
-#: ../src/gajim-remote.py:105
+#: ../src/gajim-remote.py:113
 msgid "Shows the chat dialog so that you can send messages to a contact"
 msgstr ""
 "Mostrar o diálogo do bate-papo onde você pode enviar mensagens para um "
 "contato"
 
-#: ../src/gajim-remote.py:107
+#: ../src/gajim-remote.py:115
 msgid "JID of the contact that you want to chat with"
 msgstr "JID do contato que você quer conversar"
 
-#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:187
+#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:204
 msgid "if specified, contact is taken from the contact list of this account"
 msgstr "se especificado, o contato é feito da lista de contatos desta conta"
 
-#: ../src/gajim-remote.py:114
+#: ../src/gajim-remote.py:122
 msgid ""
 "Sends new chat message to a contact in the roster. Both OpenPGP key and "
 "account are optional. If you want to set only 'account', without 'OpenPGP "
@@ -4226,28 +4920,30 @@ msgstr ""
 "são opcionais. Se você quer configurar somente a 'conta', sem a 'chave "
 "OpenPGP', apenas configure a 'chave para ''."
 
-#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:131
+#: ../src/gajim-remote.py:126 ../src/gajim-remote.py:139
 msgid "JID of the contact that will receive the message"
 msgstr "JID do contato que irá receber a mensagem"
 
-#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:127 ../src/gajim-remote.py:141
+#: ../src/gajim-remote.py:152
 msgid "message contents"
 msgstr "conteúdos da mensagem"
 
-#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
+#: ../src/gajim-remote.py:128 ../src/gajim-remote.py:142
 msgid "pgp key"
 msgstr "chave pgp"
 
-#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
+#: ../src/gajim-remote.py:128 ../src/gajim-remote.py:142
 msgid "if specified, the message will be encrypted using this public key"
 msgstr ""
 "se especificada, a mensagem será criptografada usando esta chave pública"
 
-#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136
+#: ../src/gajim-remote.py:130 ../src/gajim-remote.py:144
+#: ../src/gajim-remote.py:153
 msgid "if specified, the message will be sent using this account"
 msgstr "se especificada, a mensagem será enviada usando esta conta"
 
-#: ../src/gajim-remote.py:127
+#: ../src/gajim-remote.py:135
 msgid ""
 "Sends new single message to a contact in the roster. Both OpenPGP key and "
 "account are optional. If you want to set only 'account', without 'OpenPGP "
@@ -4257,127 +4953,136 @@ msgstr ""
 "conta são opcionais. Se você quer configurar somente a 'conta', sem a 'chave "
 "OpenPGP, apenas configure a 'chave OpenPGP' para ''."
 
-#: ../src/gajim-remote.py:132
+#: ../src/gajim-remote.py:140
 msgid "subject"
 msgstr "assunto"
 
-#: ../src/gajim-remote.py:132
+#: ../src/gajim-remote.py:140
 msgid "message subject"
 msgstr "assunto da mensagem"
 
-#: ../src/gajim-remote.py:141
+#: ../src/gajim-remote.py:149
+msgid "Sends new message to a groupchat you've joined."
+msgstr ""
+"Envia uma nova messagem para uma conferência em que você tiver ingressado."
+
+#: ../src/gajim-remote.py:151
+msgid "JID of the room that will receive the message"
+msgstr "O JID do contato que receberá a mensagem"
+
+#: ../src/gajim-remote.py:158
 msgid "Gets detailed info on a contact"
 msgstr "Informações detalhadas do contato"
 
-#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156
-#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:160 ../src/gajim-remote.py:173
+#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:212
 msgid "JID of the contact"
 msgstr "JID do contato"
 
-#: ../src/gajim-remote.py:147
+#: ../src/gajim-remote.py:164
 msgid "Gets detailed info on a account"
 msgstr "Informações detalhadas do contato"
 
-#: ../src/gajim-remote.py:149
+#: ../src/gajim-remote.py:166
 msgid "Name of the account"
 msgstr "Nome da conta"
 
-#: ../src/gajim-remote.py:153
+#: ../src/gajim-remote.py:170
 msgid "Sends file to a contact"
 msgstr "Enviar arquivo para um contato"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:172
 msgid "file"
 msgstr "arquivo"
 
-#: ../src/gajim-remote.py:155
+#: ../src/gajim-remote.py:172
 msgid "File path"
 msgstr "Caminho do arquivo"
 
-#: ../src/gajim-remote.py:157
+#: ../src/gajim-remote.py:174
 msgid "if specified, file will be sent using this account"
 msgstr "se especificada, arquivo irá ser enviado usando esta conta"
 
-#: ../src/gajim-remote.py:162
+#: ../src/gajim-remote.py:179
 msgid "Lists all preferences and their values"
 msgstr "Lista todas as preferências e seus valores"
 
-#: ../src/gajim-remote.py:166
+#: ../src/gajim-remote.py:183
 msgid "Sets value of 'key' to 'value'."
 msgstr "Ajusta o valor da 'chave' ao 'valor '."
 
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:185
 msgid "key=value"
 msgstr "chave=valor"
 
-#: ../src/gajim-remote.py:168
+#: ../src/gajim-remote.py:185
 msgid "'key' is the name of the preference, 'value' is the value to set it to"
 msgstr "'chave' é o nome de preferência, 'valor' é o valor para ajustá-la"
 
-#: ../src/gajim-remote.py:173
+#: ../src/gajim-remote.py:190
 msgid "Deletes a preference item"
 msgstr "Deleta um item de preferência"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:192
 msgid "key"
 msgstr "chave"
 
-#: ../src/gajim-remote.py:175
+#: ../src/gajim-remote.py:192
 msgid "name of the preference to be deleted"
 msgstr "nome da preferência a ser deletado"
 
-#: ../src/gajim-remote.py:179
+#: ../src/gajim-remote.py:196
 msgid "Writes the current state of Gajim preferences to the .config file"
 msgstr "Escreve o estado atual das preferências do Gajim em um arquivo .config"
 
-#: ../src/gajim-remote.py:184
+#: ../src/gajim-remote.py:201
 msgid "Removes contact from roster"
 msgstr "Remover contato da lista"
 
-#: ../src/gajim-remote.py:193
+#: ../src/gajim-remote.py:210
 msgid "Adds contact to roster"
 msgstr "Adicionar contato para a lista"
 
-#: ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:212
 msgid "jid"
 msgstr "JID"
 
-#: ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:213
 msgid "Adds new contact to this account"
 msgstr "Adicionar novo contato para esta conta"
 
-#: ../src/gajim-remote.py:201
+#: ../src/gajim-remote.py:218
 msgid "Returns current status (the global one unless account is specified)"
 msgstr "Retorna o status atual (global a menos que o cliente for especificado)"
 
-#: ../src/gajim-remote.py:208
+#: ../src/gajim-remote.py:225
 msgid ""
 "Returns current status message(the global one unless account is specified)"
 msgstr ""
 "Retorna a mensagem de status atual (global a menos que a conta for "
 "especificada)"
 
-#: ../src/gajim-remote.py:215
+#: ../src/gajim-remote.py:232
 msgid "Returns number of unread messages"
 msgstr "Retorna o número das mensagens não lidas"
 
-#: ../src/gajim-remote.py:219
+#: ../src/gajim-remote.py:236
 msgid "Opens 'Start Chat' dialog"
 msgstr "Abrir o diálogo 'Iniciar Conversa'"
 
-#: ../src/gajim-remote.py:221
+#: ../src/gajim-remote.py:238
 msgid "Starts chat, using this account"
 msgstr "Iniciar conversa, usando esta conta"
 
-#: ../src/gajim-remote.py:225
+#: ../src/gajim-remote.py:242
 msgid "Sends custom XML"
 msgstr "Envia XML personalizado"
 
-#: ../src/gajim-remote.py:227
+#: ../src/gajim-remote.py:244
 msgid "XML to send"
 msgstr "XML a enviar"
 
-#: ../src/gajim-remote.py:228
+#: ../src/gajim-remote.py:245
 msgid ""
 "Account in which the xml will be sent; if not specified, xml will be sent to "
 "all accounts"
@@ -4385,35 +5090,35 @@ msgstr ""
 "A conta em que o XML será enviado; se não estiver especificado, será enviado "
 "para todas as contas"
 
-#: ../src/gajim-remote.py:234
+#: ../src/gajim-remote.py:251
 msgid "Handle a xmpp:/ uri"
 msgstr "Manipular uma URI xmpp:/"
 
-#: ../src/gajim-remote.py:236
+#: ../src/gajim-remote.py:253
 msgid "uri"
 msgstr "URI"
 
-#: ../src/gajim-remote.py:241
+#: ../src/gajim-remote.py:258
 msgid "Join a MUC room"
 msgstr "Entrar em uma sala MUC"
 
-#: ../src/gajim-remote.py:243
+#: ../src/gajim-remote.py:260
 msgid "room"
 msgstr "sala"
 
-#: ../src/gajim-remote.py:244
+#: ../src/gajim-remote.py:261
 msgid "nick"
 msgstr "apelido"
 
-#: ../src/gajim-remote.py:245
+#: ../src/gajim-remote.py:262
 msgid "password"
 msgstr "senha"
 
-#: ../src/gajim-remote.py:268
+#: ../src/gajim-remote.py:285
 msgid "Missing argument \"contact_jid\""
 msgstr "Argumento não informado \"contact_jid\""
 
-#: ../src/gajim-remote.py:287
+#: ../src/gajim-remote.py:304
 #, python-format
 msgid ""
 "'%s' is not in your roster.\n"
@@ -4422,11 +5127,11 @@ msgstr ""
 "'%s' não está em sua lista.\n"
 "Por favor, especifique a conta para enviar a mensagem."
 
-#: ../src/gajim-remote.py:290
+#: ../src/gajim-remote.py:307
 msgid "You have no active account"
 msgstr "Você não tem uma conta ativa"
 
-#: ../src/gajim-remote.py:354
+#: ../src/gajim-remote.py:371
 #, python-format
 msgid ""
 "Usage: %s %s %s \n"
@@ -4435,16 +5140,16 @@ msgstr ""
 "Uso: %s %s %s \n"
 "\t %s"
 
-#: ../src/gajim-remote.py:357
+#: ../src/gajim-remote.py:374
 msgid "Arguments:"
 msgstr "Argumentos:"
 
-#: ../src/gajim-remote.py:361
+#: ../src/gajim-remote.py:378
 #, python-format
 msgid "%s not found"
 msgstr "%s não encontrado"
 
-#: ../src/gajim-remote.py:365
+#: ../src/gajim-remote.py:382
 #, python-format
 msgid ""
 "Usage: %s command [arguments]\n"
@@ -4453,7 +5158,7 @@ msgstr ""
 "Uso: %s comando [argumentos]\n"
 "Comando é um desses:\n"
 
-#: ../src/gajim-remote.py:438
+#: ../src/gajim-remote.py:455
 #, python-format
 msgid ""
 "Too many arguments. \n"
@@ -4462,7 +5167,7 @@ msgstr ""
 "Muitos argumentos.\n"
 "Digite \"%s help %s\" para mais informações"
 
-#: ../src/gajim-remote.py:442
+#: ../src/gajim-remote.py:459
 #, python-format
 msgid ""
 "Argument \"%s\" is not specified. \n"
@@ -4471,116 +5176,152 @@ msgstr ""
 "Argumento \"%s\" não está especificado. \n"
 "Tipo \"%s ajuda %s\" para maiores informações"
 
-#: ../src/gajim-remote.py:460
+#: ../src/gajim-remote.py:477
 msgid "Wrong uri"
 msgstr "URI incorreta"
 
-#: ../src/gajim_themes_window.py:60
+#: ../src/gajim_themes_window.py:67
 msgid "Theme"
 msgstr "Tema"
 
+#: ../src/gajim_themes_window.py:105
+msgid "You cannot make changes to the default theme"
+msgstr "Você não pode fazer alterações no tema padrão"
+
+#: ../src/gajim_themes_window.py:106
+msgid "Please create a clean new theme with your desired name."
+msgstr "Crie um novo tema com o nome que você desejar."
+
 #. don't confuse translators
-#: ../src/gajim_themes_window.py:155
+#: ../src/gajim_themes_window.py:180
 msgid "theme name"
 msgstr "nome do tema"
 
-#: ../src/gajim_themes_window.py:172
+#: ../src/gajim_themes_window.py:197
 msgid "You cannot delete your current theme"
 msgstr "Você não pode apagar o seu tema corrente"
 
-#: ../src/gajim_themes_window.py:173
+#: ../src/gajim_themes_window.py:198
 msgid "Please first choose another for your current theme."
 msgstr "Por favor escolha outro para seu tema corrente."
 
-#: ../src/groupchat_control.py:122
+#: ../src/groupchat_control.py:139
 msgid "Sending private message failed"
 msgstr "Falha ao Enviar uma mensagem privada"
 
 #. in second %s code replaces with nickname
-#: ../src/groupchat_control.py:124
+#: ../src/groupchat_control.py:141
 #, python-format
 msgid "You are no longer in group chat \"%s\" or \"%s\" has left."
 msgstr "Você não está mais na sala \"%s\" ou \"%s\" saiu."
 
-#: ../src/groupchat_control.py:322
+#: ../src/groupchat_control.py:350
 msgid "Insert Nickname"
 msgstr "Inserir Apelido"
 
+#: ../src/groupchat_control.py:878
+msgid "Really send file?"
+msgstr "Enviar o arquivo mesmo?"
+
+#: ../src/groupchat_control.py:879
+#, python-format
+msgid "If you send a file to %s, he/she will know your real Jabber ID."
+msgstr "Se você enviar um arquivo para %s, ele(a) saberá o seu Jabber ID real."
+
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/groupchat_control.py:954
+msgid "Room logging is enabled"
+msgstr "A gravação das conversas da sala está ligado"
+
+#: ../src/groupchat_control.py:956
+msgid "A new room has been created"
+msgstr "Uma nova sala foi criada"
+
+#: ../src/groupchat_control.py:959
+msgid "The server has assigned or modified your roomnick"
+msgstr "O servidor atribuiu ou modificou o apelido da sua sala"
+
 #. do not print 'kicked by None'
-#: ../src/groupchat_control.py:850
+#: ../src/groupchat_control.py:965
 #, python-format
 msgid "%(nick)s has been kicked: %(reason)s"
 msgstr "%(nick)s foi chutado: %(reason)s"
 
-#: ../src/groupchat_control.py:854
+#: ../src/groupchat_control.py:969
 #, python-format
 msgid "%(nick)s has been kicked by %(who)s: %(reason)s"
 msgstr "%(nick)s foi chutado por %(who)s: %(reason)s"
 
 #. do not print 'banned by None'
-#: ../src/groupchat_control.py:861
+#: ../src/groupchat_control.py:976
 #, python-format
 msgid "%(nick)s has been banned: %(reason)s"
 msgstr "%(nick)s  foi banido: %(reason)s"
 
-#: ../src/groupchat_control.py:865
+#: ../src/groupchat_control.py:980
 #, python-format
 msgid "%(nick)s has been banned by %(who)s: %(reason)s"
 msgstr "%(nick)s  foi banido por %(who)s: %(reason)s"
 
-#: ../src/groupchat_control.py:873
+#: ../src/groupchat_control.py:989
 #, python-format
 msgid "You are now known as %s"
 msgstr "Você agora é conhecido como %s"
 
-#: ../src/groupchat_control.py:875
+#: ../src/groupchat_control.py:1025 ../src/groupchat_control.py:1029
+#: ../src/groupchat_control.py:1034
 #, python-format
-msgid "%s is now known as %s"
-msgstr "%s agora é conhecido como %s"
+msgid "%(nick)s has been removed from the room (%(reason)s)"
+msgstr "%(nick)s foi removido da sala (%(reason)s)"
+
+#: ../src/groupchat_control.py:1026
+msgid "affiliation changed"
+msgstr "filiação alterada"
+
+#: ../src/groupchat_control.py:1031
+msgid "room configuration changed to members-only"
+msgstr "a configuração da sala mudou para aceitar apenas membros"
 
-#: ../src/groupchat_control.py:961
+#: ../src/groupchat_control.py:1036
+msgid "system shutdown"
+msgstr "desligamento do sistema"
+
+#: ../src/groupchat_control.py:1135
 #, python-format
 msgid "%s has left"
 msgstr "%s saiu da sala"
 
-#: ../src/groupchat_control.py:966
+#: ../src/groupchat_control.py:1140
 #, python-format
 msgid "%s has joined the group chat"
 msgstr "%s entrou na conferência"
 
-#: ../src/groupchat_control.py:1088 ../src/groupchat_control.py:1106
-#: ../src/groupchat_control.py:1199 ../src/groupchat_control.py:1216
+#. Invalid Nickname
+#. invalid char
+#: ../src/groupchat_control.py:1253 ../src/groupchat_control.py:1532
+msgid "Invalid nickname"
+msgstr "Apelido inválido"
+
+#: ../src/groupchat_control.py:1254 ../src/groupchat_control.py:1533
+msgid "The nickname has not allowed characters."
+msgstr "O apelido possui caracteres não permitidos."
+
+#: ../src/groupchat_control.py:1277 ../src/groupchat_control.py:1295
+#: ../src/groupchat_control.py:1379 ../src/groupchat_control.py:1396
 #, python-format
 msgid "Nickname not found: %s"
 msgstr "Apelido não encontrado: %s"
 
-#: ../src/groupchat_control.py:1122
+#: ../src/groupchat_control.py:1311
 msgid "This group chat has no subject"
 msgstr "Esta conferência não tem assunto"
 
-#: ../src/groupchat_control.py:1135
+#: ../src/groupchat_control.py:1322
 #, python-format
 msgid "Invited %(contact_jid)s to %(room_jid)s."
 msgstr "Convidado %(contact_jid)s para %(room_jid)s."
 
-#. %s is something the user wrote but it is not a jid so we inform
-#: ../src/groupchat_control.py:1142 ../src/groupchat_control.py:1170
-#, python-format
-msgid "%s does not appear to be a valid JID"
-msgstr "%s não parece ser um JID válido"
-
-#: ../src/groupchat_control.py:1253
-#, python-format
-msgid "No such command: /%s (if you want to send this, prefix it with /say)"
-msgstr ""
-"Comando não encontrado: /%s (se você quer enviar isto, use este prefixo /say)"
-
-#: ../src/groupchat_control.py:1276
-#, python-format
-msgid "Commands: %s"
-msgstr "Comandos: %s"
-
-#: ../src/groupchat_control.py:1279
+#: ../src/groupchat_control.py:1459
 #, python-format
 msgid ""
 "Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
@@ -4593,7 +5334,7 @@ msgstr ""
 "estiver atualmente na sala, ele/ela será chutado também.  NÃO suporta "
 "espaços no apelido."
 
-#: ../src/groupchat_control.py:1286
+#: ../src/groupchat_control.py:1466
 #, python-format
 msgid ""
 "Usage: /%s <nickname>, opens a private chat window with the specified "
@@ -4602,12 +5343,7 @@ msgstr ""
 "Uso: /%s <apelido>, abre uma janela de conferência privada com um ocupante "
 "específico."
 
-#: ../src/groupchat_control.py:1290
-#, python-format
-msgid "Usage: /%s, clears the text window."
-msgstr "Uso: /%s, apaga o texto da janela."
-
-#: ../src/groupchat_control.py:1292
+#: ../src/groupchat_control.py:1472
 #, python-format
 msgid ""
 "Usage: /%s [reason], closes the current window or tab, displaying reason if "
@@ -4616,12 +5352,7 @@ msgstr ""
 "Uso: /%s [rasão], fecha a janela corrente ou a aba, mostrando a razão se "
 "especificada."
 
-#: ../src/groupchat_control.py:1295
-#, python-format
-msgid "Usage: /%s, hide the chat buttons."
-msgstr "Uso: /%s, esconde os botões do bate-papo."
-
-#: ../src/groupchat_control.py:1298
+#: ../src/groupchat_control.py:1478
 #, python-format
 msgid ""
 "Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
@@ -4630,7 +5361,7 @@ msgstr ""
 "Uso: /%s <JID> [ razão ], convida JID à  sala atual, fornecendo "
 "opcionalmente uma razão."
 
-#: ../src/groupchat_control.py:1302
+#: ../src/groupchat_control.py:1482
 #, python-format
 msgid ""
 "Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
@@ -4639,7 +5370,7 @@ msgstr ""
 "Uso: /%s <sala>@<servidor>[/apelido], oferece para entrar na sala@servidor "
 "opcionalmente usando um apelido específico."
 
-#: ../src/groupchat_control.py:1306
+#: ../src/groupchat_control.py:1486
 #, python-format
 msgid ""
 "Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
@@ -4649,16 +5380,7 @@ msgstr ""
 "Uso: /%s <apelido> [razão], remove da sala o ocupante especificado pelo "
 "apelido e indica opcionalmente uma razão.  Não suporta espaços no apelido."
 
-#: ../src/groupchat_control.py:1311
-#, python-format
-msgid ""
-"Usage: /%s <action>, sends action to the current group chat. Use third "
-"person. (e.g. /%s explodes.)"
-msgstr ""
-"Uso: /%s <ação>, emite a ação à  sala atual. Use a terceira pessoa (por "
-"exemplo: /%s explodes.)"
-
-#: ../src/groupchat_control.py:1315
+#: ../src/groupchat_control.py:1495
 #, python-format
 msgid ""
 "Usage: /%s <nickname> [message], opens a private message window and sends "
@@ -4667,70 +5389,65 @@ msgstr ""
 "Uso: /%s <apelido> [mensagem], abre uma janela de mensagem privada e envia "
 "uma mensagem ao ocupante especificado pelo apelido."
 
-#: ../src/groupchat_control.py:1320
+#: ../src/groupchat_control.py:1500
 #, python-format
 msgid "Usage: /%s <nickname>, changes your nickname in current group chat."
 msgstr "Uso: /%s <apelido>, muda seu apelido na sala corrente."
 
-#: ../src/groupchat_control.py:1324
+#: ../src/groupchat_control.py:1504
 #, python-format
 msgid "Usage: /%s , display the names of group chat occupants."
 msgstr "Uso: /%s [tópico], mostra ou atualiza o tópico da sala atual."
 
-#: ../src/groupchat_control.py:1328
+#: ../src/groupchat_control.py:1508
 #, python-format
 msgid "Usage: /%s [topic], displays or updates the current group chat topic."
 msgstr "Uso: /%s [tópico], mostra ou atualiza o tópico da sala atual."
 
-#: ../src/groupchat_control.py:1331
+#: ../src/groupchat_control.py:1511
 #, python-format
 msgid ""
 "Usage: /%s <message>, sends a message without looking for other commands."
 msgstr ""
 "Uso: /%s <mensagem>, envia uma mensagem sem procurar por outros comandos."
 
-#: ../src/groupchat_control.py:1334
-#, python-format
-msgid "No help info for /%s"
-msgstr "Sem ajuda para /%s"
-
-#: ../src/groupchat_control.py:1397
+#: ../src/groupchat_control.py:1606
 #, python-format
 msgid "Are you sure you want to leave group chat \"%s\"?"
 msgstr "Você tem certeza que quer deixar a conferência \"%s\"?"
 
-#: ../src/groupchat_control.py:1399
+#: ../src/groupchat_control.py:1608
 msgid ""
 "If you close this window, you will be disconnected from this group chat."
 msgstr "Se você fechar esta janela, será desconectado desta conferência."
 
-#: ../src/groupchat_control.py:1403 ../src/roster_window.py:4066
+#: ../src/groupchat_control.py:1612 ../src/roster_window.py:4902
 msgid "Do _not ask me again"
 msgstr "_Não me pergunte novamente"
 
-#: ../src/groupchat_control.py:1437
+#: ../src/groupchat_control.py:1644
 msgid "Changing Subject"
 msgstr "Mudando Assunto"
 
-#: ../src/groupchat_control.py:1438
+#: ../src/groupchat_control.py:1645
 msgid "Please specify the new subject:"
 msgstr "Por favor, especifique o novo assunto:"
 
-#: ../src/groupchat_control.py:1447
+#: ../src/groupchat_control.py:1654
 msgid "Changing Nickname"
 msgstr "Mudando Apelido"
 
-#: ../src/groupchat_control.py:1448
+#: ../src/groupchat_control.py:1655
 msgid "Please specify the new nickname you want to use:"
 msgstr "Por favor, especifique o novo apelido que você quer usar:"
 
 #. Ask for a reason
-#: ../src/groupchat_control.py:1463
+#: ../src/groupchat_control.py:1670
 #, python-format
 msgid "Destroying %s"
 msgstr "Excluindo %s"
 
-#: ../src/groupchat_control.py:1464
+#: ../src/groupchat_control.py:1671
 msgid ""
 "You are going to definitively destroy this room.\n"
 "You may specify a reason below:"
@@ -4738,139 +5455,139 @@ msgstr ""
 "Você está prestes a excluir definitivamente esta sala.\n"
 "Você deve especificar uma justificativa abaixo:"
 
-#: ../src/groupchat_control.py:1466
+#: ../src/groupchat_control.py:1673
 msgid "You may also enter an alternate venue:"
 msgstr "Você também pode entrar um ponto de encontro alternativo:"
 
-#: ../src/groupchat_control.py:1496
+#: ../src/groupchat_control.py:1705
 msgid "Bookmark already set"
 msgstr "Bookmark já configurado"
 
-#: ../src/groupchat_control.py:1497
+#: ../src/groupchat_control.py:1706
 #, python-format
 msgid "Group Chat \"%s\" is already in your bookmarks."
 msgstr "A sala \"%s\" já existe nos favoritos."
 
-#: ../src/groupchat_control.py:1506
+#: ../src/groupchat_control.py:1715
 msgid "Bookmark has been added successfully"
 msgstr "Bookmark foi adicionado com sucesso"
 
-#: ../src/groupchat_control.py:1507
+#: ../src/groupchat_control.py:1716
 msgid "You can manage your bookmarks via Actions menu in your roster."
 msgstr ""
 "Você pode gerenciar seus bookmarks pelo menu de Ações na janela principal."
 
 #. ask for reason
-#: ../src/groupchat_control.py:1635
+#: ../src/groupchat_control.py:1868
 #, python-format
 msgid "Kicking %s"
 msgstr "Chutando %s"
 
-#: ../src/groupchat_control.py:1636 ../src/groupchat_control.py:1919
+#: ../src/groupchat_control.py:1869 ../src/groupchat_control.py:2169
 msgid "You may specify a reason below:"
 msgstr "Você deve especificar uma razão abaixo:"
 
 #. ask for reason
-#: ../src/groupchat_control.py:1918
+#: ../src/groupchat_control.py:2168
 #, python-format
 msgid "Banning %s"
 msgstr "Banindo %s"
 
-#: ../src/gtkexcepthook.py:41
+#: ../src/gtkexcepthook.py:46
 msgid "A programming error has been detected"
 msgstr "Um erro de programação foi detectado"
 
-#: ../src/gtkexcepthook.py:42
+#: ../src/gtkexcepthook.py:47
 msgid ""
 "It probably is not fatal, but should be reported to the developers "
 "nonetheless."
 msgstr "Não é provavelmente fatal, mas deve ser reportado aos programadores."
 
-#: ../src/gtkexcepthook.py:48
+#: ../src/gtkexcepthook.py:53
 msgid "_Report Bug"
 msgstr "_Reportar Erro"
 
-#: ../src/gtkexcepthook.py:71
+#: ../src/gtkexcepthook.py:76
 msgid "Details"
 msgstr "Detalhes"
 
 #. we talk about file
-#: ../src/gtkgui_helpers.py:156 ../src/gtkgui_helpers.py:171
+#: ../src/gtkgui_helpers.py:162 ../src/gtkgui_helpers.py:177
 #, python-format
 msgid "Error: cannot open %s for reading"
 msgstr "Erro: impossível abrir %s para leitura"
 
-#: ../src/gtkgui_helpers.py:336
+#: ../src/gtkgui_helpers.py:347
 msgid "Error reading file:"
 msgstr "Erro lendo arquivo:"
 
-#: ../src/gtkgui_helpers.py:339
+#: ../src/gtkgui_helpers.py:350
 msgid "Error parsing file:"
 msgstr "Erro ao analisar gramaticalmente o arquivo:"
 
 #. do not traceback (could be a permission problem)
 #. we talk about a file here
-#: ../src/gtkgui_helpers.py:376
+#: ../src/gtkgui_helpers.py:387
 #, python-format
 msgid "Could not write to %s. Session Management support will not work"
 msgstr ""
 "Não foi possível escrever à  %s. O suporte de gerência da sessão não funciona"
 
 #. xmpp: is currently handled by another program, so ask the user
-#: ../src/gtkgui_helpers.py:694
+#: ../src/gtkgui_helpers.py:719
 msgid "Gajim is not the default Jabber client"
 msgstr "O Gajim não é o cliente Jabber padrão"
 
-#: ../src/gtkgui_helpers.py:695
+#: ../src/gtkgui_helpers.py:720
 msgid "Would you like to make Gajim the default Jabber client?"
 msgstr "Você gostaria de tornar o Gajim o cliente Jabber padrão?"
 
-#: ../src/gtkgui_helpers.py:696
+#: ../src/gtkgui_helpers.py:721
 msgid "Always check to see if Gajim is the default Jabber client on startup"
 msgstr "Sempre verificar ao iniciar se o Gajim é o cliente Jabber padrão"
 
-#: ../src/gtkgui_helpers.py:795
+#: ../src/gtkgui_helpers.py:818
 msgid "Extension not supported"
 msgstr "Extensão não suportada"
 
-#: ../src/gtkgui_helpers.py:796
+#: ../src/gtkgui_helpers.py:819
 #, python-format
 msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
 msgstr ""
 "A imagem não pode ser salva no formato %(type)s. Salvar como %(new_filename)"
 "s?"
 
-#: ../src/gtkgui_helpers.py:805
+#: ../src/gtkgui_helpers.py:828
 msgid "Save Image as..."
 msgstr "Salvar Imagem como..."
 
-#: ../src/history_manager.py:65
+#: ../src/history_manager.py:73
 msgid "Cannot find history logs database"
 msgstr "Não foi encontrado banco de dados do histórico de logs"
 
 #. holds jid
-#: ../src/history_manager.py:108
+#: ../src/history_manager.py:113
 msgid "Contacts"
 msgstr "Contatos"
 
 #. holds time
-#: ../src/history_manager.py:121 ../src/history_manager.py:161
-#: ../src/history_window.py:86
+#: ../src/history_manager.py:126 ../src/history_manager.py:166
+#: ../src/history_window.py:121
 msgid "Date"
 msgstr "Data:"
 
 #. holds nickname
-#: ../src/history_manager.py:127 ../src/history_manager.py:179
+#: ../src/history_manager.py:132 ../src/history_manager.py:184
 msgid "Nickname"
 msgstr "Apelido"
 
 #. holds message
-#: ../src/history_manager.py:135 ../src/history_manager.py:167
-#: ../src/history_window.py:94
+#: ../src/history_manager.py:140 ../src/history_manager.py:172
+#: ../src/history_window.py:129
 msgid "Message"
 msgstr "Mensagem"
 
-#: ../src/history_manager.py:187
+#: ../src/history_manager.py:192
 msgid ""
 "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS "
 "RUNNING)"
@@ -4878,7 +5595,7 @@ msgstr ""
 "Você quer limpar o banco de dados? (ALTAMENTE NÃO RECOMENDADO COM O GAJIM EM "
 "EXECUÇÃO)"
 
-#: ../src/history_manager.py:189
+#: ../src/history_manager.py:194
 msgid ""
 "Normally allocated database size will not be freed, it will just become "
 "reusable. If you really want to reduce database filesize, click YES, else "
@@ -4892,221 +5609,293 @@ msgstr ""
 "\n"
 "Se caso você clicou SIM, por favor espere... "
 
-#: ../src/history_manager.py:401
+#: ../src/history_manager.py:406
 msgid "Exporting History Logs..."
 msgstr "Exportando Histórico de Logs..."
 
-#: ../src/history_manager.py:476
+#: ../src/history_manager.py:481
 #, python-format
 msgid "%(who)s on %(time)s said: %(message)s\n"
 msgstr "%(who)s em %(time)s disse: %(message)s\n"
 
-#: ../src/history_manager.py:514
+#: ../src/history_manager.py:518
 msgid "Do you really want to delete logs of the selected contact?"
 msgid_plural "Do you really want to delete logs of the selected contacts?"
 msgstr[0] "Você realmente quer deletar os logs do contato selecionado?"
 msgstr[1] "Você realmente quer deletar os logs dos contatos selecionados?"
 
-#: ../src/history_manager.py:518 ../src/history_manager.py:554
+#: ../src/history_manager.py:522 ../src/history_manager.py:557
 msgid "This is an irreversible operation."
 msgstr "Esta é uma operação irreversível."
 
-#: ../src/history_manager.py:551
+#: ../src/history_manager.py:554
 msgid "Do you really want to delete the selected message?"
 msgid_plural "Do you really want to delete the selected messages?"
 msgstr[0] "Você realmente quer deletar a mensagem selecionada?"
 msgstr[1] "Você realmente quer deletar as mensagens selecionadas?"
 
-#: ../src/history_window.py:103 ../src/history_window.py:105
+#: ../src/history_window.py:209 ../src/history_window.py:211
 #, python-format
 msgid "Conversation History with %s"
 msgstr "Histórico de Conversação com %s"
 
-#: ../src/history_window.py:266
+#: ../src/history_window.py:342
 #, python-format
 msgid "%(nick)s is now %(status)s: %(status_msg)s"
 msgstr "%(nick)s é agora %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:270 ../src/notify.py:199
+#: ../src/history_window.py:346 ../src/notify.py:219
 #, python-format
 msgid "%(nick)s is now %(status)s"
 msgstr "%(nick)s agora está %(status)s"
 
-#: ../src/history_window.py:276
+#: ../src/history_window.py:352
 #, python-format
 msgid "Status is now: %(status)s: %(status_msg)s"
 msgstr "Status agora é: %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:279
+#: ../src/history_window.py:355
 #, python-format
 msgid "Status is now: %(status)s"
 msgstr "Status agora é: %(status)s"
 
-#: ../src/message_window.py:278
+#: ../src/htmltextview.py:586 ../src/htmltextview.py:597
+msgid "Timeout loading image"
+msgstr "Tempo esgotado ao carregar a imagem"
+
+#: ../src/htmltextview.py:607
+msgid "Image is too big"
+msgstr "A imagem é grande demais"
+
+#: ../src/message_window.py:350
 msgid "Chats"
 msgstr "Conversas"
 
-#: ../src/message_window.py:280
+#: ../src/message_window.py:352
 msgid "Group Chats"
 msgstr "Conferências"
 
-#: ../src/message_window.py:282
+#: ../src/message_window.py:354
 msgid "Private Chats"
 msgstr "ConversasPrivada"
 
-#: ../src/message_window.py:284
+#: ../src/message_window.py:356
 msgid "Messages"
 msgstr "Mensagens"
 
-#: ../src/message_window.py:285
+#: ../src/message_window.py:357
 #, python-format
 msgid "%s - Gajim"
 msgstr "%s - Gajim"
 
-#: ../src/notify.py:197
+#: ../src/negotiation.py:13
+msgid "- messages will be logged"
+msgstr "- as mensagens serão gravadas"
+
+#: ../src/negotiation.py:15
+msgid "- messages will not be logged"
+msgstr "- as mensagens não serão gravadas"
+
+#: ../src/negotiation.py:24
+msgid "OK to continue with negotiation?"
+msgstr "Tudo certo para continuar com a negociação?"
+
+#: ../src/negotiation.py:25
+#, python-format
+msgid ""
+"You've begun an encrypted session with %s, but it can't be guaranteed that "
+"you're talking directly to the person you think you are.\n"
+"\n"
+"You should speak with them directly (in person or on the phone) and confirm "
+"that their Short Authentication String is identical to this one: %s\n"
+"\n"
+"Would you like to continue with the encrypted session?"
+msgstr ""
+"Você começou uma sessão criptografada com %s, mas não há garantias de que "
+"você esteja falando diretamente com a pessoa que você imagina.\n"
+"\n"
+"Você deve falar com eles diretamente (pessoalmente ou por telefone) e "
+"confirmar que a String de Autenticação Curta deles é idêntica a esta: %s\n"
+"\n"
+"Você quer continuar com a sessão criptografada?"
+
+#: ../src/negotiation.py:31
+msgid "Yes, I verified the Short Authentication String"
+msgstr "Sim, eu verifiquei a String de Verificação Curta"
+
+#: ../src/notify.py:217
 #, python-format
 msgid "%(nick)s Changed Status"
 msgstr "%(nick)s Alterou seu Status"
 
-#: ../src/notify.py:207
+#: ../src/notify.py:227
 #, python-format
 msgid "%(nickname)s Signed In"
 msgstr "%(nickname)s Conectou"
 
-#: ../src/notify.py:215
+#: ../src/notify.py:235
 #, python-format
 msgid "%(nickname)s Signed Out"
 msgstr "%(nickname)s Desconectou"
 
-#: ../src/notify.py:227
+#: ../src/notify.py:247
 #, python-format
 msgid "New Single Message from %(nickname)s"
 msgstr "Nova Mensagem Simples de %(nickname)s"
 
-#: ../src/notify.py:235
+#: ../src/notify.py:255
 #, python-format
 msgid "New Private Message from group chat %s"
 msgstr "Nova Mensagem Privada da conferência %s"
 
-#: ../src/notify.py:236
+#: ../src/notify.py:257
 #, python-format
 msgid "%(nickname)s: %(message)s"
 msgstr "%(nickname)s: %(message)s"
 
-#: ../src/notify.py:242
+#: ../src/notify.py:260
+#, python-format
+msgid "Messaged by %(nickname)s"
+msgstr "Mensagem enviada por %(nickname)s"
+
+#: ../src/notify.py:266
 #, python-format
 msgid "New Message from %(nickname)s"
 msgstr "Nova Mensagem de %(nickname)s"
 
-#: ../src/profile_window.py:72
+#: ../src/profile_window.py:54
 msgid "Retrieving profile..."
 msgstr "Recuperando perfil..."
 
+#: ../src/profile_window.py:107 ../src/roster_window.py:1914
+msgid "File is empty"
+msgstr "O arquivo está vazio"
+
+#: ../src/profile_window.py:110 ../src/roster_window.py:1917
+msgid "File does not exist"
+msgstr "O arquivo não existe"
+
 #. keep identation
-#: ../src/profile_window.py:143
+#. unknown format
+#: ../src/profile_window.py:124 ../src/profile_window.py:140
+#: ../src/roster_window.py:1919 ../src/roster_window.py:1930
 msgid "Could not load image"
 msgstr "A imagem não pode ser carregada"
 
-#: ../src/profile_window.py:255
+#: ../src/profile_window.py:250
 msgid "Information received"
 msgstr "Informação recebida"
 
-#: ../src/profile_window.py:324
+#: ../src/profile_window.py:319
 msgid "Without a connection you can not publish your contact information."
 msgstr "Você deve estar conectado para publicar suas informações de contato."
 
-#: ../src/profile_window.py:336
+#: ../src/profile_window.py:331
 msgid "Sending profile..."
 msgstr "Enviando perfil..."
 
-#: ../src/profile_window.py:351
+#: ../src/profile_window.py:346
 msgid "Information NOT published"
 msgstr "Informação NÃO publicada"
 
-#: ../src/profile_window.py:358
+#: ../src/profile_window.py:353
 msgid "vCard publication failed"
 msgstr "Publicação do vCard falhou"
 
-#: ../src/profile_window.py:359
+#: ../src/profile_window.py:354
 msgid ""
 "There was an error while publishing your personal information, try again "
 "later."
 msgstr ""
 "Houve um erro ao publicar sua informação pessoal, tente outra vez mais tarde."
 
-#: ../src/roster_window.py:172 ../src/roster_window.py:227
+#: ../src/roster_window.py:194 ../src/roster_window.py:249
 msgid "Merged accounts"
 msgstr "Juntar contas"
 
-#: ../src/roster_window.py:345 ../src/common/helpers.py:43
+#: ../src/roster_window.py:370 ../src/roster_window.py:635
+#: ../src/roster_window.py:2145 ../src/common/contacts.py:312
+#: ../src/common/helpers.py:53
 msgid "Observers"
 msgstr "Observadores"
 
-#: ../src/roster_window.py:692 ../src/roster_window.py:3222
+#. Make special context menu if group is Groupchats
+#: ../src/roster_window.py:454 ../src/roster_window.py:459
+#: ../src/roster_window.py:1967 ../src/roster_window.py:1970
+#: ../src/roster_window.py:2640 ../src/roster_window.py:2643
+#: ../src/roster_window.py:2668 ../src/roster_window.py:4763
+#: ../src/roster_window.py:4765 ../src/common/commands.py:199
+#: ../src/common/contacts.py:102 ../src/common/helpers.py:53
+msgid "Groupchats"
+msgstr "Salas"
+
+#: ../src/roster_window.py:784 ../src/roster_window.py:4012
 msgid "You cannot join a group chat while you are invisible"
 msgstr "Você não pode ingressar em uma sala enquanto estiver invisível"
 
 #. new chat
+#. single message
 #. for chat_with
 #. for single message
-#: ../src/roster_window.py:884 ../src/systray.py:206 ../src/systray.py:211
+#. join gc
+#: ../src/roster_window.py:1005 ../src/roster_window.py:1015
+#: ../src/roster_window.py:1024 ../src/systray.py:212 ../src/systray.py:217
+#: ../src/systray.py:223
 #, python-format
 msgid "using account %s"
 msgstr "usando conta %s"
 
-#. the 'manage gc bookmarks' item is shown
-#. below to avoid duplicate code
 #. add
-#: ../src/roster_window.py:909
+#: ../src/roster_window.py:1031
 #, python-format
 msgid "to %s account"
 msgstr "para %s conta"
 
 #. disco
-#: ../src/roster_window.py:914
+#: ../src/roster_window.py:1036
 #, python-format
 msgid "using %s account"
 msgstr "usando %s conta"
 
+#: ../src/roster_window.py:1117
+msgid "_Manage Bookmarks..."
+msgstr "_Gerenciar Favoritos..."
+
 #. profile, avatar
-#: ../src/roster_window.py:989
+#: ../src/roster_window.py:1136
 #, python-format
 msgid "of account %s"
 msgstr "da conta %s"
 
-#: ../src/roster_window.py:1009
-msgid "_Manage Bookmarks..."
-msgstr "_Gerenciar Favoritos..."
-
-#: ../src/roster_window.py:1038
+#: ../src/roster_window.py:1176
 #, python-format
 msgid "for account %s"
 msgstr "para conta %s"
 
 #. History manager
-#: ../src/roster_window.py:1059
+#: ../src/roster_window.py:1200
 msgid "History Manager"
 msgstr "Gerenciador de Histórico"
 
-#: ../src/roster_window.py:1068
+#: ../src/roster_window.py:1209
 msgid "_Join New Group Chat"
 msgstr "_Ingressar em uma nova Conferência"
 
-#: ../src/roster_window.py:1397 ../src/roster_window.py:3418
-#: ../src/roster_window.py:3425
+#: ../src/roster_window.py:1576 ../src/roster_window.py:4217
+#: ../src/roster_window.py:4224
 msgid "You have unread messages"
 msgstr "Você tem mensagens não lidas"
 
-#: ../src/roster_window.py:1398
+#: ../src/roster_window.py:1577
 msgid "You must read them before removing this transport."
 msgstr "Você precisa lê-los antes de remover este transporte."
 
-#: ../src/roster_window.py:1401
+#: ../src/roster_window.py:1580
 #, python-format
 msgid "Transport \"%s\" will be removed"
 msgstr "Transporte \"%s\" será removido"
 
-#: ../src/roster_window.py:1402
+#: ../src/roster_window.py:1581
 msgid ""
 "You will no longer be able to send and receive messages from contacts using "
 "this transport."
@@ -5114,11 +5903,11 @@ msgstr ""
 "Você não poderá mais enviar e receber mensagens dos contatos usando este "
 "transporte."
 
-#: ../src/roster_window.py:1405
+#: ../src/roster_window.py:1584
 msgid "Transports will be removed"
 msgstr "Os transportes serão removidos"
 
-#: ../src/roster_window.py:1410
+#: ../src/roster_window.py:1589
 #, python-format
 msgid ""
 "You will no longer be able to send and receive messages to contacts from "
@@ -5128,114 +5917,149 @@ msgstr ""
 "%s"
 
 #. it's jid
-#: ../src/roster_window.py:1430
+#: ../src/roster_window.py:1755
 msgid "Rename Contact"
 msgstr "Renomear Contato"
 
-#: ../src/roster_window.py:1431
+#: ../src/roster_window.py:1756
 #, python-format
 msgid "Enter a new nickname for contact %s"
 msgstr "Entre com um novo apelido para o contato %s"
 
-#: ../src/roster_window.py:1438
+#: ../src/roster_window.py:1763
 msgid "Rename Group"
 msgstr "Renomear Grupo"
 
-#: ../src/roster_window.py:1439
+#: ../src/roster_window.py:1764
 #, python-format
 msgid "Enter a new name for group %s"
 msgstr "Entre com um novo nome para o grupo %s"
 
-#: ../src/roster_window.py:1514
+#: ../src/roster_window.py:1839
 msgid "Remove Group"
 msgstr "Remover Grupo"
 
-#: ../src/roster_window.py:1515
+#: ../src/roster_window.py:1840
 #, python-format
 msgid "Do you want to remove group %s from the roster?"
 msgstr "Você quer remover o grupo %s da lista?"
 
-#: ../src/roster_window.py:1516
+#: ../src/roster_window.py:1841
 msgid "Remove also all contacts in this group from your roster"
 msgstr "Remover também todos os contatos neste grupo da sua lista"
 
-#: ../src/roster_window.py:1547
+#: ../src/roster_window.py:1872
 msgid "Assign OpenPGP Key"
 msgstr "Atribuir chave OpenPGP"
 
-#: ../src/roster_window.py:1548
+#: ../src/roster_window.py:1873
 msgid "Select a key to apply to the contact"
 msgstr "Selecione uma chave para atribuir ao contato"
 
-#: ../src/roster_window.py:1784 ../src/roster_window.py:2045
-msgid "_New group chat"
-msgstr "_Nova conferência"
+#: ../src/roster_window.py:2191
+msgid "_New Group Chat"
+msgstr "_Nova Conferência"
 
-#: ../src/roster_window.py:1915
+#: ../src/roster_window.py:2331
 msgid "I would like to add you to my roster"
 msgstr "Eu gostaria de adiciona-lo à  minha lista"
 
-#: ../src/roster_window.py:2090 ../src/roster_window.py:2137
+#. Send Group Message
+#: ../src/roster_window.py:2465 ../src/roster_window.py:2677
 msgid "Send Group M_essage"
 msgstr "Enviar M_ensagem de Grupo"
 
-#: ../src/roster_window.py:2116
-msgid "Re_name"
-msgstr "Re_nomear"
+#: ../src/roster_window.py:2484
+msgid "_New group chat"
+msgstr "_Nova conferência"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2522
+msgid "_Manage Contacts"
+msgstr "_Gerenciar Contatos"
+
+#: ../src/roster_window.py:2583
+msgid "_Maximize"
+msgstr "_Maximizar"
 
-#: ../src/roster_window.py:2143
+#: ../src/roster_window.py:2590
+msgid "_Disconnect"
+msgstr "_Desconectar"
+
+#: ../src/roster_window.py:2669
+msgid "_Maximize All"
+msgstr "_Maximizar Tudo"
+
+#: ../src/roster_window.py:2685
 msgid "To all users"
 msgstr "Para todos os usuários"
 
-#: ../src/roster_window.py:2146
+#: ../src/roster_window.py:2688
 msgid "To all online users"
 msgstr "Para todos os usuários conectados"
 
-#: ../src/roster_window.py:2182
+#. Log Off
+#: ../src/roster_window.py:2805
+msgid "_Log off"
+msgstr "_Efetuar logoff"
+
+#. Log on
+#: ../src/roster_window.py:2811
 msgid "_Log on"
 msgstr "_Conectar"
 
-#: ../src/roster_window.py:2192
-msgid "Log _off"
-msgstr "_Desconectar"
+#. Send single message
+#: ../src/roster_window.py:2823
+msgid "Send Single Message"
+msgstr "Enviar Mensagem Simples"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2870
+msgid "_Manage Transport"
+msgstr "_Gerenciar Transporte"
+
+#. Modify Transport
+#: ../src/roster_window.py:2878
+msgid "_Modify Transport"
+msgstr "_Modificar Transporte"
 
-#: ../src/roster_window.py:2314 ../src/roster_window.py:2385
+#: ../src/roster_window.py:2992 ../src/roster_window.py:3066
 msgid "_Change Status Message"
 msgstr "_Mudar Mensagem de Status"
 
-#: ../src/roster_window.py:2457
+#: ../src/roster_window.py:3138
 msgid "Authorization has been sent"
 msgstr "Autorização foi enviada"
 
-#: ../src/roster_window.py:2458
+#: ../src/roster_window.py:3139
 #, python-format
 msgid "Now \"%s\" will know your status."
 msgstr "Agora \"%s\" saberá seu status."
 
-#: ../src/roster_window.py:2478
+#: ../src/roster_window.py:3159
 msgid "Subscription request has been sent"
 msgstr "Solicitação de inscrição foi enviada"
 
-#: ../src/roster_window.py:2479
+#: ../src/roster_window.py:3160
 #, python-format
 msgid "If \"%s\" accepts this request you will know his or her status."
 msgstr "Se \"%s\" aceitar esta solicitação, você saberá o status dele ou dela."
 
-#: ../src/roster_window.py:2491
+#: ../src/roster_window.py:3172
 msgid "Authorization has been removed"
 msgstr "Autorização foi removida"
 
-#: ../src/roster_window.py:2492
+#: ../src/roster_window.py:3173
 #, python-format
 msgid "Now \"%s\" will always see you as offline."
 msgstr "Agora \"%s\" você sempre o verá como offline."
 
-#: ../src/roster_window.py:2684
+#: ../src/roster_window.py:3407
 #, python-format
 msgid "Contact \"%s\" will be removed from your roster"
 msgstr "Contato \"%s\" será removido de sua lista"
 
-#: ../src/roster_window.py:2688
+#: ../src/roster_window.py:3411
 msgid ""
 "By removing this contact you also remove authorization resulting in him or "
 "her always seeing you as offline."
@@ -5243,7 +6067,7 @@ msgstr ""
 "Removendo este contato, você também removerá a autorização, resultando em "
 "ele ou ela sempre o verá offiline."
 
-#: ../src/roster_window.py:2693
+#: ../src/roster_window.py:3416
 msgid ""
 "By removing this contact you also by default remove authorization resulting "
 "in him or her always seeing you as offline."
@@ -5251,16 +6075,16 @@ msgstr ""
 "Removendo este contato, você também, por padrão, removerá a autorização, "
 "resultando em ele ou ela sempre o verá offiline."
 
-#: ../src/roster_window.py:2696
+#: ../src/roster_window.py:3419
 msgid "I want this contact to know my status after removal"
 msgstr "Eu quero que este contato saiba meu status após a remoção"
 
 #. several contact to remove at the same time
-#: ../src/roster_window.py:2700
+#: ../src/roster_window.py:3423
 msgid "Contacts will be removed from your roster"
 msgstr "Os contatos serão removidos da sua lista"
 
-#: ../src/roster_window.py:2704
+#: ../src/roster_window.py:3427
 #, python-format
 msgid ""
 "By removing these contacts:%s\n"
@@ -5270,7 +6094,7 @@ msgstr ""
 "você também remove a autorização fazendo com que eles sempre vejam você "
 "offline."
 
-#: ../src/roster_window.py:2736
+#: ../src/roster_window.py:3454
 msgid ""
 "Gnome Keyring is installed but not correctly started (environment variable "
 "probably not correctly set)"
@@ -5278,40 +6102,22 @@ msgstr ""
 "O Gnome Keyring está instalado mas não corretamente iniciado (provavelmente "
 "a variável de ambiente não está definida corretamente)"
 
-#. TODO: make this string translatable
+#: ../src/roster_window.py:3473
+msgid "GPG is not usable"
+msgstr "GPG não é usável"
+
 #. %s is the account name here
-#: ../src/roster_window.py:2764 ../src/common/connection.py:704
-#: ../src/common/zeroconf/connection_zeroconf.py:160
+#: ../src/roster_window.py:3474 ../src/common/connection_handlers.py:2153
+#: ../src/common/zeroconf/connection_zeroconf.py:171
 #, python-format
 msgid "You will be connected to %s without OpenPGP."
 msgstr "Você será conectado ao %s sem OpenPGP."
 
-#: ../src/roster_window.py:2781
-msgid "Passphrase Required"
-msgstr "Frase de acesso é obrigatória"
-
-#: ../src/roster_window.py:2782
-#, python-format
-msgid "Enter GPG key passphrase for account %s."
-msgstr "Entre com a frase de acesso da chave GPG para conta %s"
-
-#: ../src/roster_window.py:2787
-msgid "Save passphrase"
-msgstr "Salvar Frase de acesso"
-
-#: ../src/roster_window.py:2795
-msgid "Wrong Passphrase"
-msgstr "Frase de acesso Errada"
-
-#: ../src/roster_window.py:2796
-msgid "Please retype your GPG passphrase or press Cancel."
-msgstr "Por favor, reescreva sua frase de segurança GPG ou pressione Cancelar."
-
-#: ../src/roster_window.py:2860 ../src/roster_window.py:2920
+#: ../src/roster_window.py:3545 ../src/roster_window.py:3623
 msgid "You are participating in one or more group chats"
 msgstr "Você está participando em uma ou mais conferências"
 
-#: ../src/roster_window.py:2861 ../src/roster_window.py:2921
+#: ../src/roster_window.py:3546 ../src/roster_window.py:3624
 msgid ""
 "Changing your status to invisible will result in disconnection from those "
 "group chats. Are you sure you want to go invisible?"
@@ -5319,21 +6125,21 @@ msgstr ""
 "Mudando seu status para invisível resulta na desconexão daquelas "
 "conferências.  Você tem certeza que quer ir invisível?"
 
-#: ../src/roster_window.py:2878
+#: ../src/roster_window.py:3580
 msgid "No account available"
 msgstr "Conta não disponível"
 
-#: ../src/roster_window.py:2879
+#: ../src/roster_window.py:3581
 msgid "You must create an account before you can chat with other contacts."
 msgstr ""
 "Você deve configurar uma conta antes de poder conversar com outros contatos."
 
-#: ../src/roster_window.py:2981
+#: ../src/roster_window.py:3730
 #, python-format
 msgid "\"%(title)s\" by %(artist)s"
 msgstr "\"%(title)s\" by %(artist)s"
 
-#: ../src/roster_window.py:3419 ../src/roster_window.py:3426
+#: ../src/roster_window.py:4218 ../src/roster_window.py:4225
 msgid ""
 "Messages will only be available for reading them later if you have history "
 "enabled."
@@ -5341,26 +6147,25 @@ msgstr ""
 "Mensagem somente estará disponível para leitura mais tarde se você tiver o "
 "histórico habilitado."
 
-#: ../src/roster_window.py:4016
+#: ../src/roster_window.py:4849
 msgid "Metacontacts storage not supported by your server"
 msgstr "O armazenamento de metacontatos não é suportado pelo seu servidor."
 
-#: ../src/roster_window.py:4018
+#: ../src/roster_window.py:4851
 msgid ""
 "Your server does not support storing metacontacts information. So those "
-"information will not be save on next reconnection."
+"information will not be saved on next reconnection."
 msgstr ""
-"O seu servidor não suporta a gravação de informação de metacontatos, "
-"portanto essas informações não serão estarão disponíveis na próxima vez que "
-"você se conectar."
+"O seu servidor não suporta a gravação de informação de metacontatos, então "
+"essas informações não estarão salvas na próxima vez que você conectar."
 
-#: ../src/roster_window.py:4060
+#: ../src/roster_window.py:4896
 msgid ""
 "You are about to create a metacontact. Are you sure you want to continue?"
 msgstr ""
 "Você está prestes a criar um metacontato. Tem certeza que quer continuar?"
 
-#: ../src/roster_window.py:4062
+#: ../src/roster_window.py:4898
 msgid ""
 "Metacontacts are a way to regroup several contacts in one line. Generally it "
 "is used when the same person has several Jabber accounts or transport "
@@ -5370,117 +6175,170 @@ msgstr ""
 "Geralmente isso é usado quando a mesma pessoa possui muitas contas de Jabber "
 "ou transportes."
 
-#: ../src/roster_window.py:4140
-#, python-format
-msgid "Do you want to send that file to %s:"
+#: ../src/roster_window.py:4993
+#, fuzzy
+msgid "Invalid file URI:"
+msgstr "Arquivo inválido"
+
+#: ../src/roster_window.py:5004
+#, fuzzy, python-format
+msgid "Do you want to send this file to %s:"
 msgid_plural "Do you want to send those files to %s:"
 msgstr[0] "Você quer enviar esse arquivo para %s:"
 msgstr[1] "%s quer te enviar um arquivo:"
 
-#: ../src/roster_window.py:4245
-#, python-format
-msgid "Drop %s in group %s"
-msgstr "Derrubar %s no grupo %s"
-
-#: ../src/roster_window.py:4252
-#, python-format
-msgid "Make %s and %s metacontacts"
-msgstr "Fazer %s e %s metacontatos"
-
-#: ../src/roster_window.py:4439
+#: ../src/roster_window.py:5332
 msgid "Change Status Message..."
 msgstr "Mudar Mensagem de Status..."
 
-#: ../src/systray.py:163
+#: ../src/search_window.py:91
+msgid "Waiting for results"
+msgstr "Esperando resultados"
+
+#: ../src/search_window.py:131 ../src/search_window.py:209
+msgid "Error in received dataform"
+msgstr "Erro no formulário de dados recebido"
+
+#. No result
+#: ../src/search_window.py:165 ../src/search_window.py:201
+msgid "No result"
+msgstr "Sem resultados"
+
+#: ../src/secrets.py:45
+msgid ""
+"To continue, Gajim needs to access your stored secrets. Enter your passphrase"
+msgstr ""
+"Para continuar, o Gajim precisa acessar suas senhas armazenadas. Entre com "
+"sua senha"
+
+#: ../src/secrets.py:89
+msgid "Confirm Passphrase"
+msgstr "Confirmar Frase de Acesso"
+
+#: ../src/secrets.py:90
+msgid "Enter your new passphrase again for confirmation"
+msgstr "Digite novamente sua nova frase de acessar para confirmação"
+
+#: ../src/secrets.py:95 ../src/secrets.py:107
+msgid "Create Passphrase"
+msgstr "Criar Frase de Acesso"
+
+#: ../src/secrets.py:96
+msgid "Passphrases did not match.\n"
+msgstr "Frases de acesso não conferem.\n"
+
+#: ../src/secrets.py:97 ../src/secrets.py:108
+msgid "Gajim needs you to create a passphrase to encrypt stored secrets"
+msgstr ""
+"O Gajim precisa que você crie uma frase de acesso para criptografar as "
+"senhas armazenadas"
+
+#: ../src/systray.py:169
 msgid "_Change Status Message..."
 msgstr "_Mudar Mensagem de Status..."
 
-#: ../src/systray.py:251
+#: ../src/systray.py:254
 msgid "Hide this menu"
 msgstr "Esconder este menu"
 
-#: ../src/tooltips.py:309 ../src/tooltips.py:493
+#: ../src/tooltips.py:316 ../src/tooltips.py:509
 msgid "Jabber ID: "
 msgstr "Jabber ID:"
 
-#: ../src/tooltips.py:312 ../src/tooltips.py:497
+#: ../src/tooltips.py:319 ../src/tooltips.py:513
 msgid "Resource: "
 msgstr "Recurso: "
 
-#: ../src/tooltips.py:317
+#: ../src/tooltips.py:324
 #, python-format
 msgid "%(owner_or_admin_or_member)s of this group chat"
 msgstr "%(owner_or_admin_or_member)s dessa sala"
 
-#: ../src/tooltips.py:430 ../src/tooltips.py:612
+#: ../src/tooltips.py:422
+msgid " [blocked]"
+msgstr "[bloqueado]"
+
+#: ../src/tooltips.py:426
+msgid " [minimized]"
+msgstr "[minimizado]"
+
+#: ../src/tooltips.py:441 ../src/tooltips.py:629
 msgid "Status: "
 msgstr "Status: "
 
-#: ../src/tooltips.py:461
+#: ../src/tooltips.py:471
 #, python-format
 msgid "Last status: %s"
 msgstr "Último status: %s"
 
-#: ../src/tooltips.py:463
+#: ../src/tooltips.py:473
 #, python-format
 msgid " since %s"
 msgstr "desde %s"
 
+#: ../src/tooltips.py:491
+msgid "Connected"
+msgstr "Conectado"
+
+#: ../src/tooltips.py:493
+msgid "Disconnected"
+msgstr "Desconectado"
+
 #. ('both' is the normal sub so we don't show it)
-#: ../src/tooltips.py:503
+#: ../src/tooltips.py:520
 msgid "Subscription: "
 msgstr "Inscrição: "
 
-#: ../src/tooltips.py:513
+#: ../src/tooltips.py:530
 msgid "OpenPGP: "
 msgstr "OpenPGP: "
 
-#: ../src/tooltips.py:568
+#: ../src/tooltips.py:585
 msgid "Download"
 msgstr "Download"
 
-#: ../src/tooltips.py:574
+#: ../src/tooltips.py:591
 msgid "Upload"
 msgstr "Upload"
 
-#: ../src/tooltips.py:581
+#: ../src/tooltips.py:598
 msgid "Type: "
 msgstr "Tipo: "
 
-#: ../src/tooltips.py:587
+#: ../src/tooltips.py:604
 msgid "Transferred: "
 msgstr "Transferido: "
 
-#: ../src/tooltips.py:590 ../src/tooltips.py:611
+#: ../src/tooltips.py:607 ../src/tooltips.py:628
 msgid "Not started"
 msgstr "Não iniciado"
 
-#: ../src/tooltips.py:594
+#: ../src/tooltips.py:611
 msgid "Stopped"
 msgstr "Parado"
 
-#: ../src/tooltips.py:596 ../src/tooltips.py:599
+#: ../src/tooltips.py:613 ../src/tooltips.py:616
 msgid "Completed"
 msgstr "Completo"
 
-#: ../src/tooltips.py:603
+#: ../src/tooltips.py:620
 msgid "?transfer status:Paused"
 msgstr "?status da transferência: Parado"
 
 #. stalled is not paused. it is like 'frozen' it stopped alone
-#: ../src/tooltips.py:607
+#: ../src/tooltips.py:624
 msgid "Stalled"
 msgstr "Parado"
 
-#: ../src/tooltips.py:609
+#: ../src/tooltips.py:626
 msgid "Transferring"
 msgstr "Transferindo"
 
-#: ../src/tooltips.py:641
+#: ../src/tooltips.py:660
 msgid "This service has not yet responded with detailed information"
 msgstr "Este serviço não respondeu ainda com informação detalhada"
 
-#: ../src/tooltips.py:644
+#: ../src/tooltips.py:663
 msgid ""
 "This service could not respond with detailed information.\n"
 "It is most likely legacy or broken"
@@ -5488,24 +6346,24 @@ msgstr ""
 "Este serviço não poderia responder com informações detalhadas.\n"
 "É mais provável quebrado"
 
-#: ../src/vcard.py:201
+#: ../src/vcard.py:245
 msgid "?Client:Unknown"
 msgstr "?Cliente:Desconhecido"
 
-#: ../src/vcard.py:203
+#: ../src/vcard.py:247
 msgid "?OS:Unknown"
 msgstr "?SO:Desconhecido"
 
-#: ../src/vcard.py:231 ../src/vcard.py:409
+#: ../src/vcard.py:272 ../src/vcard.py:282 ../src/vcard.py:472
 #, python-format
 msgid "since %s"
 msgstr "desde %s"
 
-#: ../src/vcard.py:261
+#: ../src/vcard.py:311
 msgid "Affiliation:"
 msgstr "Filiação:"
 
-#: ../src/vcard.py:269
+#: ../src/vcard.py:319
 msgid ""
 "This contact is interested in your presence information, but you are not "
 "interested in his/her presence"
@@ -5513,7 +6371,7 @@ msgstr ""
 "Este contato está interessado em sua informação de presença, mas você não "
 "está interessado napresença dele/dela"
 
-#: ../src/vcard.py:271
+#: ../src/vcard.py:321
 msgid ""
 "You are interested in the contact's presence information, but he/she is not "
 "interested in yours"
@@ -5521,13 +6379,13 @@ msgstr ""
 "Você está interessado na informação da presença do contato, mas ele/ela não "
 "está interessado em seu"
 
-#: ../src/vcard.py:273
+#: ../src/vcard.py:323
 msgid "You and the contact are interested in each other's presence information"
 msgstr ""
 "Você e o contato estão interessados em cada outra informação da presença"
 
 #. None
-#: ../src/vcard.py:275
+#: ../src/vcard.py:325
 msgid ""
 "You are not interested in the contact's presence, and neither he/she is "
 "interested in yours"
@@ -5535,140 +6393,144 @@ msgstr ""
 "Você não está interessado na presença do contato, e nenhum está interessado "
 "no seu"
 
-#: ../src/vcard.py:283
+#: ../src/vcard.py:333
 msgid "You are waiting contact's answer about your subscription request"
 msgstr ""
 "Você está esperando a resposta do contato sobre seu pedido da subscrição"
 
-#: ../src/vcard.py:287 ../src/vcard.py:314 ../src/vcard.py:434
+#: ../src/vcard.py:337 ../src/vcard.py:374 ../src/vcard.py:497
 msgid " resource with priority "
 msgstr " recurso com prioridade "
 
-#: ../src/common/check_paths.py:33
+#: ../src/common/check_paths.py:38
 msgid "creating logs database"
 msgstr "criando banco de dados de logs"
 
-#: ../src/common/check_paths.py:89 ../src/common/check_paths.py:100
-#: ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:101 ../src/common/check_paths.py:112
+#: ../src/common/check_paths.py:119
 #, python-format
 msgid "%s is a file but it should be a directory"
 msgstr "%s é um arquivo, mas deveria ser um diretório"
 
-#: ../src/common/check_paths.py:90 ../src/common/check_paths.py:101
-#: ../src/common/check_paths.py:108 ../src/common/check_paths.py:116
+#: ../src/common/check_paths.py:102 ../src/common/check_paths.py:113
+#: ../src/common/check_paths.py:120 ../src/common/check_paths.py:128
 msgid "Gajim will now exit"
 msgstr "Gajim sairá agora"
 
-#: ../src/common/check_paths.py:115
+#: ../src/common/check_paths.py:127
 #, python-format
 msgid "%s is a directory but should be a file"
 msgstr "%s é um diretório, mas deveria ser um arquivo"
 
-#: ../src/common/check_paths.py:131
+#: ../src/common/check_paths.py:143
 #, python-format
 msgid "creating %s directory"
 msgstr "criando diretório %s"
 
-#: ../src/common/commands.py:69
+#: ../src/common/commands.py:74
 msgid "Change status information"
 msgstr "Alterar informação de status"
 
-#: ../src/common/commands.py:82
+#: ../src/common/commands.py:87
 msgid "Change status"
 msgstr "Alterar status"
 
-#: ../src/common/commands.py:83
+#: ../src/common/commands.py:88
 msgid "Set the presence type and description"
 msgstr "Definir o tipo e a descrição da presença"
 
-#: ../src/common/commands.py:89
+#: ../src/common/commands.py:94
 msgid "Free for chat"
 msgstr "Livre para conversa"
 
-#: ../src/common/commands.py:90
+#: ../src/common/commands.py:95
 msgid "Online"
 msgstr "Conectado"
 
-#: ../src/common/commands.py:92
+#: ../src/common/commands.py:97
 msgid "Extended away"
 msgstr "Muito afastado"
 
-#: ../src/common/commands.py:93
+#: ../src/common/commands.py:98
 msgid "Do not disturb"
 msgstr "Não perturbe"
 
-#: ../src/common/commands.py:94
+#: ../src/common/commands.py:99
 msgid "Offline - disconnect"
 msgstr "Desconectado"
 
-#: ../src/common/commands.py:99
+#: ../src/common/commands.py:104
 msgid "Presence description:"
 msgstr "Descrição da presença:"
 
-#: ../src/common/commands.py:134
+#: ../src/common/commands.py:139
 msgid "The status has been changed."
 msgstr "O status foi alterado."
 
-#: ../src/common/commands.py:179
+#: ../src/common/commands.py:184
 #, python-format
 msgid "%(nickname)s on %(room_jid)s"
 msgstr "%(nickname)s da sala %(room_jid)s"
 
-#: ../src/common/commands.py:183
+#: ../src/common/commands.py:188
 msgid "You have not joined a groupchat."
 msgstr "Você não entrou em uma sala."
 
-#: ../src/common/commands.py:189
+#: ../src/common/commands.py:194
 msgid "Leave Groupchats"
 msgstr "Sair das salas"
 
-#: ../src/common/commands.py:190
+#: ../src/common/commands.py:195
 msgid "Choose the groupchats you want to leave"
 msgstr "Selecione as salas das quais você quer sair"
 
-#: ../src/common/commands.py:194
-msgid "Groupchats"
-msgstr "Salas"
-
-#: ../src/common/commands.py:230
+#: ../src/common/commands.py:235
 msgid "You left the following groupchats:"
 msgstr "Você saiu das seguintes salas:"
 
-#: ../src/common/config.py:56
+#: ../src/common/commands.py:247
+msgid "Forward unread messages"
+msgstr "Encaminhar mensagens não lidas"
+
+#: ../src/common/commands.py:267
+msgid "All unread messages have been forwarded."
+msgstr "Todas as mensagens não lidas foram encaminhadas."
+
+#: ../src/common/config.py:74
 msgid "Use D-Bus and Notification-Daemon to show notifications"
 msgstr "Usar DBus e Notification-Daemon para mostrar notificações"
 
-#: ../src/common/config.py:61
+#: ../src/common/config.py:79
 msgid "Time in minutes, after which your status changes to away."
 msgstr "Minutos, depois do qual seu status mudam a afastado."
 
-#: ../src/common/config.py:62
+#: ../src/common/config.py:80
 msgid "Away as a result of being idle"
 msgstr "Afastado em conseqüência de estar inativo"
 
-#: ../src/common/config.py:64
+#: ../src/common/config.py:82
 msgid "Time in minutes, after which your status changes to not available."
 msgstr "Minutos, depois do qual seu status mudam a nao disponível."
 
-#: ../src/common/config.py:65
+#: ../src/common/config.py:83
 msgid "Not available as a result of being idle"
 msgstr "Não disponível em conseqüência de estar inativo"
 
-#: ../src/common/config.py:83
+#: ../src/common/config.py:101
 msgid ""
 "List (space separated) of rows (accounts and groups) that are collapsed."
 msgstr ""
 "Lista (separada por espaços) de linhas (contas e grupos) que estão agrupados."
 
-#: ../src/common/config.py:88
+#: ../src/common/config.py:106
 msgid "Enable link-local/zeroconf messaging"
 msgstr "Ativar mensagens \"link-local\"/\"zeroconf\""
 
-#: ../src/common/config.py:91
+#: ../src/common/config.py:109
 msgid "Language used by speller"
 msgstr "Idioma usado pelo corretor ortográfico"
 
-#: ../src/common/config.py:92
+#: ../src/common/config.py:110
 msgid ""
 "'always' - print time for every message.\n"
 "'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
@@ -5678,7 +6540,7 @@ msgstr ""
 "'às vezes' - mostrar hora a cada print_ichat_every_foo_minutes minutos.\n"
 "'nunca' - nunca mostrar a hora."
 
-#: ../src/common/config.py:93
+#: ../src/common/config.py:111
 msgid ""
 "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
 "to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
@@ -5688,18 +6550,18 @@ msgstr ""
 "varia de 1 a 4, 0 desabilita a função. 1 é relógio mais preciso, 4 é o "
 "menos. Isto é usado apenas se o valor de print_time for 'às vezes'."
 
-#: ../src/common/config.py:96
+#: ../src/common/config.py:114
 msgid "Treat * / _ pairs as possible formatting characters."
 msgstr "Aproveite os pare * /_ como caracteres de formatação. "
 
-#: ../src/common/config.py:97
+#: ../src/common/config.py:115
 msgid ""
 "If True, do not remove */_ . So *abc* will be bold but with * * not removed."
 msgstr ""
 "Se verdadeiro, não remova */_. Assim * ABC * seja negrito(realce) mas com * "
 "* não removido."
 
-#: ../src/common/config.py:100
+#: ../src/common/config.py:118
 msgid ""
 "Uses ReStructured text markup to send HTML, plus ascii formatting if "
 "selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
@@ -5710,7 +6572,7 @@ msgstr ""
 "sourceforge.net/docs/ref/rst/restructuredtext.html (Se você quiser usar "
 "isso, instale o docutils)"
 
-#: ../src/common/config.py:109
+#: ../src/common/config.py:127
 msgid ""
 "Character to add after nickname when using nick completion (tab) in group "
 "chat."
@@ -5718,7 +6580,7 @@ msgstr ""
 "Caracter a adicionar ao apelido quando se estiver usando o recurso de "
 "completar apelido (tecla Tab) na conferência."
 
-#: ../src/common/config.py:110
+#: ../src/common/config.py:128
 msgid ""
 "Character to propose to add after desired nickname when desired nickname is "
 "used by someone else in group chat."
@@ -5726,7 +6588,7 @@ msgstr ""
 "O caracter a ser proposto para adicionar ao final do apelido desejado quando "
 "ele já estiver sendo usado por outra pessoa na conferência."
 
-#: ../src/common/config.py:133
+#: ../src/common/config.py:151
 msgid ""
 "This option let you customize timestamp that is printed in conversation. For "
 "exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
@@ -5737,19 +6599,34 @@ msgstr ""
 "por strftime na documentação do Python: http://docs.python.org/lib/module-"
 "time.html"
 
-#: ../src/common/config.py:134
+#: ../src/common/config.py:152
 msgid "Characters that are printed before the nickname in conversations"
 msgstr "Os caracteres que são exibidos antes do apelido nas conversas"
 
-#: ../src/common/config.py:135
+#: ../src/common/config.py:153
 msgid "Characters that are printed after the nickname in conversations"
 msgstr "Os caracteres que são exibidos após o apelidos nas conversas"
 
-#: ../src/common/config.py:142
+#: ../src/common/config.py:156
+msgid ""
+"If checked, Gajim can regularly poll a Last.fm account and adjust the status "
+"message to reflect recently played songs. "
+"set_status_msg_from_current_music_track option must be False."
+msgstr ""
+"Se marcado, o Gajim pode pesquisar regularmente em uma conta do Last.fm para "
+"ajustar a mensagem de status de modo a refletir as músicas tocadas "
+"recentemente. A opção set_status_msg_from_current_music_track precisa ser "
+"Falso."
+
+#: ../src/common/config.py:157
+msgid "The username used to identify the Last.fm account."
+msgstr "O nome de usuário usado para identificar a conta Last.fm."
+
+#: ../src/common/config.py:162
 msgid "Add * and [n] in roster title?"
 msgstr "Adicionar * e [n] no título da lista?"
 
-#: ../src/common/config.py:143
+#: ../src/common/config.py:163
 msgid ""
 "How many lines to remember from previous conversation when a chat tab/window "
 "is reopened."
@@ -5757,12 +6634,12 @@ msgstr ""
 "Quantas linhas lembrar da conversação anterior quando uma aba/janela de bate-"
 "papo for reaberta."
 
-#: ../src/common/config.py:144
+#: ../src/common/config.py:164
 msgid "How many minutes should last lines from previous conversation last."
 msgstr ""
 "Quantos minutos mostrar ao exibir as últimas linhas da conversação anterior."
 
-#: ../src/common/config.py:145
+#: ../src/common/config.py:165
 msgid ""
 "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
 "Client default behaviour)."
@@ -5770,11 +6647,11 @@ msgstr ""
 "Enviar a mensagem com Ctrl+Enter e criar uma nova linha com Enter "
 "(comportamento padrão do cliente ICQ da Mirabilis)."
 
-#: ../src/common/config.py:147
+#: ../src/common/config.py:167
 msgid "How many lines to store for Ctrl+KeyUP."
 msgstr "Quantas linhas armazenar com Ctrl+Acima."
 
-#: ../src/common/config.py:150
+#: ../src/common/config.py:170
 #, python-format
 msgid ""
 "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' "
@@ -5783,12 +6660,12 @@ msgstr ""
 "Uma ou outra URL costuma vir com %s onde %s é a palvra/frase ou ' em "
 "WIKTIONARY ' que significam o uso wiktionary."
 
-#: ../src/common/config.py:153
+#: ../src/common/config.py:173
 msgid "If checked, Gajim can be controlled remotely using gajim-remote."
 msgstr ""
 "Se verificado, Gajim pode ser remotamente controlado usando gajim-remoto."
 
-#: ../src/common/config.py:154
+#: ../src/common/config.py:174
 msgid ""
 "If True, listen to D-Bus signals from NetworkManager and change the status "
 "of accounts (provided they do not have listen_to_network_manager set to "
@@ -5800,14 +6677,14 @@ msgstr ""
 "configurado para Falso e se estiverem sincronizadas com o status global) "
 "baseado no status da conexão de rede."
 
-#: ../src/common/config.py:155
+#: ../src/common/config.py:175
 msgid ""
 "Sent chat state notifications. Can be one of all, composing_only, disabled."
 msgstr ""
 "Notificações de estado de conversa enviados. Pode ser one of all, "
 "composing_only, disabled."
 
-#: ../src/common/config.py:156
+#: ../src/common/config.py:176
 msgid ""
 "Displayed chat state notifications in chat windows. Can be one of all, "
 "composing_only, disabled."
@@ -5815,7 +6692,7 @@ msgstr ""
 "Notificações de estado de conversa exibidos nas janelas de conversa. Pode "
 "ser one of all, composing_only, disabled."
 
-#: ../src/common/config.py:158
+#: ../src/common/config.py:178
 msgid ""
 "When not printing time for every message (print_time==sometimes), print it "
 "every x minutes."
@@ -5823,11 +6700,11 @@ msgstr ""
 "Quando não estiver exibindo a hora para cada mensagem (print_time == "
 "simetimes), exibi-lo a cada x minutos."
 
-#: ../src/common/config.py:159
+#: ../src/common/config.py:179
 msgid "Ask before closing a group chat tab/window."
 msgstr "Perguntar antes de fechar um aba ou janela de conferência."
 
-#: ../src/common/config.py:160
+#: ../src/common/config.py:180
 msgid ""
 "Always ask before closing group chat tab/window in this space separated list "
 "of group chat jids."
@@ -5835,7 +6712,7 @@ msgstr ""
 "Sempre perguntar antes de fechar um aba/janela nesta lista separada por "
 "espaço de JID's de conferências."
 
-#: ../src/common/config.py:161
+#: ../src/common/config.py:181
 msgid ""
 "Never ask before closing group chat tab/window in this space separated list "
 "of group chat jids."
@@ -5843,7 +6720,7 @@ msgstr ""
 "Nunca perguntar antes de fechar uma aba/janela de conferência nesta lista "
 "separada por espaço de salas separadas por jids."
 
-#: ../src/common/config.py:164
+#: ../src/common/config.py:184
 msgid ""
 "Comma separated list of hosts that we send, in addition of local interfaces, "
 "for File Transfer in case of address translation/port forwarding."
@@ -5852,34 +6729,54 @@ msgstr ""
 "interfaces locais, para Transferência de Arquivo no caso de tradução de "
 "endereço/encaminhamento de porta."
 
-#: ../src/common/config.py:166
+#: ../src/common/config.py:186
 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
 msgstr "Padrão da IEC diz que KiB = 1024 bytes e KB = 1000 bytes."
 
-#: ../src/common/config.py:168
+#: ../src/common/config.py:188
 msgid "Notify of events in the system trayicon."
 msgstr "Notificar os eventos no ícone da bandeja do sistema."
 
-#: ../src/common/config.py:174
+#: ../src/common/config.py:194
 msgid "Show tab when only one conversation?"
 msgstr "Mostrar aba quando tiver apenas uma bate papo?"
 
-#: ../src/common/config.py:175
+#: ../src/common/config.py:195
 msgid "Show tabbed notebook border in chat windows?"
 msgstr "Mostrar borda de caderno tabulada nas janelas de conversa?"
 
-#: ../src/common/config.py:176
+#: ../src/common/config.py:196
 msgid "Show close button in tab?"
 msgstr "Mostrar botão de fechar na aba?"
 
-#: ../src/common/config.py:189
+#: ../src/common/config.py:197
+msgid ""
+"When negotiating an encrypted session, should Gajim assume you want your "
+"messages to be logged?"
+msgstr ""
+"Ao negociar uma sessão criptografada, o Gajim deve assumir que você quer que "
+"suas mensagens sejam gravadas?"
+
+#: ../src/common/config.py:198
+msgid ""
+"When negotiating an encrypted session, should Gajim prefer to use public "
+"keys for identification?"
+msgstr ""
+"Ao negociar uma sessão criptografada o Gajim deve preferir usar chaves "
+"públicas para identificação?"
+
+#: ../src/common/config.py:207
+msgid "Preview new messages in notification popup?"
+msgstr "Pré-visualizar novas mensagens em uma janela popup?"
+
+#: ../src/common/config.py:212
 msgid ""
 "A semicolon-separated list of words that will be highlighted in group chats."
 msgstr ""
 "Uma lista separada por ponto-e-vírgula das palavras que serão destacadas nas "
 "conferências."
 
-#: ../src/common/config.py:190
+#: ../src/common/config.py:213
 msgid ""
 "If True, quits Gajim when X button of Window Manager is clicked. This "
 "setting is taken into account only if trayicon is used."
@@ -5887,13 +6784,13 @@ msgstr ""
 "Se verdadeiro, o Gajim sairá quando o botão sair da janela for clicado. Esta "
 "opção só faz sentido quando a opção trayicon está sendo usada."
 
-#: ../src/common/config.py:191
+#: ../src/common/config.py:214
 msgid ""
 "If True, Gajim will check if it's the default jabber client on each startup."
 msgstr ""
 "Se Verdadeiro, o Gajim verifica ao iniciar se é o cliente Jabber padrão."
 
-#: ../src/common/config.py:192
+#: ../src/common/config.py:215
 msgid ""
 "If True, Gajim will display an icon on each tab containing unread messages. "
 "Depending on the theme, this icon may be animated."
@@ -5901,7 +6798,7 @@ msgstr ""
 "Se verdadeiro, Gajim mostrará um ícone para cada aba contendo mensagens não "
 "lidas. Dependendo do tema, este ícone pode ser animado."
 
-#: ../src/common/config.py:193
+#: ../src/common/config.py:216
 msgid ""
 "If True, Gajim will display the status message, if not empty, for every "
 "contact under the contact name in roster window."
@@ -5909,7 +6806,7 @@ msgstr ""
 "Se Verdadeiro, o Gajim indicará a mensagem de status, se não estiver vazia, "
 "para cada contato sob o nome do contato na janela da lista."
 
-#: ../src/common/config.py:195
+#: ../src/common/config.py:218
 msgid ""
 "If True, Gajim will ask for avatar each contact that did not have an avatar "
 "last time or has one cached that is too old."
@@ -5917,7 +6814,7 @@ msgstr ""
 "Se verdadeiro, Gajim pedirá por avatar cada contato que não teve um avatar "
 "ou tem um cache que é velho demais."
 
-#: ../src/common/config.py:196
+#: ../src/common/config.py:219
 msgid ""
 "If False, Gajim will no longer print status line in chats when a contact "
 "changes his or her status and/or his or her status message."
@@ -5925,7 +6822,7 @@ msgstr ""
 "Se Falso, você não verá por mais muito tempo a linha de status nas conversas "
 "quando um contato alterar seu status e/ou sua mensagem de status."
 
-#: ../src/common/config.py:197
+#: ../src/common/config.py:220
 msgid ""
 "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
 "longer print status line in groupchats when a member changes his or her "
@@ -5939,29 +6836,29 @@ msgstr ""
 "\" o Gajim exibirá todas as mensagens de status. Se for \"in_and_out\" o "
 "Gajim só mostrará FOO entradas/saídas em conferências."
 
-#: ../src/common/config.py:199
+#: ../src/common/config.py:222
 msgid "Background color of contacts when they just signed in."
 msgstr "Cor de fundo dos contatos quando eles simplesmente conectarem."
 
-#: ../src/common/config.py:200
+#: ../src/common/config.py:223
 msgid "Background color of contacts when they just signed out."
 msgstr "Cor de fundo dos contatos quando eles simplesmente desconectarem."
 
-#: ../src/common/config.py:202
+#: ../src/common/config.py:225
 msgid ""
 "If True, restored messages will use a smaller font than the default one."
 msgstr ""
 "Se Verdadeiro, as mensagens restauradas usarão uma fonte menor que o padrão."
 
-#: ../src/common/config.py:203
+#: ../src/common/config.py:226
 msgid "Don't show avatar for the transport itself."
 msgstr "Não mostrar o avatar para o próprio transporte."
 
-#: ../src/common/config.py:204
+#: ../src/common/config.py:227
 msgid "Don't show roster in the system taskbar."
 msgstr "Não mostrar a lista na bandeja do sistema."
 
-#: ../src/common/config.py:205
+#: ../src/common/config.py:228
 msgid ""
 "If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
 "window flash (the default behaviour in most Window Managers) when holding "
@@ -5971,7 +6868,7 @@ msgstr ""
 "faz a janela piscar (o comportamento padrão na maioria dos Gerenciadores de "
 "Janela) quando esperam eventos pendentes."
 
-#: ../src/common/config.py:207
+#: ../src/common/config.py:230
 msgid ""
 "Jabberd1.4 does not like sha info when one join a password protected group "
 "chat. Turn this option to False to stop sending sha info in group chat "
@@ -5982,7 +6879,7 @@ msgstr ""
 "informações sha na presenças de conferências."
 
 #. always, never, peracct, pertype should not be translated
-#: ../src/common/config.py:210
+#: ../src/common/config.py:233
 msgid ""
 "Controls the window where new messages are placed.\n"
 "'always' - All messages are sent to a single window.\n"
@@ -6000,36 +6897,32 @@ msgstr ""
 "conferência) são enviadas para uma janela específica. Nota, esta mudança "
 "requer o reinício do Gajim antes que tenham efeito."
 
-#: ../src/common/config.py:211
+#: ../src/common/config.py:234
 msgid "If False, you will no longer see the avatar in the chat window."
 msgstr ""
 "Se Falso, você não verá por muito tempo o avatar na janela do bate-papo."
 
-#: ../src/common/config.py:212
+#: ../src/common/config.py:235
 msgid "If True, pressing the escape key closes a tab/window."
 msgstr "Se Verdadeiro, pressionando a tecla Esc fecha a aba/janela"
 
-#: ../src/common/config.py:213
-msgid "Hides the buttons in group chat window."
-msgstr "Esconder os botões na janela de conferência."
-
-#: ../src/common/config.py:214
-msgid "Hides the buttons in two persons chat window."
-msgstr "Esconder os botões na janela de conversa para duas pessoas."
+#: ../src/common/config.py:236
+msgid "Hides the buttons in chat windows."
+msgstr "Esconder os botões nas janelas de conversa."
 
-#: ../src/common/config.py:215
+#: ../src/common/config.py:237
 msgid "Hides the banner in a group chat window"
 msgstr "Esconder o banner na janela de conferência"
 
-#: ../src/common/config.py:216
+#: ../src/common/config.py:238
 msgid "Hides the banner in two persons chat window"
 msgstr "Esconder o banner na janela de conversa para duas pessoas "
 
-#: ../src/common/config.py:217
+#: ../src/common/config.py:239
 msgid "Hides the group chat occupants list in group chat window."
 msgstr "Esconder a lista dos ocupantes da sala na janela da conferência."
 
-#: ../src/common/config.py:218
+#: ../src/common/config.py:240
 msgid ""
 "In a chat, show the nickname at the beginning of a line only when it's not "
 "the same person talking than in previous message."
@@ -6037,22 +6930,26 @@ msgstr ""
 "Em uma conferência, mostrar o apelido no começo da linha apenas quando a "
 "mensagem atual não for da mesma pessoa que mandou a última."
 
-#: ../src/common/config.py:219
+#: ../src/common/config.py:241
 msgid "Indentation when using merge consecutive nickname."
 msgstr "Usar identação ao mesclar apelidos consecutivos."
 
-#: ../src/common/config.py:220
+#: ../src/common/config.py:242
+msgid "Smooth scroll message in conversation window"
+msgstr "Suavizar a rolagem de mensagens na janela de conversação"
+
+#: ../src/common/config.py:243
 msgid "List of colors that will be used to color nicknames in group chats."
 msgstr ""
 "A lista de cores que serão usadas para os apelidos nas salas de conferência."
 
-#: ../src/common/config.py:221
+#: ../src/common/config.py:244
 msgid "Ctrl-Tab go to next composing tab when none is unread."
 msgstr ""
 "Quando nenhum aba tiver uma mensagem não lida, Ctrl + Tab vai para a próxima "
 "aba."
 
-#: ../src/common/config.py:222
+#: ../src/common/config.py:245
 msgid ""
 "Should we show the confirm metacontacts creation dialog or not? Empty string "
 "means we never show the dialog."
@@ -6060,7 +6957,7 @@ msgstr ""
 "Devemos mostrar o diálogo de confirmação de metacontatos ou não? Uma string "
 "vazia significa que nós nunca devemos mostrar o diálogo."
 
-#: ../src/common/config.py:223
+#: ../src/common/config.py:246
 msgid ""
 "If True, you will be able to set a negative priority to your account in "
 "account modification window. BE CAREFUL, when you are logged in with a "
@@ -6071,7 +6968,7 @@ msgstr ""
 "autenticado com uma prioridade negativa, você NÃO poderá receber nenhuma "
 "mensagem do seu servidor."
 
-#: ../src/common/config.py:224
+#: ../src/common/config.py:247
 msgid ""
 "If True, Gajim will use Gnome Keyring (if available) to store account "
 "passwords."
@@ -6079,7 +6976,7 @@ msgstr ""
 "Se Verdadeiro, o Gajim usará o Gnome Keyring (se disponível) para armazenar "
 "as senhas das contas."
 
-#: ../src/common/config.py:225
+#: ../src/common/config.py:248
 msgid ""
 "If True, Gajim will show number of online and total contacts in account and "
 "group rows."
@@ -6087,7 +6984,7 @@ msgstr ""
 "Se Verdadeiro, o Gajim mostrará o número de contatos online e do total de "
 "contatos nas linha de conta e grupo."
 
-#: ../src/common/config.py:226
+#: ../src/common/config.py:249
 msgid ""
 "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
 "as if they were of this type"
@@ -6095,7 +6992,7 @@ msgstr ""
 "Pode ser vazio, 'chat' ou 'normal'. Se for vazio, trata todas as mensagens "
 "recebidas como se elas fossem do tipo especificado"
 
-#: ../src/common/config.py:227
+#: ../src/common/config.py:250
 msgid ""
 "If True, Gajim will scroll and select the contact who sent you the last "
 "message, if chat window is not already opened."
@@ -6103,7 +7000,37 @@ msgstr ""
 "Se Verdadeiro, o Gajim irá rolar e selecionar o contato que lhe enviou a "
 "última mensagem, se a janela de conversa ainda não estiver aberta."
 
-#: ../src/common/config.py:238
+#: ../src/common/config.py:251
+msgid ""
+"If True, Gajim will convert string between $$ and $$ to an image using dvips "
+"and convert before insterting it in chat window."
+msgstr ""
+"Se definido como Verdadeiro o Gajim converterá strings entre $$ e $$ em uma "
+"imagem usando o dvips antes de inseri-la em uma janela de conversa."
+
+#: ../src/common/config.py:252
+msgid "Time of inactivity needed before the change status window closes down."
+msgstr ""
+"O tempo de inatividade necessário antes de fechar a janela de alteração de "
+"status."
+
+#: ../src/common/config.py:253
+msgid ""
+"Maximum number of lines that are printed in conversations. Oldest lines are "
+"cleared."
+msgstr ""
+"Número máximo de linhas que são exibidas em conversações. As linhas mais "
+"antigas são apagadas."
+
+#: ../src/common/config.py:254
+msgid ""
+"If True, notification windows from notification-daemon will be attached to "
+"systray icon."
+msgstr ""
+"Se marcado como Verdadeiro as janelas de notificação do notification-daemon "
+"serão anexadas ao ícone da bandeja do sistema."
+
+#: ../src/common/config.py:265
 msgid ""
 "Priority will change automatically according to your status. Priorities are "
 "defined in autopriority_* options."
@@ -6112,11 +7039,11 @@ msgstr ""
 "prioridades são definidas nas opções autopriority_."
 
 #. yes, no, ask
-#: ../src/common/config.py:267
+#: ../src/common/config.py:293
 msgid "Jabberd2 workaround"
 msgstr "Jabberd2 rodando"
 
-#: ../src/common/config.py:271
+#: ../src/common/config.py:297
 msgid ""
 "If checked, Gajim will use your IP and proxies defined in "
 "file_transfer_proxies option for file transfer."
@@ -6124,101 +7051,101 @@ msgstr ""
 "Se checado, o Gaijm usará seu IP e proxies definidos no "
 "file_transfer_proxies, em opções para transferência de arquivos."
 
-#: ../src/common/config.py:330
+#: ../src/common/config.py:356
 msgid "Is OpenPGP enabled for this contact?"
 msgstr "O OpenPGP está ativado para este contato?"
 
-#: ../src/common/config.py:331 ../src/common/config.py:334
+#: ../src/common/config.py:357 ../src/common/config.py:360
 msgid "Language for which we want to check misspelled words"
 msgstr "Idioma a usar na verificação ortográficas das palavras"
 
-#: ../src/common/config.py:340
+#: ../src/common/config.py:366
 msgid "all or space separated status"
 msgstr "todos ou lista de status separados por espaço"
 
-#: ../src/common/config.py:341
+#: ../src/common/config.py:367
 msgid "'yes', 'no', or 'both'"
 msgstr "'sim', 'não' ou 'ambos'"
 
-#: ../src/common/config.py:342 ../src/common/config.py:344
-#: ../src/common/config.py:345 ../src/common/config.py:348
-#: ../src/common/config.py:349
+#: ../src/common/config.py:368 ../src/common/config.py:370
+#: ../src/common/config.py:371 ../src/common/config.py:374
+#: ../src/common/config.py:375
 msgid "'yes', 'no' or ''"
 msgstr "'sim', 'não', ou ''"
 
-#: ../src/common/config.py:355
+#: ../src/common/config.py:381
 msgid "Sleeping"
 msgstr "Dormindo"
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:382
 msgid "Back soon"
 msgstr "Volto logo"
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:382
 msgid "Back in some minutes."
 msgstr "Volto em alguns minutos."
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:383
 msgid "Eating"
 msgstr "Comendo"
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:383
 msgid "I'm eating, so leave me a message."
 msgstr "Eu estou comendo, então deixe-me uma mensagem."
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:384
 msgid "Movie"
 msgstr "Filme"
 
-#: ../src/common/config.py:358
+#: ../src/common/config.py:384
 msgid "I'm watching a movie."
 msgstr "Estou assistindo um filme."
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:385
 msgid "Working"
 msgstr "Trabalhando"
 
-#: ../src/common/config.py:359
+#: ../src/common/config.py:385
 msgid "I'm working."
 msgstr "Estou trabalhando."
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:386
 msgid "Phone"
 msgstr "Telefone"
 
-#: ../src/common/config.py:360
+#: ../src/common/config.py:386
 msgid "I'm on the phone."
 msgstr "Estou no telefone."
 
-#: ../src/common/config.py:361
+#: ../src/common/config.py:387
 msgid "Out"
 msgstr "Estou fora"
 
-#: ../src/common/config.py:361
+#: ../src/common/config.py:387
 msgid "I'm out enjoying life."
 msgstr "Estou fora curtindo a vida."
 
-#: ../src/common/config.py:365
+#: ../src/common/config.py:391
 msgid "I'm available."
 msgstr "Estou disponível."
 
-#: ../src/common/config.py:366
+#: ../src/common/config.py:392
 msgid "I'm free for chat."
 msgstr "Estou livre para conversar."
 
-#: ../src/common/config.py:368
+#: ../src/common/config.py:394
 msgid "I'm not available."
 msgstr "Não estou disponível."
 
-#: ../src/common/config.py:369
+#: ../src/common/config.py:395
 msgid "Do not disturb."
 msgstr "Não perturbe."
 
-#: ../src/common/config.py:370 ../src/common/config.py:371
+#: ../src/common/config.py:396 ../src/common/config.py:397
 msgid "Bye!"
 msgstr "Tchau!"
 
-#: ../src/common/config.py:380
+#: ../src/common/config.py:406
 msgid ""
 "Sound to play when a group chat message contains one of the words in "
 "muc_highlight_words, or when a group chat message contains your nickname."
@@ -6226,138 +7153,128 @@ msgstr ""
 "Som para tocar quando uma mensagem MUC conter uma das palavras no "
 "muc_hightlight_words, ou quando uma mensagem MUC contiver seu apelido."
 
-#: ../src/common/config.py:381
+#: ../src/common/config.py:407
 msgid "Sound to play when any MUC message arrives."
 msgstr "Som a ser tocado quando qualquer mensagem MUC chegar."
 
-#: ../src/common/config.py:390 ../src/common/optparser.py:195
+#: ../src/common/config.py:416 ../src/common/optparser.py:220
 msgid "green"
 msgstr "verde"
 
-#: ../src/common/config.py:394 ../src/common/optparser.py:181
+#: ../src/common/config.py:420 ../src/common/optparser.py:206
 msgid "grocery"
 msgstr "mantimento"
 
-#: ../src/common/config.py:398
+#: ../src/common/config.py:424
 msgid "human"
 msgstr "humano"
 
-#: ../src/common/config.py:402
+#: ../src/common/config.py:428
 msgid "marine"
 msgstr "marinho"
 
-#: ../src/common/connection_handlers.py:52
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:44
+#: ../src/common/connection_handlers.py:61
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:49
 msgid "Unable to load idle module"
 msgstr "Incapaz de carregar o módulo inativo"
 
-#: ../src/common/connection_handlers.py:180
-#: ../src/common/connection_handlers.py:215
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+#: ../src/common/connection_handlers.py:219
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:243
 msgid "Wrong host"
 msgstr "Servidor errado"
 
-#: ../src/common/connection_handlers.py:180
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
-#, python-format
-msgid ""
-"The host %s you configured as the ft_add_hosts_to_send advanced option is "
-"not valid, so ignored."
-msgstr ""
-"O computador %s que você especificou na configuração avançada "
-"ft_override_host_to_send não é válido e será ignorado."
-
-#: ../src/common/connection_handlers.py:216
+#: ../src/common/connection_handlers.py:220
 msgid "Invalid local address? :-O"
 msgstr "Endereço local inválido? :-O"
 
-#: ../src/common/connection_handlers.py:607
+#: ../src/common/connection_handlers.py:618
 #, python-format
 msgid "Registration information for transport %s has not arrived in time"
 msgstr "A informação do registo para o transporte %s não chegou a tempo"
 
-#: ../src/common/connection_handlers.py:1550
+#: ../src/common/connection_handlers.py:1802
 #, python-format
 msgid "Nickname not allowed: %s"
 msgstr "Apelido não permitido: %s"
 
-#. password required to join
 #. we are banned
 #. group chat does not exist
-#: ../src/common/connection_handlers.py:1615
-#: ../src/common/connection_handlers.py:1618
-#: ../src/common/connection_handlers.py:1621
-#: ../src/common/connection_handlers.py:1624
-#: ../src/common/connection_handlers.py:1627
-#: ../src/common/connection_handlers.py:1630
-#: ../src/common/connection_handlers.py:1638
+#: ../src/common/connection_handlers.py:1872
+#: ../src/common/connection_handlers.py:1875
+#: ../src/common/connection_handlers.py:1878
+#: ../src/common/connection_handlers.py:1881
+#: ../src/common/connection_handlers.py:1885
+#: ../src/common/connection_handlers.py:1894
 msgid "Unable to join group chat"
 msgstr "Impossível ingressar na sala"
 
-#: ../src/common/connection_handlers.py:1616
-msgid "A password is required to join this group chat."
-msgstr "Uma senha é requerida para entrar nesta sala."
-
-#: ../src/common/connection_handlers.py:1619
-msgid "You are banned from this group chat."
-msgstr "Você está banido desta sala."
+#: ../src/common/connection_handlers.py:1873
+#, python-format
+msgid "You are banned from group chat %s."
+msgstr "Você está banido da sala %s."
 
-#: ../src/common/connection_handlers.py:1622
-msgid "Such group chat does not exist."
-msgstr "Tal sala não existe."
+#: ../src/common/connection_handlers.py:1876
+#, python-format
+msgid "Group chat %s does not exist."
+msgstr "A sala %s não existe."
 
-#: ../src/common/connection_handlers.py:1625
+#: ../src/common/connection_handlers.py:1879
 msgid "Group chat creation is restricted."
 msgstr "A criação de sala é restrita."
 
-#: ../src/common/connection_handlers.py:1628
-msgid "Your registered nickname must be used."
-msgstr "Seu nickname registado deve ser usado."
+#: ../src/common/connection_handlers.py:1882
+#, python-format
+msgid "Your registered nickname must be used in group chat %s."
+msgstr "Seu nickname registado deve ser usado na sala %s."
 
-#: ../src/common/connection_handlers.py:1631
-msgid "You are not in the members list."
-msgstr "Você não está na lista de membros."
+#: ../src/common/connection_handlers.py:1886
+#, python-format
+msgid "You are not in the members list in groupchat %s."
+msgstr "Você não está na lista de membros da sala %s."
 
-#: ../src/common/connection_handlers.py:1639
+#: ../src/common/connection_handlers.py:1895
+#, python-format
 msgid ""
-"Your desired nickname is in use or registered by another occupant.\n"
+"Your desired nickname in group chat %s is in use or registered by another "
+"occupant.\n"
 "Please specify another nickname below:"
 msgstr ""
-"Seu nickname desejado está em uso ou registado por um outro usuário.\n"
-" Por favor, especifique um outro nickname abaixo:"
+"O apelido que você deseja usar está em uso ou registado por um outro "
+"ocupante.\n"
+"Por favor, especifique um outro apelido abaixo:"
 
 #. Room has been destroyed. see
 #. http://www.xmpp.org/extensions/xep-0045.html#destroyroom
-#: ../src/common/connection_handlers.py:1682
+#: ../src/common/connection_handlers.py:1926
 msgid "Room has been destroyed"
 msgstr "A sala foi excluída"
 
-#: ../src/common/connection_handlers.py:1689
+#: ../src/common/connection_handlers.py:1933
 #, python-format
 msgid "You can join this room instead: %s"
 msgstr "Você pode entrar nessa sala ao invés: %s"
 
-#: ../src/common/connection_handlers.py:1715
+#: ../src/common/connection_handlers.py:1960
 msgid "I would like to add you to my roster."
 msgstr "Eu gostaria de adiciona-lo à  minha lista."
 
 #. BE CAREFUL: no con.updateRosterItem() in a callback
-#: ../src/common/connection_handlers.py:1736
+#: ../src/common/connection_handlers.py:1981
 #, python-format
 msgid "we are now subscribed to %s"
 msgstr "nós estamos agora inscritos para %s"
 
-#: ../src/common/connection_handlers.py:1738
+#: ../src/common/connection_handlers.py:1983
 #, python-format
 msgid "unsubscribe request from %s"
 msgstr "Remoção de Inscrição solicitada por %s"
 
-#: ../src/common/connection_handlers.py:1740
+#: ../src/common/connection_handlers.py:1985
 #, python-format
 msgid "we are now unsubscribed from %s"
 msgstr "nós estamos agora sem inscrição para %s"
 
-#: ../src/common/connection_handlers.py:1859
+#: ../src/common/connection_handlers.py:2112
 #, python-format
 msgid ""
 "JID %s is not RFC compliant. It will not be added to your roster. Use roster "
@@ -6367,88 +7284,71 @@ msgstr ""
 "ferramentas de gerência da lista como http://jru.jabberstudio.org/ para "
 "removê-lo"
 
-#: ../src/common/connection.py:194
-#: ../src/common/zeroconf/connection_zeroconf.py:198
+#. We didn't set a passphrase
+#: ../src/common/connection_handlers.py:2151
+#: ../src/common/zeroconf/connection_zeroconf.py:169
+msgid "OpenPGP passphrase was not given"
+msgstr "Palavra-chave do OpenPGP não foi recebida"
+
+#: ../src/common/connection.py:243
+#: ../src/common/zeroconf/connection_zeroconf.py:209
 #, python-format
 msgid "Connection with account \"%s\" has been lost"
 msgstr "Conexão com a conta \"%s\" foi perdida"
 
-#: ../src/common/connection.py:195
+#: ../src/common/connection.py:244
 msgid "Reconnect manually."
 msgstr "Reconecte manualmente."
 
-#: ../src/common/connection.py:206 ../src/common/connection.py:233
+#: ../src/common/connection.py:255
 #, python-format
-msgid "Transport %s answered wrongly to register request: %s"
-msgstr "Transporte %s respondeu errado para registar o pedido: %s"
+msgid "Server %s answered wrongly to register request: %s"
+msgstr "O servidor %s respondeu erroneamente à requisição de registro: %s"
 
 #. wrong answer
-#: ../src/common/connection.py:232
+#: ../src/common/connection.py:263
 msgid "Invalid answer"
 msgstr "Resposta inválida"
 
-#: ../src/common/connection.py:380
+#: ../src/common/connection.py:264
+#, python-format
+msgid "Transport %s answered wrongly to register request: %s"
+msgstr "Transporte %s respondeu errado para registar o pedido: %s"
+
+#: ../src/common/connection.py:410
 msgid "Connection to proxy failed"
 msgstr "Falha na conexão com o proxy"
 
-#: ../src/common/connection.py:434 ../src/common/connection.py:532
-#: ../src/common/connection.py:1003
-#: ../src/common/zeroconf/connection_zeroconf.py:219
+#: ../src/common/connection.py:464 ../src/common/connection.py:510
+#: ../src/common/connection.py:1081
+#: ../src/common/zeroconf/connection_zeroconf.py:243
 #, python-format
 msgid "Could not connect to \"%s\""
 msgstr "Impossível conectar a \"%s\""
 
-#: ../src/common/connection.py:448
+#: ../src/common/connection.py:478
 #, python-format
 msgid "Connected to server %s:%s with %s"
 msgstr "Conectado ao servidor %s:%s com %s"
 
-#: ../src/common/connection.py:461
-#, python-format
-msgid "Security error connecting to \"%s\""
-msgstr "Erro de segurança ao conectar a \"%s\""
-
-#: ../src/common/connection.py:462
-msgid ""
-"The server's key has changed, or someone is trying to hack your connection."
-msgstr ""
-"A chave do servidor foi alterada ou alguém está tentando hackear a sua "
-"conexão."
-
-#: ../src/common/connection.py:469
-#, python-format
-msgid "Unable to check fingerprint for %s. Connection could be insecure."
-msgstr ""
-"Incapaz de verifica a impressão digital de %s. A conexão pode ser insegura."
-
 #: ../src/common/connection.py:511
-#, python-format
-msgid "Missing fingerprint in SSL connection to %s"
-msgstr "Faltando impressão digital na conexão SSL para %s"
-
-#: ../src/common/connection.py:517
-#, python-format
-msgid "Fingerprint mismatch for %s: Got %s, expected %s"
-msgstr "Conflito de impressões digitais para %s: obtido %s, esperado %s"
-
-#: ../src/common/connection.py:533
 msgid "Check your connection or try again later"
 msgstr "Verifique sua conexão ou tente novamente mais tarde"
 
-#: ../src/common/connection.py:559
+#: ../src/common/connection.py:536
 #, python-format
 msgid "Authentication failed with \"%s\""
 msgstr "Falha na autenticação com \"%s\""
 
-#: ../src/common/connection.py:560
+#: ../src/common/connection.py:538
 msgid "Please check your login and password for correctness."
 msgstr "Por favor, verifique seu login e senha para exatidão."
 
-#: ../src/common/connection.py:603
+#: ../src/common/connection.py:581
 msgid "Error while removing privacy list"
 msgstr "Erro ao remover lista de privacidade"
 
-#: ../src/common/connection.py:604
+#: ../src/common/connection.py:582
 #, python-format
 msgid ""
 "Privacy list %s has not been removed. It is maybe active in one of your "
@@ -6457,20 +7357,14 @@ msgstr ""
 "A lista de privacidade %s não foi removida. Ela pode estar ativa em um ou "
 "mais recursos conectados. Desative-os e tente novamente."
 
-#. We didn't set a passphrase
-#: ../src/common/connection.py:702
-#: ../src/common/zeroconf/connection_zeroconf.py:158
-msgid "OpenPGP passphrase was not given"
-msgstr "Palavra-chave do OpenPGP não foi recebida"
-
 #. we're not english
 #. one  in locale and one en
-#: ../src/common/connection.py:833
+#: ../src/common/connection.py:856
 msgid "[This message is *encrypted* (See :JEP:`27`]"
 msgstr "[Esta mensagem está *criptografada* (Veja:JEP:'27')]"
 
-#: ../src/common/connection.py:889
-#: ../src/common/zeroconf/connection_zeroconf.py:399
+#: ../src/common/connection.py:930
+#: ../src/common/zeroconf/connection_zeroconf.py:437
 #, python-format
 msgid ""
 "Subject: %s\n"
@@ -6479,39 +7373,39 @@ msgstr ""
 "Assunto: %s\n"
 "%s"
 
-#: ../src/common/connection.py:1029
+#: ../src/common/connection.py:1113
 msgid "Not fetched because of invisible status"
 msgstr "Não baixado por causa do status invisível"
 
-#: ../src/common/contacts.py:271
+#: ../src/common/contacts.py:299
 msgid "Not in roster"
 msgstr "Fora da lista"
 
 #. only say that to non Windows users
-#: ../src/common/dbus_support.py:33
+#: ../src/common/dbus_support.py:41
 msgid "D-Bus python bindings are missing in this computer"
 msgstr "Acesso ao python D-Bus foi perdido neste computador"
 
-#: ../src/common/dbus_support.py:34
+#: ../src/common/dbus_support.py:42
 msgid "D-Bus capabilities of Gajim cannot be used"
 msgstr "As potencialidades do D-Bus no Gajim não podem ser usadas"
 
-#: ../src/common/exceptions.py:22
+#: ../src/common/exceptions.py:27
 msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
 msgstr "O pysqlite2 (ou python-pysqlite2) está faltando. Encerrando..."
 
-#: ../src/common/exceptions.py:30
+#: ../src/common/exceptions.py:44
 msgid "Service not available: Gajim is not running, or remote_control is False"
 msgstr ""
 "Serviço não disponível: o Gajim não está funcionando ou o controle remoto é "
 "falso"
 
-#: ../src/common/exceptions.py:38
+#: ../src/common/exceptions.py:52
 msgid "D-Bus is not present on this machine or python module is missing"
 msgstr ""
 "O D-Bus não está presente nesta máquina ou o módulo do Python está faltando"
 
-#: ../src/common/exceptions.py:46
+#: ../src/common/exceptions.py:60
 msgid ""
 "Session bus is not available.\n"
 "Try reading http://trac.gajim.org/wiki/GajimDBus"
@@ -6519,443 +7413,446 @@ msgstr ""
 "O bus de sessão não está disponível.\n"
 "Veja http://trac.gajim.org/wiki/GajimDBus"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "one"
 msgstr "um"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "two"
 msgstr "dois"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "three"
 msgstr "três"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "four"
 msgstr "quatro"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "five"
 msgstr "cinco"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "six"
 msgstr "seis"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "seven"
 msgstr "sete"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "eight"
 msgstr "oito"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "nine"
 msgstr "nove"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "ten"
 msgstr "dez"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "eleven"
 msgstr "onze"
 
-#: ../src/common/fuzzyclock.py:44
+#: ../src/common/fuzzyclock.py:49
 msgid "twelve"
 msgstr "doze"
 
 #. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). '''
 #. A "singular-form". It is used when talking about hour 0
-#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
 msgid "$0 o'clock"
 msgstr "$0 horas"
 
-#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
 msgid "five past $0"
 msgstr "$0 e cinco"
 
-#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+#: ../src/common/fuzzyclock.py:53 ../src/common/fuzzyclock.py:61
 msgid "ten past $0"
 msgstr "$0 e dez"
 
-#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+#: ../src/common/fuzzyclock.py:53 ../src/common/fuzzyclock.py:61
 msgid "quarter past $0"
 msgstr "$0 e quinze"
 
-#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+#: ../src/common/fuzzyclock.py:54 ../src/common/fuzzyclock.py:62
 msgid "twenty past $0"
 msgstr "$0 e vinte"
 
-#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+#: ../src/common/fuzzyclock.py:54 ../src/common/fuzzyclock.py:62
 msgid "twenty five past $0"
 msgstr "$0 e vinte e cinco"
 
-#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+#: ../src/common/fuzzyclock.py:55 ../src/common/fuzzyclock.py:63
 msgid "half past $0"
 msgstr "$0 e meia"
 
-#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+#: ../src/common/fuzzyclock.py:55 ../src/common/fuzzyclock.py:63
 msgid "twenty five to $1"
 msgstr "vinte e cinco para as $1"
 
-#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+#: ../src/common/fuzzyclock.py:56 ../src/common/fuzzyclock.py:64
 msgid "twenty to $1"
 msgstr "vinte para as $1"
 
-#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+#: ../src/common/fuzzyclock.py:56 ../src/common/fuzzyclock.py:64
 msgid "quarter to $1"
 msgstr "quinze para as $1"
 
-#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:65
 msgid "ten to $1"
 msgstr "dez para as $1"
 
-#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:65
 msgid "five to $1"
 msgstr "cinco para as $1"
 
-#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:61
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:66
 msgid "$1 o'clock"
 msgstr "$1 horas"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Night"
 msgstr "Noite"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Early morning"
 msgstr "Madrugada"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Morning"
 msgstr "Manhã"
 
-#: ../src/common/fuzzyclock.py:64
+#: ../src/common/fuzzyclock.py:69
 msgid "Almost noon"
 msgstr "Quase meio-dia"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Noon"
 msgstr "Meio-dia"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Afternoon"
 msgstr "Tarde"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Evening"
 msgstr "Noite"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:70
 msgid "Late evening"
 msgstr "Tarde da noite"
 
-#: ../src/common/fuzzyclock.py:67
+#: ../src/common/fuzzyclock.py:72
 msgid "Start of week"
 msgstr "Começo da semana"
 
-#: ../src/common/fuzzyclock.py:67
+#: ../src/common/fuzzyclock.py:72
 msgid "Middle of week"
 msgstr "Meio da semana"
 
-#: ../src/common/fuzzyclock.py:67
+#: ../src/common/fuzzyclock.py:72
 msgid "End of week"
 msgstr "Fim da semana"
 
-#: ../src/common/fuzzyclock.py:68
+#: ../src/common/fuzzyclock.py:73
 msgid "Weekend!"
 msgstr "Final de semana!"
 
-#: ../src/common/helpers.py:114
+#: ../src/common/helpers.py:124
 msgid "Invalid character in username."
 msgstr "Caracter inválido no nome do usuário"
 
-#: ../src/common/helpers.py:119
+#: ../src/common/helpers.py:129
 msgid "Server address required."
 msgstr "Endereço do servidor é requerido."
 
-#: ../src/common/helpers.py:124
+#: ../src/common/helpers.py:134
 msgid "Invalid character in hostname."
 msgstr "Caracter inválido no nome do host"
 
-#: ../src/common/helpers.py:130
+#: ../src/common/helpers.py:140
 msgid "Invalid character in resource."
 msgstr "Caracter inválido no recurso."
 
 #. GiB means gibibyte
-#: ../src/common/helpers.py:170
+#: ../src/common/helpers.py:180
 #, python-format
 msgid "%s GiB"
 msgstr "%s GiB"
 
 #. GB means gigabyte
-#: ../src/common/helpers.py:173
+#: ../src/common/helpers.py:183
 #, python-format
 msgid "%s GB"
 msgstr "%s GB"
 
 #. MiB means mibibyte
-#: ../src/common/helpers.py:177
+#: ../src/common/helpers.py:187
 #, python-format
 msgid "%s MiB"
 msgstr "%s MiB"
 
 #. MB means megabyte
-#: ../src/common/helpers.py:180
+#: ../src/common/helpers.py:190
 #, python-format
 msgid "%s MB"
 msgstr "%s MB"
 
 #. KiB means kibibyte
-#: ../src/common/helpers.py:184
+#: ../src/common/helpers.py:194
 #, python-format
 msgid "%s KiB"
 msgstr "%s KiB"
 
 #. KB means kilo bytes
-#: ../src/common/helpers.py:187
+#: ../src/common/helpers.py:197
 #, python-format
 msgid "%s KB"
 msgstr "%s KB"
 
 #. B means bytes
-#: ../src/common/helpers.py:190
+#: ../src/common/helpers.py:200
 #, python-format
 msgid "%s B"
 msgstr "%s B"
 
-#: ../src/common/helpers.py:219
+#: ../src/common/helpers.py:231
 msgid "_Busy"
 msgstr "_Ocupado"
 
-#: ../src/common/helpers.py:221
+#: ../src/common/helpers.py:233
 msgid "Busy"
 msgstr "Ocupado"
 
-#: ../src/common/helpers.py:224
+#: ../src/common/helpers.py:236
 msgid "_Not Available"
 msgstr "_Não Disponível"
 
-#: ../src/common/helpers.py:229
+#: ../src/common/helpers.py:241
 msgid "_Free for Chat"
 msgstr "Livre para _Conversa"
 
-#: ../src/common/helpers.py:231
+#: ../src/common/helpers.py:243
 msgid "Free for Chat"
 msgstr "Livre para Conversa"
 
-#: ../src/common/helpers.py:234
+#: ../src/common/helpers.py:246
 msgid "_Available"
 msgstr "Dis_ponível"
 
-#: ../src/common/helpers.py:236
-msgid "Available"
-msgstr "Disponível"
-
-#: ../src/common/helpers.py:238
+#: ../src/common/helpers.py:250
 msgid "Connecting"
 msgstr "Conectando"
 
-#: ../src/common/helpers.py:241
+#: ../src/common/helpers.py:253
 msgid "A_way"
 msgstr "_Afastado"
 
-#: ../src/common/helpers.py:246
+#: ../src/common/helpers.py:258
 msgid "_Offline"
 msgstr "_Desconectado"
 
-#: ../src/common/helpers.py:248
+#: ../src/common/helpers.py:260
 msgid "Offline"
 msgstr "Desconectado"
 
-#: ../src/common/helpers.py:251
+#: ../src/common/helpers.py:263
 msgid "_Invisible"
 msgstr "_Invisível"
 
-#: ../src/common/helpers.py:257
+#: ../src/common/helpers.py:269
 msgid "?contact has status:Unknown"
 msgstr "?contato tem status:Desconhecido"
 
-#: ../src/common/helpers.py:259
+#: ../src/common/helpers.py:271
 msgid "?contact has status:Has errors"
 msgstr "?contato tem status:Com erros"
 
-#: ../src/common/helpers.py:264
+#: ../src/common/helpers.py:276
 msgid "?Subscription we already have:None"
 msgstr "?Inscrição existente:Nenhuma"
 
-#: ../src/common/helpers.py:266
+#: ../src/common/helpers.py:278
 msgid "To"
 msgstr "Para"
 
-#: ../src/common/helpers.py:270
+#: ../src/common/helpers.py:282
 msgid "Both"
 msgstr "Ambos"
 
-#: ../src/common/helpers.py:278
+#: ../src/common/helpers.py:290
 msgid "?Ask (for Subscription):None"
 msgstr "?Pergunta (para Inscrição):Nenhuma"
 
-#: ../src/common/helpers.py:280
+#: ../src/common/helpers.py:292
 msgid "Subscribe"
 msgstr "Inscrever"
 
-#: ../src/common/helpers.py:289
+#: ../src/common/helpers.py:301
 msgid "?Group Chat Contact Role:None"
 msgstr "?Regra do Contato para Conversa em Grupo:Nenhuma"
 
-#: ../src/common/helpers.py:292
+#: ../src/common/helpers.py:304
 msgid "Moderators"
 msgstr "Moderadores"
 
-#: ../src/common/helpers.py:294
+#: ../src/common/helpers.py:306
 msgid "Moderator"
 msgstr "Moderador"
 
-#: ../src/common/helpers.py:297
+#: ../src/common/helpers.py:309
 msgid "Participants"
 msgstr "Participantes"
 
-#: ../src/common/helpers.py:299
+#: ../src/common/helpers.py:311
 msgid "Participant"
 msgstr "Participante"
 
-#: ../src/common/helpers.py:302
+#: ../src/common/helpers.py:314
 msgid "Visitors"
 msgstr "Visitantes"
 
-#: ../src/common/helpers.py:304
+#: ../src/common/helpers.py:316
 msgid "Visitor"
 msgstr "Visitante"
 
-#: ../src/common/helpers.py:310
+#: ../src/common/helpers.py:322
 msgid "?Group Chat Contact Affiliation:None"
 msgstr "?Filiação do Contato de Conferência:Nenhuma"
 
-#: ../src/common/helpers.py:312
+#: ../src/common/helpers.py:324
 msgid "Owner"
 msgstr "Dono"
 
-#: ../src/common/helpers.py:314
+#: ../src/common/helpers.py:326
 msgid "Administrator"
 msgstr "Administrador"
 
-#: ../src/common/helpers.py:316
+#: ../src/common/helpers.py:328
 msgid "Member"
 msgstr "Membro"
 
-#: ../src/common/helpers.py:355
+#: ../src/common/helpers.py:367
 msgid "is paying attention to the conversation"
 msgstr "está prestando a atenção na conversa"
 
-#: ../src/common/helpers.py:357
+#: ../src/common/helpers.py:369
 msgid "is doing something else"
 msgstr "está fazendo outra coisa"
 
-#: ../src/common/helpers.py:359
+#: ../src/common/helpers.py:371
 msgid "is composing a message..."
 msgstr "está digitando..."
 
 #. paused means he or she was composing but has stopped for a while
-#: ../src/common/helpers.py:362
+#: ../src/common/helpers.py:374
 msgid "paused composing a message"
 msgstr "parou de digitar"
 
-#: ../src/common/helpers.py:364
+#: ../src/common/helpers.py:376
 msgid "has closed the chat window or tab"
 msgstr "fechou a janela de conversa ou aba"
 
-#: ../src/common/helpers.py:890
+#: ../src/common/helpers.py:947 ../src/common/helpers.py:954
 #, python-format
-msgid " %d unread message"
-msgid_plural " %d unread messages"
-msgstr[0] "%d mensagem não lida"
-msgstr[1] "%d mensagens não lidas"
+msgid "%d message pending"
+msgid_plural "%d messages pending"
+msgstr[0] "%d mensagem pendente"
+msgstr[1] "%s mensagens pendentes"
 
-#: ../src/common/helpers.py:896
+#: ../src/common/helpers.py:960
 #, python-format
-msgid " %d unread single message"
-msgid_plural " %d unread single messages"
-msgstr[0] "%d mensagem individual não lida"
-msgstr[1] "%d mensagens individuais não lidas"
+msgid " from room %s"
+msgstr " da sala %s"
 
-#: ../src/common/helpers.py:902
+#: ../src/common/helpers.py:963 ../src/common/helpers.py:982
 #, python-format
-msgid " %d unread group chat message"
-msgid_plural " %d unread group chat messages"
-msgstr[0] "%d mensagem de conferência não lida"
-msgstr[1] "%d mensagens de conferência não lidas"
+msgid " from user %s"
+msgstr " do usuário %s"
 
-#: ../src/common/helpers.py:908
+#: ../src/common/helpers.py:965
 #, python-format
-msgid " %d unread private message"
-msgid_plural " %d unread private messages"
-msgstr[0] "%d mensagem privada não lida"
-msgstr[1] "%d mensagens privadas não lidas"
+msgid " from %s"
+msgstr " de %s"
 
-#: ../src/common/helpers.py:918 ../src/common/helpers.py:920
+#: ../src/common/helpers.py:972 ../src/common/helpers.py:979
+#, python-format
+msgid "%d event pending"
+msgid_plural "%d events pending"
+msgstr[0] "%d evento pendente"
+msgstr[1] "%d eventos pendentes"
+
+#: ../src/common/helpers.py:1012
 #, python-format
 msgid "Gajim - %s"
 msgstr "Gajim - %s"
 
 #. we talk about a file
-#: ../src/common/optparser.py:59
+#: ../src/common/optparser.py:65
 #, python-format
 msgid "error: cannot open %s for reading"
 msgstr "erro: impossível abrir %s para leitura"
 
-#: ../src/common/optparser.py:181
-msgid "gtk+"
-msgstr "gtk+"
-
-#: ../src/common/optparser.py:190 ../src/common/optparser.py:191
+#: ../src/common/optparser.py:215 ../src/common/optparser.py:216
 msgid "cyan"
 msgstr "azul celeste"
 
-#: ../src/common/optparser.py:308
+#: ../src/common/optparser.py:332
 msgid "migrating logs database to indices"
 msgstr "migrando base de dados de registros para índices"
 
-#: ../src/common/passwords.py:82
+#: ../src/common/passwords.py:88
 #, python-format
 msgid "Gajim account %s"
 msgstr "Conta %s do Gajim"
 
-#: ../src/common/zeroconf/client_zeroconf.py:191
+#: ../src/common/zeroconf/client_zeroconf.py:149
+#: ../src/common/zeroconf/client_zeroconf.py:232
+msgid "Connection to host could not be established"
+msgstr "A conexão ao computador não pôde ser estabelecida."
+
+#: ../src/common/zeroconf/client_zeroconf.py:206
 msgid ""
 "Connection to host could not be established: Incorrect answer from server."
 msgstr ""
 "A conexão ao computador não pôde ser estabelecida: resposta incorreta do "
 "servidor."
 
-#: ../src/common/zeroconf/client_zeroconf.py:207
-msgid "Connection to host could not be established"
-msgstr "A conexão ao computador não pôde ser estabelecida."
-
-#: ../src/common/zeroconf/client_zeroconf.py:341
+#: ../src/common/zeroconf/client_zeroconf.py:366
 msgid ""
 "Connection to host could not be established: Timeout while sending data."
 msgstr ""
 "A conexão ao computador não pode ser estabelecida: tempo excedido ao "
 "transmitir os dados."
 
-#: ../src/common/zeroconf/client_zeroconf.py:634
+#: ../src/common/zeroconf/client_zeroconf.py:652
 msgid "Contact is offline. Your message could not be sent."
 msgstr "O contato está offline. Sua mensagem não pode ser enviada."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:199
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:243
+#, python-format
+msgid ""
+"The host %s you configured as the ft_add_hosts_to_send advanced option is "
+"not valid, so ignored."
+msgstr ""
+"O computador %s que você especificou na configuração avançada "
+"ft_override_host_to_send não é válido e será ignorado."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:210
 msgid "To continue sending and receiving messages, you will need to reconnect."
 msgstr ""
 "Para continuar enviando e recebendo mensagens, você precisará reconectar."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:209
+#: ../src/common/zeroconf/connection_zeroconf.py:233
 msgid "Avahi error"
 msgstr "Erro do Avahi"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:209
+#: ../src/common/zeroconf/connection_zeroconf.py:233
 #, python-format
 msgid ""
 "%s\n"
@@ -6964,31 +7861,31 @@ msgstr ""
 "%s\n"
 "Mensagens link-local podem não funcionar adequadamente."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:220
+#: ../src/common/zeroconf/connection_zeroconf.py:244
 msgid "Please check if Avahi is installed."
 msgstr "Por favor verifique se o Avahi está instalado."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:229
-#: ../src/common/zeroconf/connection_zeroconf.py:233
+#: ../src/common/zeroconf/connection_zeroconf.py:253
+#: ../src/common/zeroconf/connection_zeroconf.py:257
 msgid "Could not start local service"
 msgstr "Impossível iniciar o serviço local"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:230
+#: ../src/common/zeroconf/connection_zeroconf.py:254
 #, python-format
 msgid "Unable to bind to port %d."
 msgstr "Impossível conectar-se à porta %d."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:234
-#: ../src/common/zeroconf/connection_zeroconf.py:327
+#: ../src/common/zeroconf/connection_zeroconf.py:258
+#: ../src/common/zeroconf/connection_zeroconf.py:353
 msgid "Please check if avahi-daemon is running."
 msgstr "Por favor verifique se o serviço avahi-daemon está rodando."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:326
+#: ../src/common/zeroconf/connection_zeroconf.py:352
 #, python-format
 msgid "Could not change status of account \"%s\""
 msgstr "Impossível alterar status da conta \"%s\""
 
-#: ../src/common/zeroconf/connection_zeroconf.py:343
+#: ../src/common/zeroconf/connection_zeroconf.py:369
 msgid ""
 "You are not connected or not visible to others. Your message could not be "
 "sent."
@@ -6997,20 +7894,225 @@ msgstr ""
 "pode ser enviada."
 
 #. we're not english
-#: ../src/common/zeroconf/connection_zeroconf.py:355
+#: ../src/common/zeroconf/connection_zeroconf.py:381
 msgid "[This message is encrypted]"
 msgstr "[Esta mensagem está criptografada]"
 
-#: ../src/common/zeroconf/zeroconf.py:180
+#: ../src/common/zeroconf/zeroconf_avahi.py:183
+#: ../src/common/zeroconf/zeroconf_bonjour.py:194
 #, python-format
 msgid "Error while adding service. %s"
 msgstr "Erro ao adicionar serviço. %s"
 
-#~ msgid "Select the account with which you want to synchronise"
-#~ msgstr "Selecione a conta que você quer sincronizar"
-
-#~ msgid "Select the contacts you want to synchronise"
-#~ msgstr "Selecione os contatos que você quer sincronizar"
-
-#~ msgid "Synchronise : select contacts"
-#~ msgstr "Sincronizar: selecionar contatos"
+#~ msgid "Save passphrase"
+#~ msgstr "Salvar Frase de acesso"
+
+#~ msgid "_Discover Services..."
+#~ msgstr "_Procurar Serviços..."
+
+#~ msgid "_Retype Password:"
+#~ msgstr "_Reescreva a Senha:"
+
+#~ msgid "_Use proxy"
+#~ msgstr "_Usar proxy"
+
+#~ msgid "Accounts"
+#~ msgstr "Contas"
+
+#~ msgid ""
+#~ "If checked, all local contacts that use a Bonjour compatible chat client "
+#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to "
+#~ "be connected to a jabber server for it to work.\n"
+#~ "This is only available if python-avahi is installed and avahi-daemon is "
+#~ "running."
+#~ msgstr ""
+#~ "Se marcado, todos os contatos locais que usam um cliente de chat "
+#~ "compatível com o Bonjour (como iChat, Trillian ou Gaim) serão mostrados "
+#~ "na lista. Você não precisa estar conectado a um servidor jabber para que "
+#~ "ele funcione.\n"
+#~ " Isto só está disponível se o python-avahi estiver instalado e o serviço "
+#~ "avahi-daemon estiver rodando."
+
+#~ msgid ""
+#~ "If you have 2 or more accounts and this is checked, Gajim will list all "
+#~ "contacts as if you had one account"
+#~ msgstr ""
+#~ "Se você tiver duas ou mais contas e isto estiver marcado, o Gajim listará "
+#~ "todos os contatos como se você tivesse somente uma única conta"
+
+#~ msgid "_Enable link-local messaging"
+#~ msgstr "_Ativar mensagens \"link-local\""
+
+#~ msgid "_Modify"
+#~ msgstr "_Modificar"
+
+#~ msgid "_Compact View    Alt+C"
+#~ msgstr "Visão _Compacta    Alt+C"
+
+#~ msgid "Build custom query"
+#~ msgstr "Gerar consulta customizada"
+
+#~ msgid "Query Builder..."
+#~ msgstr "Gerador de consultas..."
+
+#~ msgid "<b>Interface Customization</b>"
+#~ msgstr "<b>Customização de interface</b>"
+
+#~ msgid "Also known as iChat style"
+#~ msgstr "Conhecido também como estilo iChat"
+
+#~ msgid "Chat"
+#~ msgstr "Conversa"
+
+#~ msgid "E_very 5 minutes"
+#~ msgstr "De 5 _em 5 minutos"
+
+#~ msgid ""
+#~ "Gajim will automatically show new events by popping up the relevant window"
+#~ msgstr ""
+#~ "O Gajim automaticamente mostrará novos eventos em uma janela saltando "
+#~ "sobre a janela relevante"
+
+#~ msgid ""
+#~ "Gajim will notify you for new events via a popup in the bottom right of "
+#~ "the screen"
+#~ msgstr ""
+#~ "Gajim notificará você de uma novo evento via uma alerta visual na lateral "
+#~ "inferior direita da tela"
+
+#~ msgid ""
+#~ "Gajim will notify you via a popup window in the bottom right of the "
+#~ "screen about contacts that just signed in"
+#~ msgstr ""
+#~ "Gajim notificará você através de um alerta visual na parte inferior "
+#~ "direita da tela sobre os contatos que se conectaram"
+
+#~ msgid ""
+#~ "Gajim will only change the icon of the contact that triggered the new "
+#~ "event"
+#~ msgstr "Gajim mudará somente o ícone do contato que provocou o evento novo"
+
+#~ msgid ""
+#~ "If checked, Gajim will remember the roster and chat window positions in "
+#~ "the screen and the sizes of them next time you run it"
+#~ msgstr ""
+#~ "Se marcado, o Gajim lembrará a posição e tamanho da janela principal na "
+#~ "próxima vez que você executa-lo"
+
+#~ msgid "On every _message"
+#~ msgstr "Em todas as _mensagens"
+
+#~ msgid "Outgoing Chat state noti_fications:"
+#~ msgstr "Enviar noti_ficações do status da conversa:"
+
+#~ msgid "Print time:"
+#~ msgstr "Imprimir tempo:"
+
+#~ msgid "Save _position and size for roster and chat windows"
+#~ msgstr ""
+#~ "Salvar _posição e tamanho das janelas de conversa e lista de contatos"
+
+#~ msgid "Show only in _roster"
+#~ msgstr "Mostre somente na _lista"
+
+#~ msgid "Use t_rayicon (aka. notification area icon)"
+#~ msgstr "Usar ícone na bandeja (também conhecido por área de notificação)"
+
+#~ msgid ""
+#~ "When a new event (message, file transfer request etc..) is received, the "
+#~ "following methods may be used to inform you about it. Please note that "
+#~ "events about new messages only occur if it is a new message from a "
+#~ "contact you are not already chatting with"
+#~ msgstr ""
+#~ "Quando um evento novo (mensagem, pedido etc. de transferência de arquivo, "
+#~ "etc.) é recebido, os seguintes métodos podem ser usados para informá-lo "
+#~ "sobre ele. Por favor, note que os eventos sobre mensagens novas ocorrem "
+#~ "somente se for uma mensagem nova de um contato que você não está "
+#~ "conversando"
+
+#~ msgid "_Never"
+#~ msgstr "_Nunca"
+
+#~ msgid "_Notify me about it"
+#~ msgstr "_Notifique-me sobre isto"
+
+#~ msgid "_Pop it up"
+#~ msgstr "_Alerta visual"
+
+#~ msgid "_Remove from Roster"
+#~ msgstr "_Remover da Lista"
+
+#~ msgid "_Filter:"
+#~ msgstr "_Filtro:"
+
+#~ msgid ""
+#~ "If that is not your language for which you want to highlight misspelled "
+#~ "words, then please set your $LANG as appropriate. Eg. for French do "
+#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to "
+#~ "make it global in /etc/profile.\n"
+#~ "\n"
+#~ "Highlighting misspelled words feature will not be used"
+#~ msgstr ""
+#~ "Se este não for o idioma para o qual você quer destacar palavras "
+#~ "incorretas, por favor, configure a sua variável de ambiente $LANG com o "
+#~ "valor apropriado. Por exemplo, para o francês exporte LANG=fr_FR ou "
+#~ "exporte LANG=fr_FR.UTF-8 em ~/.bash_profile ou coloca-lo \n"
+#~ " globalmente em/etc/profile.\n"
+#~ "Caracteristica de destacar palavras erradas não será usada"
+
+#~ msgid "Every %s _minutes"
+#~ msgstr "A cada %s _minutos"
+
+#~ msgid "You must enter a password for the new account."
+#~ msgstr "Você deve entrar com uma senha para registrar uma nova conta."
+
+#~ msgid "%s does not appear to be a valid JID"
+#~ msgstr "%s não parece ser um JID válido"
+
+#~ msgid "Drop %s in group %s"
+#~ msgstr "Derrubar %s no grupo %s"
+
+#~ msgid "Make %s and %s metacontacts"
+#~ msgstr "Fazer %s e %s metacontatos"
+
+#~ msgid "Hides the buttons in two persons chat window."
+#~ msgstr "Esconder os botões na janela de conversa para duas pessoas."
+
+#~ msgid "Security error connecting to \"%s\""
+#~ msgstr "Erro de segurança ao conectar a \"%s\""
+
+#~ msgid ""
+#~ "The server's key has changed, or someone is trying to hack your "
+#~ "connection."
+#~ msgstr ""
+#~ "A chave do servidor foi alterada ou alguém está tentando hackear a sua "
+#~ "conexão."
+
+#~ msgid "Unable to check fingerprint for %s. Connection could be insecure."
+#~ msgstr ""
+#~ "Incapaz de verifica a impressão digital de %s. A conexão pode ser "
+#~ "insegura."
+
+#~ msgid "Missing fingerprint in SSL connection to %s"
+#~ msgstr "Faltando impressão digital na conexão SSL para %s"
+
+#~ msgid "Fingerprint mismatch for %s: Got %s, expected %s"
+#~ msgstr "Conflito de impressões digitais para %s: obtido %s, esperado %s"
+
+#~ msgid " %d unread single message"
+#~ msgid_plural " %d unread single messages"
+#~ msgstr[0] "%d mensagem individual não lida"
+#~ msgstr[1] "%d mensagens individuais não lidas"
+
+#~ msgid " %d unread group chat message"
+#~ msgid_plural " %d unread group chat messages"
+#~ msgstr[0] "%d mensagem de conferência não lida"
+#~ msgstr[1] "%d mensagens de conferência não lidas"
+
+#~ msgid " %d unread private message"
+#~ msgid_plural " %d unread private messages"
+#~ msgstr[0] "%d mensagem privada não lida"
+#~ msgstr[1] "%d mensagens privadas não lidas"
+
+#~ msgid "gtk+"
+#~ msgstr "gtk+"
diff --git a/po/ru.po b/po/ru.po
index 3fc70b80df4ab03e718f9f2761c3863f72cc1b0e..bbd42876601e2b48a5cfe7cb635b1814f3537c8d 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,23 +6,27 @@
 # This file is distributed under the same license as the gajim package.
 #
 #
-#: ../src/gajim-remote.py:202 ../src/gajim-remote.py:209
 # <nebulam51@gmail.com>, 2005.
 #  <nebulam51@gmail.com>, 2005.
 # Yakov Bezrukov <nebulam51@gmail.com>, 2005, 2006, 2007.
 # Yakov Bezrukov <bezrukov@isp.nsc.ru>, 2005.
+#: ../src/gajim-remote.py:220 ../src/gajim-remote.py:227
+#: ../src/gajim-remote.py:253 ../src/gajim-remote.py:254
+#: ../src/gajim-remote.py:260 ../src/gajim-remote.py:261
+#: ../src/gajim-remote.py:262 ../src/gajim-remote.py:263
 msgid ""
 msgstr ""
 "Project-Id-Version: ru\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-12-18 09:32+0100\n"
-"PO-Revision-Date: 2007-07-08 21:53+0700\n"
-"Last-Translator: Yakov Bezrukov <nebulam51@gmail.com>\n"
+"POT-Creation-Date: 2007-12-05 23:47+0100\n"
+"PO-Revision-Date: 2007-12-05 18:32+0300\n"
+"Last-Translator: Fomin Denis,  Oleg N. Stadnik. <fominde@mail.ru>\n"
 "Language-Team: Русский <ru@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: KBabel 1.11.4\n"
 
 #: ../data/gajim.desktop.in.in.h:1
@@ -35,39 +39,39 @@ msgstr "Клиент для мгновенных сообщений Gajim"
 
 #: ../data/gajim.desktop.in.in.h:3
 msgid "Jabber IM Client"
-msgstr "Jabber-клиент на GTK+"
+msgstr "Jabber клиент для мгновенных сообщений"
 
 #: ../data/glade/account_context_menu.glade.h:1
-msgid "Send Single _Message..."
-msgstr "Отправить одиночное _сообщение..."
+#: ../data/glade/roster_window.glade.h:8
+msgid "Join _Group Chat..."
+msgstr "Войти в _комнату"
 
 #: ../data/glade/account_context_menu.glade.h:2
 msgid "_Add Contact..."
 msgstr "_Добавить контакт..."
 
 #: ../data/glade/account_context_menu.glade.h:3
-msgid "_Discover Services..."
-msgstr "_Просмотреть сервисы..."
+#: ../data/glade/roster_window.glade.h:15
+msgid "_Discover Services"
+msgstr "_Просмотреть сервисы"
 
 #: ../data/glade/account_context_menu.glade.h:4
 msgid "_Execute Command..."
 msgstr "В_ыполнить команду..."
 
 #: ../data/glade/account_context_menu.glade.h:5
-#: ../data/glade/roster_window.glade.h:16
-#: ../data/glade/systray_context_menu.glade.h:6
-msgid "_Group Chat"
-msgstr "_Комната"
+msgid "_Modify Account"
+msgstr "Редактировать учетную запись"
 
 #: ../data/glade/account_context_menu.glade.h:6
-#: ../data/glade/zeroconf_context_menu.glade.h:1
-msgid "_Modify Account..."
-msgstr "_Изменить учетную запись..."
-
-#: ../data/glade/account_context_menu.glade.h:7
 msgid "_Open Gmail Inbox"
 msgstr "_Открыть Gmail"
 
+#: ../data/glade/account_context_menu.glade.h:7
+#: ../data/glade/roster_window.glade.h:23
+msgid "_Start Chat..."
+msgstr "Начать беседу"
+
 #: ../data/glade/account_context_menu.glade.h:8
 #: ../data/glade/zeroconf_context_menu.glade.h:2
 msgid "_Status"
@@ -75,11 +79,11 @@ msgstr "_Статус"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:1
 msgid ""
-"<b>Account is being created</b>\n"
+"<b>Connecting to server</b>\n"
 "\n"
 "Please wait..."
 msgstr ""
-"<b>Была создана учетная запись </b>\n"
+"<b>Соединение с сервером </b>\n"
 "\n"
 "Пожалуйста подождите..."
 
@@ -92,51 +96,74 @@ msgid "<b>Please fill in the data for your new account</b>"
 msgstr "<b>Пожалуйста, заполните данные для вашей новой учетной записи</b>"
 
 #: ../data/glade/account_creation_wizard_window.glade.h:6
+msgid "<b>Please select a server</b>"
+msgstr "<b>Пожалуйста выберите сервер</b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:7
+msgid ""
+"Add this certificate to the list of trusted certificates.\n"
+"SHA1 fingerprint of the certificate:\n"
+msgstr ""
+
+#: ../data/glade/account_creation_wizard_window.glade.h:10
 msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
 msgstr ""
 "Щелкните, чтобы просмотреть сервисы предоставляемые jabber сервером "
 "(например, MSN, ICQ транспорты)"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:7
+#: ../data/glade/account_creation_wizard_window.glade.h:11
 msgid "Connect when I press Finish"
-msgstr "Подключиться, когда я нажму \"Завершить\""
+msgstr "Подключиться, когда я нажму \"Закончить\""
 
-#: ../data/glade/account_creation_wizard_window.glade.h:8
+#: ../data/glade/account_creation_wizard_window.glade.h:12
 msgid "Gajim: Account Creation Wizard"
 msgstr "Gajim: мастер создания учетной записи"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:9
-msgid "I already have an account I want to use"
+#: ../data/glade/account_creation_wizard_window.glade.h:13
+msgid "I already have an account I want to _use"
 msgstr "У меня уже есть учетная запись, которую я хочу использовать"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:10
+#: ../data/glade/account_creation_wizard_window.glade.h:14
 msgid "I want to _register for a new account"
 msgstr "Я хочу _зарегистрировать новую учетную запись"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:11
-#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/accounts_window.glade.h:23
 msgid "If checked, Gajim will remember the password for this account"
 msgstr "Если отмечено, то Gajim запомнит пароль учетной записи"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:12
-#: ../data/glade/manage_proxies_window.glade.h:6
-msgid "Pass_word:"
-msgstr "П_ароль"
+#: ../data/glade/account_creation_wizard_window.glade.h:16
+#: ../data/glade/account_modification_window.glade.h:26
+#: ../data/glade/accounts_window.glade.h:32
+msgid "Manage..."
+msgstr "Управление..."
 
-#: ../data/glade/account_creation_wizard_window.glade.h:13
-#: ../data/glade/account_modification_window.glade.h:38
+#: ../data/glade/account_creation_wizard_window.glade.h:17
+msgid "Prox_y:"
+msgstr "Прокси:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/accounts_window.glade.h:47
 msgid "Save pass_word"
 msgstr "Сохранить _пароль"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:14
+#: ../data/glade/account_creation_wizard_window.glade.h:19
 msgid "Servers Features"
 msgstr "Параметры сервера"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_creation_wizard_window.glade.h:20
 msgid "Set my profile when I connect"
 msgstr "Настроить мой профиль после соединения"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:16
+#: ../data/glade/account_creation_wizard_window.glade.h:21
+#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/accounts_window.glade.h:53
+msgid "Use custom hostname/port"
+msgstr "Использовать пользовательские хост/порт"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:22
 msgid ""
 "You need to have an account in order to connect\n"
 "to the Jabber network."
@@ -144,67 +171,63 @@ msgstr ""
 "Необходимо создать учетную запись для присоединения \n"
 "к сети Jabber."
 
-#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_creation_wizard_window.glade.h:24
 msgid "Your JID:"
 msgstr "Ваш JID:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:19
-#: ../data/glade/roster_window.glade.h:11
+#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/roster_window.glade.h:13
 msgid "_Advanced"
 msgstr "_Дополнительно"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:20
+#: ../data/glade/account_creation_wizard_window.glade.h:26
 msgid "_Finish"
 msgstr "_Закончить"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:21
-#: ../data/glade/manage_proxies_window.glade.h:9
-msgid "_Host:"
-msgstr "_Хост:"
+#: ../data/glade/account_creation_wizard_window.glade.h:27
+msgid "_Hostname:"
+msgstr "Хост: "
 
-#: ../data/glade/account_creation_wizard_window.glade.h:22
-#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/account_creation_wizard_window.glade.h:28
+#: ../data/glade/account_modification_window.glade.h:50
+#: ../data/glade/accounts_window.glade.h:58
 msgid "_Password:"
 msgstr "_Пароль:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:23
-#: ../data/glade/manage_proxies_window.glade.h:10
+#: ../data/glade/account_creation_wizard_window.glade.h:29
+#: ../data/glade/manage_proxies_window.glade.h:11
 msgid "_Port:"
 msgstr "_Порт:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:24
-msgid "_Retype Password:"
-msgstr "_Пароль для проверки:"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_creation_wizard_window.glade.h:30
 msgid "_Server:"
 msgstr "_Сервер:"
 
-#: ../data/glade/account_creation_wizard_window.glade.h:26
-msgid "_Use proxy"
-msgstr "_Использовать прокси"
-
-#: ../data/glade/account_creation_wizard_window.glade.h:27
-#: ../data/glade/manage_proxies_window.glade.h:11
+#: ../data/glade/account_creation_wizard_window.glade.h:31
+#: ../data/glade/manage_proxies_window.glade.h:12
 msgid "_Username:"
 msgstr "_Имя пользователя:"
 
 #: ../data/glade/account_modification_window.glade.h:1
+#: ../data/glade/accounts_window.glade.h:1
 #: ../data/glade/preferences_window.glade.h:8
 msgid "<b>Miscellaneous</b>"
 msgstr "<b>Прочее</b>"
 
 #: ../data/glade/account_modification_window.glade.h:2
+#: ../data/glade/accounts_window.glade.h:2
 #: ../data/glade/zeroconf_properties_window.glade.h:1
 msgid "<b>OpenPGP</b>"
 msgstr "<b>OpenPGP</b>"
 
 #: ../data/glade/account_modification_window.glade.h:3
+#: ../data/glade/accounts_window.glade.h:3
 #: ../data/glade/zeroconf_properties_window.glade.h:2
 msgid "<b>Personal Information</b>"
 msgstr "<b>Личная информация</b>"
 
 #: ../data/glade/account_modification_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:4
 msgid "Account"
 msgstr "Учетные записи"
 
@@ -213,19 +236,28 @@ msgid "Account Modification"
 msgstr "Изменение учетной записи"
 
 #: ../data/glade/account_modification_window.glade.h:6
-msgid "Autoreconnect when connection is lost"
-msgstr "Автоподключение при разрыве связи"
+#: ../data/glade/accounts_window.glade.h:5
+msgid "Administration operations"
+msgstr "Административные операции"
 
 #: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/accounts_window.glade.h:6
+msgid "Auto-reconnect when connection is lost"
+msgstr "Автоподключение при разрыве связи"
+
+#: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/accounts_window.glade.h:7
 #: ../data/glade/zeroconf_properties_window.glade.h:3
 msgid "C_onnect on Gajim startup"
 msgstr "_Соединяться при запуске Gajim"
 
-#: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/accounts_window.glade.h:8
 msgid "Chan_ge Password"
 msgstr "И_зменить пароль"
 
-#: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/accounts_window.glade.h:9
 msgid ""
 "Check this so Gajim will connect in port 5223 where legacy servers are "
 "expected to have SSL capabilities. Note that Gajim uses TLS encryption by "
@@ -237,44 +269,60 @@ msgstr ""
 "TLS шифрование по умолчанию, если сервер предоставляет такую возможность, с "
 "этой же опцией TLS отключается"
 
-#: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/accounts_window.glade.h:10
 #: ../data/glade/zeroconf_properties_window.glade.h:4
 msgid "Choose _Key..."
 msgstr "Выбрать _ключ..."
 
-#: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/accounts_window.glade.h:11
 msgid "Click to change account's password"
 msgstr "Щелкните для изменения пароля"
 
-#: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/accounts_window.glade.h:12
+msgid "Click to request authorization to all contacts of another account"
+msgstr "Щелкните чтобы запросить авторизацию у всех контактов другого аккаунта"
+
+#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/accounts_window.glade.h:13
 msgid "Connection"
 msgstr "Соединение"
 
-#: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/account_modification_window.glade.h:15
+#: ../data/glade/accounts_window.glade.h:15
 msgid "Edit Personal Information..."
 msgstr "Редактировать личную информацию..."
 
-#: ../data/glade/account_modification_window.glade.h:14
-#: ../data/glade/roster_window.glade.h:5 ../src/notify.py:453
-#: ../src/notify.py:475 ../src/notify.py:487 ../src/common/helpers.py:905
+#. No configured account
+#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/accounts_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:6 ../src/notify.py:489
+#: ../src/notify.py:520 ../src/notify.py:532 ../src/common/helpers.py:998
+#: ../src/common/helpers.py:1010
 msgid "Gajim"
 msgstr "Gajim"
 
-#. Contact is not in a group, so count it in General group
-#: ../data/glade/account_modification_window.glade.h:15
-#: ../data/glade/preferences_window.glade.h:49
+#. General group cannot be changed
+#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/accounts_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:45
 #: ../data/glade/zeroconf_properties_window.glade.h:7
-#: ../src/roster_window.py:342 ../src/roster_window.py:1207
-#: ../src/roster_window.py:1418 ../src/roster_window.py:2029
-#: ../src/roster_window.py:2071 ../src/common/contacts.py:278
+#: ../src/roster_window.py:372 ../src/roster_window.py:637
+#: ../src/roster_window.py:1384 ../src/roster_window.py:1760
+#: ../src/roster_window.py:2147 ../src/roster_window.py:2661
+#: ../src/roster_window.py:2779 ../src/common/contacts.py:314
 msgid "General"
 msgstr "Общие"
 
-#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/accounts_window.glade.h:20
 msgid "Hostname: "
 msgstr "Хост: "
 
-#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/accounts_window.glade.h:21
 msgid ""
 "If checked, Gajim will also broadcast some more IPs except from just your "
 "IP, so file transfer has higher chances of working."
@@ -282,15 +330,16 @@ msgstr ""
 "Если отмечено, Gajim будет передавать еще несколько IP адресов в дополнение "
 "к вашему, так что передача файла имеет больше шансов на успех."
 
-#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/accounts_window.glade.h:24
 msgid ""
-"If checked, Gajim will send keep-alive packets so it prevents connection "
-"timeout which results in disconnection"
+"If checked, Gajim will send keep-alive packets to prevent connection timeout "
+"which results in disconnection"
 msgstr ""
 "Если отмечено, то Gajim будет пинговать сервер, чтобы избежать разрыва "
 "соединения по таймауту"
 
-#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/account_modification_window.glade.h:22
 #: ../data/glade/zeroconf_properties_window.glade.h:8
 msgid ""
 "If checked, Gajim will store the password in ~/.gajim/config with 'read' "
@@ -299,7 +348,8 @@ msgstr ""
 "Если отмечено, то Gajim сохранит пароль в ~/.gajim/config с доступом на "
 "чтение только для вас"
 
-#: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/accounts_window.glade.h:25
 #: ../data/glade/zeroconf_properties_window.glade.h:9
 msgid ""
 "If checked, Gajim, when launched, will automatically connect to jabber using "
@@ -308,7 +358,8 @@ msgstr ""
 "Если отмечено, Gajim, после запуска, будет автоматически подсоединяться к "
 "jabber серверу с использованием этой учетной записи"
 
-#: ../data/glade/account_modification_window.glade.h:22
+#: ../data/glade/account_modification_window.glade.h:24
+#: ../data/glade/accounts_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:10
 msgid ""
 "If checked, any change to the global status (handled by the combobox at the "
@@ -319,44 +370,50 @@ msgstr ""
 "выпадающего списка внизу окна ростера) повлекут за собой изменение статуса "
 "этой учетной записи"
 
-#: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/account_modification_window.glade.h:25
+#: ../data/glade/accounts_window.glade.h:29
 msgid "Information about you, as stored in the server"
 msgstr "Информация о вас, сохраненная на сервере"
 
-#: ../data/glade/account_modification_window.glade.h:24
-msgid "Manage..."
-msgstr "Управление..."
-
-#: ../data/glade/account_modification_window.glade.h:25
-#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1643
-#: ../src/config.py:3436
+#: ../data/glade/account_modification_window.glade.h:27
+#: ../data/glade/accounts_window.glade.h:34
+#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1548
+#: ../src/config.py:2025
 msgid "No key selected"
 msgstr "Не выбран ключ"
 
 #. None means no proxy profile selected
-#: ../data/glade/account_modification_window.glade.h:27 ../src/config.py:1225
-#: ../src/config.py:1230 ../src/config.py:1414 ../src/config.py:1633
-#: ../src/config.py:1642 ../src/config.py:1701 ../src/config.py:1775
-#: ../src/config.py:2646 ../src/config.py:3426 ../src/config.py:3435
-#: ../src/dialogs.py:281 ../src/dialogs.py:283
+#. GPG Key
+#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/accounts_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1142
+#: ../src/config.py:1213 ../src/config.py:1456 ../src/config.py:1461
+#: ../src/config.py:1923 ../src/config.py:2010 ../src/config.py:2024
+#: ../src/config.py:3114 ../src/config.py:3172 ../src/dialogs.py:344
+#: ../src/dialogs.py:346 ../src/roster_window.py:1864
+#: ../src/roster_window.py:1871 ../src/roster_window.py:1878
 msgid "None"
 msgstr "Нет"
 
-#: ../data/glade/account_modification_window.glade.h:28
-#: ../data/glade/profile_window.glade.h:25
+#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/accounts_window.glade.h:37
+#: ../data/glade/profile_window.glade.h:26
 #: ../data/glade/zeroconf_properties_window.glade.h:17
 msgid "Personal Information"
 msgstr "Личная информация"
 
-#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/accounts_window.glade.h:38
 msgid "Port: "
 msgstr "Порт: "
 
-#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/accounts_window.glade.h:39
 msgid "Priori_ty:"
 msgstr "Приори_тет:"
 
-#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/accounts_window.glade.h:40
 msgid ""
 "Priority is used in Jabber to determine who gets the events from the jabber "
 "server when two or more clients are connected using the same account; The "
@@ -367,19 +424,23 @@ msgstr ""
 "той же учетной записью. Клиент с наибольшим приоритетом будет получать "
 "события"
 
-#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/accounts_window.glade.h:41
 msgid "Priority will change automatically according to your status."
 msgstr "Изменять приоритет автоматически в соответствии со статусом."
 
-#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/accounts_window.glade.h:42
 msgid "Proxy:"
 msgstr "Прокси:"
 
-#: ../data/glade/account_modification_window.glade.h:34
-msgid "Resour_ce: "
+#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/accounts_window.glade.h:44
+msgid "Resour_ce:"
 msgstr "Ресу_рс: "
 
-#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/accounts_window.glade.h:45
 msgid ""
 "Resource is sent to the Jabber server in order to separate the same JID in "
 "two or more parts depending on the number of the clients connected in the "
@@ -394,88 +455,137 @@ msgstr ""
 "одновременно. Ресурс, который имеет больший приоритет будет получать все "
 "события. (См. ниже)"
 
-#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/account_modification_window.glade.h:38
 #: ../data/glade/zeroconf_properties_window.glade.h:18
 msgid "Save _passphrase (insecure)"
 msgstr "Сохранить _парольную фразу (небезопасно)"
 
-#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/accounts_window.glade.h:46
 #: ../data/glade/zeroconf_properties_window.glade.h:19
 msgid "Save conversation _logs for all contacts"
 msgstr "_Сохранять историю для всех контактов"
 
-#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/accounts_window.glade.h:48
 msgid "Send keep-alive packets"
 msgstr "Отправить пинг"
 
-#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/accounts_window.glade.h:49
 #: ../data/glade/zeroconf_properties_window.glade.h:20
 msgid "Synch_ronize account status with global status"
 msgstr "Син_хронизировать статус учетной записи с глобальным статусом"
 
-#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/accounts_window.glade.h:50
+#: ../data/glade/synchronise_contacts_dialog.glade.h:2
+#: ../data/glade/synchronise_select_account_dialog.glade.h:2
+msgid "Synchronise contacts"
+msgstr "Объединить контакты"
+
+#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/accounts_window.glade.h:52
 msgid "Use _SSL (legacy)"
 msgstr "Использовать _SSL (устарело)"
 
-#: ../data/glade/account_modification_window.glade.h:42
-msgid "Use custom hostname/port"
-msgstr "Использовать пользовательские хост/порт"
-
-#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/accounts_window.glade.h:55
 msgid "Use file transfer proxies"
 msgstr "Использовать прокси для передачи файла"
 
-#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/accounts_window.glade.h:56
 msgid "_Adjust to status"
 msgstr "В зависимости от статуса"
 
-#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/accounts_window.glade.h:57
 msgid "_Jabber ID:"
 msgstr "_Jabber ID:"
 
-#: ../data/glade/account_modification_window.glade.h:46
-msgid "_Name: "
+#: ../data/glade/account_modification_window.glade.h:49
+msgid "_Name:"
 msgstr "_Имя: "
 
-#: ../data/glade/accounts_window.glade.h:1
-msgid "Accounts"
-msgstr "Учетные записи"
+#: ../data/glade/accounts_window.glade.h:14
+#: ../data/glade/profile_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/zeroconf_information_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:5
+msgid "E-Mail:"
+msgstr "Почта:"
 
-#: ../data/glade/accounts_window.glade.h:2
-msgid ""
-"If checked, all local contacts that use a Bonjour compatible chat client "
-"(like iChat, Trillian or Gaim) will be shown in roster. You don't need to be "
-"connected to a jabber server for it to work.\n"
-"This is only available if python-avahi is installed and avahi-daemon is "
-"running."
-msgstr ""
-"Если отмечено, то все локальные контакты, которые используют Bonjour-совместимый клиент (напр. iChat, Trillian или Gaim) будут показаны в ростере. Для этого не нужно подключаться к jabber-серверу.\n"
-"Доступно только в том случае, когда установлен python-avahi и запущен avahi-daemon."
+#. XML Console enable checkbutton
+#: ../data/glade/accounts_window.glade.h:16
+#: ../data/glade/xml_console_window.glade.h:4
+msgid "Enable"
+msgstr "Включить"
 
-#: ../data/glade/accounts_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:17
+#: ../data/glade/zeroconf_information_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:6
+msgid "First Name:"
+msgstr "Имя:"
+
+#: ../data/glade/accounts_window.glade.h:22
+msgid "If checked, Gajim will get the password from a GPG agent like seahorse"
+msgstr "Если отмечено, то Gajim запомнит пароль учетной записи"
+
+#: ../data/glade/accounts_window.glade.h:27
+#: ../data/glade/zeroconf_properties_window.glade.h:11
 msgid ""
-"If you have 2 or more accounts and it is checked, Gajim will list all "
-"contacts as if you had one account"
+"If the default port that is used for incoming messages is unfitting for your "
+"setup you can select another one here.\n"
+"You might consider to change possible firewall settings."
 msgstr ""
-"Если у вас 2 и более учетных записей, то, отметив здесь, вы заставите Gajim "
-"показывать вместе контакты из всех учетных записей"
+"Если порт по умолчанию, который используется для входящих сообщения вас не "
+"устраивает, вы можете выбрать другой.\n"
+"Так же возможно придется изменить некоторые настройки брандмауэра."
 
-#: ../data/glade/accounts_window.glade.h:5
+#: ../data/glade/accounts_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/zeroconf_information_window.glade.h:4
+#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:511
+msgid "Jabber ID:"
+msgstr "Jabber ID:"
+
+#: ../data/glade/accounts_window.glade.h:31
+#: ../data/glade/zeroconf_information_window.glade.h:5
+#: ../data/glade/zeroconf_properties_window.glade.h:14
+msgid "Last Name:"
+msgstr "Фамилия:"
+
+#: ../data/glade/accounts_window.glade.h:33
 msgid "Mer_ge accounts"
 msgstr "_Объединить учетные записи"
 
-#: ../data/glade/accounts_window.glade.h:6
-msgid "_Enable link-local messaging"
-msgstr "_Включить локальный обмен сообщениями"
+#. Rename
+#: ../data/glade/accounts_window.glade.h:43 ../src/roster_window.py:2731
+msgid "Re_name"
+msgstr "П_ереименовать"
 
-#: ../data/glade/accounts_window.glade.h:7
-msgid "_Modify"
-msgstr "_Изменить"
+#: ../data/glade/accounts_window.glade.h:51
+msgid "Use GPG _Agent"
+msgstr "Использовать GPG _Agent"
 
-#: ../data/glade/accounts_window.glade.h:8
-#: ../data/glade/remove_account_window.glade.h:4
-msgid "_Remove"
-msgstr "_Удалить"
+#: ../data/glade/accounts_window.glade.h:54
+#: ../data/glade/zeroconf_properties_window.glade.h:21
+msgid "Use custom port:"
+msgstr "Другой порт"
+
+#: ../data/glade/accounts_window.glade.h:59
+msgid "gtk-add"
+msgstr "gtk-add"
+
+#: ../data/glade/accounts_window.glade.h:60
+#: ../data/glade/features_window.glade.h:4
+msgid "gtk-close"
+msgstr "gtk-close"
+
+#: ../data/glade/accounts_window.glade.h:61
+msgid "gtk-remove"
+msgstr "gtk-remove"
 
 #: ../data/glade/add_new_contact_window.glade.h:1
 msgid "A_ccount:"
@@ -495,7 +605,7 @@ msgstr "Вы не возражаете, если я добавлю Вас в к
 
 #: ../data/glade/add_new_contact_window.glade.h:5
 msgid ""
-"You have to register to this transport\n"
+"You have to register with this transport\n"
 "to be able to add a contact from this\n"
 "protocol. Click on register button to\n"
 "proceed."
@@ -534,7 +644,7 @@ msgid "_User ID:"
 msgstr "ID пользователя:"
 
 #: ../data/glade/adhoc_commands_window.glade.h:1
-msgid "<b>An error has occured:</b>"
+msgid "<b>An error has occurred:</b>"
 msgstr "<b>Произошла ошибка:</b>"
 
 #: ../data/glade/adhoc_commands_window.glade.h:2
@@ -570,12 +680,15 @@ msgid "This jabber entity does not expose any commands."
 msgstr ""
 
 #: ../data/glade/advanced_configuration_window.glade.h:1
+#: ../data/glade/features_window.glade.h:1
 msgid "<b>Description</b>"
 msgstr "<b>Описание</b>"
 
 #: ../data/glade/advanced_configuration_window.glade.h:2
-msgid "<b>NOTE:</b> You should restart gajim for some setting to take effect"
-msgstr "<b>ПРИМЕЧАНИЕ:</b> Вы должны перезапустить gajim, чтобы некоторые настройки вступили в силу"
+msgid "<b>NOTE:</b> You should restart Gajim for some settings to take effect"
+msgstr ""
+"<b>ПРИМЕЧАНИЕ:</b> Вы должны перезапустить Gajim, чтобы некоторые настройки "
+"вступили в силу"
 
 #: ../data/glade/advanced_configuration_window.glade.h:3
 msgid "Advanced Configuration Editor"
@@ -594,48 +707,45 @@ msgid "Deletes Message of the Day"
 msgstr "Удаляет сообщение дня."
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:3
-msgid "Sends a message to currently connected users to this server"
-msgstr "Отправляет сообщение пользователям подсоединенным к серверу в данный момент"
+msgid "Edit _Privacy Lists..."
+msgstr "Редактировать _списки доступа..."
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:4
-msgid "Set MOTD"
-msgstr "Установить собщение дня"
+msgid "Sends a message to users currently connected to this server"
+msgstr ""
+"Отправляет сообщение пользователям подсоединенным к серверу в данный момент"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:5
+msgid "Set MOTD..."
+msgstr "Установить собщение дня"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:6
 msgid "Sets Message of the Day"
 msgstr "Устанавливает сообщение дня"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:6
+#: ../data/glade/advanced_menuitem_menu.glade.h:7
 msgid "Show _XML Console"
 msgstr "Показать консоль _XML"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:7
-msgid "Update MOTD"
-msgstr "Обновить MOTD"
-
 #: ../data/glade/advanced_menuitem_menu.glade.h:8
-msgid "Updates Message of the Day"
-msgstr "Обновляет фортунку"
+msgid "Update MOTD..."
+msgstr "Обновить собщение дня"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:9
-msgid "_Administrator"
-msgstr "_Администрирование"
+msgid "Updates Message of the Day"
+msgstr "Обновляет сообщение дня"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:10
-msgid "_Privacy Lists"
-msgstr "_Списки доступа"
+msgid "_Administrator"
+msgstr "_Администрирование"
 
 #: ../data/glade/advanced_menuitem_menu.glade.h:11
-msgid "_Send Server Message"
+msgid "_Send Server Message..."
 msgstr "_Отправить сообщение сервера"
 
-#: ../data/glade/advanced_menuitem_menu.glade.h:12
-msgid "_Send Single Message"
-msgstr "О_тправить одиночное сообщение"
-
 #: ../data/glade/advanced_notifications_window.glade.h:1
 msgid " a window/tab opened with that contact "
-msgstr " с этим контактом уже открыты окно или вкладка"
+msgstr " с этим контактом открытых окон/вкладок"
 
 #: ../data/glade/advanced_notifications_window.glade.h:2
 msgid "<b>Actions</b>"
@@ -646,7 +756,7 @@ msgid "<b>Conditions</b>"
 msgstr "<b>Условия</b>"
 
 #: ../data/glade/advanced_notifications_window.glade.h:4
-#: ../data/glade/preferences_window.glade.h:10
+#: ../data/glade/preferences_window.glade.h:12
 msgid "<b>Sounds</b>"
 msgstr "<b>Звуки</b>"
 
@@ -663,7 +773,7 @@ msgid "All statuses"
 msgstr "Все статусы"
 
 #: ../data/glade/advanced_notifications_window.glade.h:8
-#: ../src/common/helpers.py:234
+#: ../src/common/commands.py:96 ../src/common/helpers.py:255
 msgid "Away"
 msgstr "Ушел"
 
@@ -673,14 +783,14 @@ msgstr "Занят "
 
 #: ../data/glade/advanced_notifications_window.glade.h:10
 msgid "Don't have "
-msgstr "Не имеет "
+msgstr "Нет "
 
 #: ../data/glade/advanced_notifications_window.glade.h:11
 msgid "Have "
-msgstr "Имеет "
+msgstr "Есть "
 
 #: ../data/glade/advanced_notifications_window.glade.h:12
-#: ../src/common/helpers.py:244
+#: ../src/common/helpers.py:265
 msgid "Invisible"
 msgstr "Невидимка"
 
@@ -689,7 +799,7 @@ msgid "Launch a command"
 msgstr "Выполнить команду"
 
 #: ../data/glade/advanced_notifications_window.glade.h:14
-#: ../src/common/helpers.py:217
+#: ../src/common/helpers.py:238
 msgid "Not Available"
 msgstr "Недоступен"
 
@@ -708,17 +818,15 @@ msgstr "Проигрывать звук"
 #: ../data/glade/advanced_notifications_window.glade.h:18
 msgid ""
 "Receive a Message\n"
-"Contact Connected \n"
 "Contact Disconnected \n"
 "Contact Change Status \n"
 "Group Chat Message Highlight \n"
 "Group Chat Message Received \n"
-"File Transfert Resquest \n"
-"File Transfert Started \n"
-"File Transfert Finished"
+"File Transfer Request \n"
+"File Transfer Started \n"
+"File Transfer Finished"
 msgstr ""
 "Получено сообщение\n"
-"Контакт подключился\n"
 "Контакт отключился\n"
 "Контакт сменил статус\n"
 "Упоминание в комнате\n"
@@ -727,55 +835,58 @@ msgstr ""
 "Начата передача файла\n"
 "Завершена передача файла"
 
-#: ../data/glade/advanced_notifications_window.glade.h:27
+#: ../data/glade/advanced_notifications_window.glade.h:26
 msgid "When "
 msgstr "Когда "
 
+#: ../data/glade/advanced_notifications_window.glade.h:27
+msgid ""
+"_Activate window manager's UrgencyHint to make chat window in taskbar flash"
+msgstr ""
+"_Активировать функцию оконного менеджера \"UrgencyHint\", чтобы окно чата "
+"мигало на панели"
+
 #: ../data/glade/advanced_notifications_window.glade.h:28
-msgid "_Activate window manager's UrgencyHint to make chat window in taskbar flash"
-msgstr "_Активировать функцию оконного менеджера \"UrgencyHint\", чтобы окно беседы мигало на панели"
+msgid "_Disable auto opening chat window"
+msgstr "_Отключить автоматическое открытие окна чата"
 
 #: ../data/glade/advanced_notifications_window.glade.h:29
-msgid "_Disable auto opening chat window"
-msgstr "_Отключить автоматическое открытие окна беседы"
+msgid "_Disable existing popup window"
+msgstr "_Отключить все всплывающие окна"
 
 #: ../data/glade/advanced_notifications_window.glade.h:30
-msgid "_Disable existing popup window"
-msgstr "_Отключиться все всплывающие окна"
-
-#: ../data/glade/advanced_notifications_window.glade.h:31
 msgid "_Disable existing sound for this event"
 msgstr "_Отключить звуки для этого события"
 
-#: ../data/glade/advanced_notifications_window.glade.h:32
+#: ../data/glade/advanced_notifications_window.glade.h:31
 msgid "_Disable showing event in roster"
 msgstr "_Отключить показ события в ростере"
 
-#: ../data/glade/advanced_notifications_window.glade.h:33
+#: ../data/glade/advanced_notifications_window.glade.h:32
 msgid "_Disable showing event in systray"
 msgstr "_Отключить показ события в системном лотке"
 
-#: ../data/glade/advanced_notifications_window.glade.h:34
+#: ../data/glade/advanced_notifications_window.glade.h:33
 msgid "_Inform me with a popup window"
 msgstr "_Сообщить с помощью всплывающего окна"
 
-#: ../data/glade/advanced_notifications_window.glade.h:35
+#: ../data/glade/advanced_notifications_window.glade.h:34
 msgid "_Open chat window with user"
-msgstr "_Открыть окно беседы с контактом"
+msgstr "_Открыть окно чата с контактом"
 
-#: ../data/glade/advanced_notifications_window.glade.h:36
+#: ../data/glade/advanced_notifications_window.glade.h:35
 msgid "_Show event in roster"
 msgstr "_Показывать событие в ростере"
 
-#: ../data/glade/advanced_notifications_window.glade.h:37
+#: ../data/glade/advanced_notifications_window.glade.h:36
 msgid "_Show event in systray"
-msgstr "_Показывать событие в лотке"
+msgstr "_Показывать событие в системном лотке"
 
-#: ../data/glade/advanced_notifications_window.glade.h:38
+#: ../data/glade/advanced_notifications_window.glade.h:37
 msgid "and I "
-msgstr "и я"
+msgstr "и у меня"
 
-#: ../data/glade/advanced_notifications_window.glade.h:39
+#: ../data/glade/advanced_notifications_window.glade.h:38
 msgid ""
 "contact(s)\n"
 "group(s)\n"
@@ -785,50 +896,38 @@ msgstr ""
 "группа(ы)\n"
 "все"
 
-#: ../data/glade/advanced_notifications_window.glade.h:42
+#: ../data/glade/advanced_notifications_window.glade.h:41
 msgid "for "
 msgstr "для "
 
-#: ../data/glade/advanced_notifications_window.glade.h:43
+#: ../data/glade/advanced_notifications_window.glade.h:42
 msgid "when I'm in"
 msgstr "Когда я в "
 
 #: ../data/glade/atom_entry_window.glade.h:1
-msgid "2003-12-13T18:30:02Z"
-msgstr "2003-12-13T18:30:02Z"
-
-#: ../data/glade/atom_entry_window.glade.h:2
-msgid "<small>Romeo and Juliet</small>"
-msgstr "<small>Иван и Марья</small>"
-
-#: ../data/glade/atom_entry_window.glade.h:3
 msgid "Entry:"
 msgstr "Запись:"
 
-#: ../data/glade/atom_entry_window.glade.h:4
+#: ../data/glade/atom_entry_window.glade.h:2
 msgid "Feed name:"
 msgstr "Название ленты:"
 
-#: ../data/glade/atom_entry_window.glade.h:5
+#: ../data/glade/atom_entry_window.glade.h:3
 msgid "Last modified:"
 msgstr "Последнее изменение:"
 
-#: ../data/glade/atom_entry_window.glade.h:6
+#: ../data/glade/atom_entry_window.glade.h:4
 msgid "New entry received"
 msgstr "Получена новая запись"
 
-#: ../data/glade/atom_entry_window.glade.h:7
-msgid "Old stories"
-msgstr "Старые записи"
-
-#: ../data/glade/atom_entry_window.glade.h:8
-msgid "Soliloquy"
-msgstr "Монолог"
-
-#: ../data/glade/atom_entry_window.glade.h:9
+#: ../data/glade/atom_entry_window.glade.h:5
 msgid "You have received new entry:"
 msgstr "Получена новая запись:"
 
+#: ../data/glade/blocked_contacts_window.glade.h:1
+msgid "Blocked Contacts"
+msgstr "Заблокированне контакты"
+
 #: ../data/glade/change_password_dialog.glade.h:1
 msgid "Change Password"
 msgstr "Изменить пароль"
@@ -858,10 +957,8 @@ msgid "Join _Group Chat"
 msgstr "Войти в _комнату"
 
 #: ../data/glade/chat_context_menu.glade.h:2
-#: ../data/glade/chat_control_popup_menu.glade.h:4
-#: ../data/glade/gc_occupants_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:10
-msgid "_Add to Roster"
+#: ../data/glade/roster_contact_context_menu.glade.h:12
+msgid "_Add to Roster..."
 msgstr "Добавить в ростер"
 
 #: ../data/glade/chat_context_menu.glade.h:3
@@ -881,7 +978,6 @@ msgid "_Open Link in Browser"
 msgstr "_Просмотреть ссылку в браузере"
 
 #: ../data/glade/chat_context_menu.glade.h:7
-#: ../data/glade/roster_window.glade.h:20
 #: ../data/glade/subscription_request_popup_menu.glade.h:1
 #: ../data/glade/systray_context_menu.glade.h:7
 msgid "_Start Chat"
@@ -892,28 +988,63 @@ msgid "Click to see past conversations with this contact"
 msgstr "Щелкните для просмотра последних бесед с этим человеком"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:2
-#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Invite _Contacts"
+msgstr "Пригласить _участников"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:3
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:4
 msgid "Send _File"
 msgstr "Отправить _файл"
 
-#: ../data/glade/chat_control_popup_menu.glade.h:3
-msgid "Toggle Open_PGP Encryption"
+#: ../data/glade/chat_control_popup_menu.glade.h:4
+#, fuzzy
+msgid "Toggle End to End Encryption"
 msgstr "Включить Open_PGP шифрование"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:5
-#: ../data/glade/gc_control_popup_menu.glade.h:6
-msgid "_Compact View    Alt+C"
-msgstr "_Компактный вид    Alt-C"
+msgid "Toggle Open_PGP Encryption"
+msgstr "Включить Open_PGP шифрование"
 
 #: ../data/glade/chat_control_popup_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:4
+msgid "_Add to Roster"
+msgstr "Добавить в ростер"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:7
 #: ../data/glade/gc_control_popup_menu.glade.h:7
-#: ../data/glade/gc_occupants_menu.glade.h:5
-#: ../data/glade/roster_contact_context_menu.glade.h:13
+#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/roster_window.glade.h:19
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2600
 msgid "_History"
 msgstr "_История"
 
+#: ../data/glade/chat_to_muc_window.glade.h:1
+msgid "In_vite"
+msgstr "_Пригласить"
+
+#: ../data/glade/chat_to_muc_window.glade.h:2
+msgid "Invite Friends !"
+msgstr "Пригласить Друзей !"
+
+#: ../data/glade/chat_to_muc_window.glade.h:3
+msgid "MUC server"
+msgstr "MUC сервер"
+
+#: ../data/glade/chat_to_muc_window.glade.h:4
+msgid "Please select a MUC server."
+msgstr "Пожалуйста выберите сервер"
+
+#: ../data/glade/chat_to_muc_window.glade.h:5
+msgid ""
+"You are going to begin a Multi-User Chat.\n"
+"Select the contacts you want to invite"
+msgstr ""
+"Вы хотите начать чат(Multi-User Chat).\n"
+"Выберите контакты которых вы хотите пригласить"
+
 #: ../data/glade/data_form_window.glade.h:1
 msgid "Fill in the form."
 msgstr "Заполните форму."
@@ -926,6 +1057,14 @@ msgstr "Настройки комнаты"
 msgid "Edit Groups"
 msgstr "Редактировать группы"
 
+#: ../data/glade/features_window.glade.h:2
+msgid "<b>List of possible features in Gajim:</b>"
+msgstr "<b>Список возможных функций Gajim:</b>"
+
+#: ../data/glade/features_window.glade.h:3
+msgid "Features"
+msgstr "Возможности"
+
 #: ../data/glade/filetransfers.glade.h:1
 msgid "A list of active, completed and stopped file transfers"
 msgstr "Список активных, завершенных и остановленных передач файлов"
@@ -959,11 +1098,11 @@ msgid "Remove file transfer from the list."
 msgstr "Удалить передачу из списка."
 
 #: ../data/glade/filetransfers.glade.h:9
-msgid "Removes completed, canceled and failed file transfers from the list"
+msgid "Removes completed, cancelled and failed file transfers from the list"
 msgstr "Удаляет завершеные, отмененные и неудачные передачи из списка"
 
 #: ../data/glade/filetransfers.glade.h:10
-msgid "Shows a list of file transfers between you and other"
+msgid "Shows a list of file transfers between you and others"
 msgstr "Показывает список передач между вами и остальными"
 
 #: ../data/glade/filetransfers.glade.h:11
@@ -978,7 +1117,7 @@ msgstr ""
 msgid "When a file transfer is complete show a popup notification"
 msgstr "Показать уведомление по окончании загрузки"
 
-#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:769
+#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:792
 msgid "_Continue"
 msgstr "_Продолжить"
 
@@ -986,7 +1125,7 @@ msgstr "_Продолжить"
 msgid "_Notify me when a file transfer is complete"
 msgstr "_Уведомить меня, когда передача файлов закончится"
 
-#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:190
+#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:191
 msgid "_Open Containing Folder"
 msgstr "_Открыть папку с принятым файлом"
 
@@ -1012,7 +1151,7 @@ msgstr ""
 "Учетная запись\n"
 "Группа\n"
 "Контакт\n"
-"Заголовок окна беседы"
+"Баннер в окне чата"
 
 #: ../data/glade/gajim_themes_window.glade.h:6
 msgid "Bold"
@@ -1073,11 +1212,11 @@ msgid "_Background:"
 msgstr "Цвет _фона"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:1
-msgid "Change _Nickname"
+msgid "Change _Nickname..."
 msgstr "Изменить _ник"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:2
-msgid "Change _Subject"
+msgid "Change _Subject..."
 msgstr "Изменить _тему"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:3
@@ -1085,46 +1224,58 @@ msgid "Click to see past conversation in this room"
 msgstr "Щелкните для просмотра бесед в этой комнате"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:4
-msgid "Configure _Room"
+msgid "Configure _Room..."
 msgstr "Настроить _комнату"
 
 #: ../data/glade/gc_control_popup_menu.glade.h:5
-msgid "_Bookmark This Room"
+msgid "_Bookmark"
 msgstr "Добавить эту комнату в _закладки"
 
+#: ../data/glade/gc_control_popup_menu.glade.h:6
+msgid "_Destroy Room"
+msgstr "Уничтожить комнату"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:8
+msgid "_Manage Room"
+msgstr "_Управление комнатой"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:9
+msgid "_Minimize on close"
+msgstr "Сворачивать при закрытии"
+
 #: ../data/glade/gc_occupants_menu.glade.h:1
 msgid "Mo_derator"
 msgstr "_Модератор"
 
-#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:2
+msgid "Occupant Actions"
+msgstr "_Действия над посетителем"
+
+#: ../data/glade/gc_occupants_menu.glade.h:5
 msgid "_Admin"
 msgstr "_Админ"
 
-#: ../data/glade/gc_occupants_menu.glade.h:4
+#: ../data/glade/gc_occupants_menu.glade.h:6
 msgid "_Ban"
 msgstr "_Забанить"
 
-#: ../data/glade/gc_occupants_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:8
 msgid "_Kick"
 msgstr "_Выгнать"
 
-#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:9
 msgid "_Member"
 msgstr "_Участник"
 
-#: ../data/glade/gc_occupants_menu.glade.h:8
-msgid "_Occupant Actions"
-msgstr "_Действия над посетителем"
-
-#: ../data/glade/gc_occupants_menu.glade.h:9
+#: ../data/glade/gc_occupants_menu.glade.h:10
 msgid "_Owner"
 msgstr "_Владелец"
 
-#: ../data/glade/gc_occupants_menu.glade.h:10
+#: ../data/glade/gc_occupants_menu.glade.h:11
 msgid "_Send Private Message"
 msgstr "_Отправить личное сообщение"
 
-#: ../data/glade/gc_occupants_menu.glade.h:11
+#: ../data/glade/gc_occupants_menu.glade.h:12
 msgid "_Voice"
 msgstr "_Право говорить"
 
@@ -1132,72 +1283,110 @@ msgstr "_Право говорить"
 msgid "Create new post"
 msgstr "Создать новое сообщение"
 
-#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:259
+#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:280
 msgid "From"
 msgstr "От"
 
 #. holds subject
-#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:141
-#: ../src/history_manager.py:172
+#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:147
+#: ../src/history_manager.py:178
 msgid "Subject"
 msgstr "Тема"
 
 #: ../data/glade/history_manager.glade.h:1
 msgid ""
-"<big><b>Welcome to Gajim History Logs Manager</b></big>\n"
-"\n"
-"You can select logs from the left and/or search database from below.\n"
-"\n"
 "<b>WARNING:</b>\n"
 "If you plan to do massive deletions, please make sure Gajim is not running. "
 "Generally avoid deletions with contacts you currently chat with."
 msgstr ""
-"<big><b>Добро пожаловать в менеджер истории Gajim'а</b></big>\n"
-"\n"
-"Вы можете выбрать логи в левом поле и/или искать в базе данных в форме "
-"внизу. \n"
-"\n"
 "<b>ВНИМАНИЕ:</b>\n"
 "Если вы собираетесь устроить массовую чистку, пожалуйста удостоверьтесь что "
 "Gajim не запущен. Избегайте удалений из логов контактов с которыми вы "
 "разговариваете в этот момент."
 
-#: ../data/glade/history_manager.glade.h:7
+#: ../data/glade/history_manager.glade.h:3
+msgid "<big><b>Welcome to Gajim History Logs Manager</b></big>"
+msgstr "<big><b>Добро пожаловать в менеджер истории Gajim'а</b></big>"
+
+#: ../data/glade/history_manager.glade.h:4
 msgid "Delete"
 msgstr "Удалить"
 
-#: ../data/glade/history_manager.glade.h:8
+#: ../data/glade/history_manager.glade.h:5
 msgid "Export"
 msgstr "Экспорт"
 
-#: ../data/glade/history_manager.glade.h:9
+#: ../data/glade/history_manager.glade.h:6
 msgid "Gajim History Logs Manager"
 msgstr "Менеджер истории Gajim'а"
 
+#: ../data/glade/history_manager.glade.h:7
+msgid ""
+"This log manager is not intended for log viewing. If you are looking for "
+"such functionality, use the history window instead.\n"
+"\n"
+"Use this program to delete or export logs. You can select logs from the left "
+"and/or search database from below."
+msgstr ""
+"Этот менеджер истории не предназначен для просмотра. Если вы хотите "
+"просмативать историю с большим количеством функций, используйте окно "
+"истории.\n"
+"\n"
+"Используйте эту программу для удаления или экспорта истории. Вы можете "
+"выбрать лог слева или воспользоваться поиском в базе."
+
 #: ../data/glade/history_manager.glade.h:10
 msgid "_Search Database"
 msgstr "_Поиск в базе данных"
 
 #: ../data/glade/history_window.glade.h:1
-msgid "Build custom query"
-msgstr "Составить свой запрос"
+msgid "<b>History Viewer</b>"
+msgstr "<b>Менеджер истории</b>"
 
 #: ../data/glade/history_window.glade.h:2
+msgid "<b>JID Selection</b>"
+msgstr "<b>Выбор JID</b>"
+
+#: ../data/glade/history_window.glade.h:3
+msgid ""
+"Choose the chatlog you want to view. \n"
+"Enter the jid of a groupchat or a contact here. For online accounts you can "
+"even enter a a contact's nickname."
+msgstr ""
+"Выберите лог чата который хотите посмотреть. \n"
+"Введите jid чата или контакта. Для онлайн контактов можете ввести ники."
+
+#: ../data/glade/history_window.glade.h:5 ../src/history_window.py:224
 msgid "Conversation History"
 msgstr "История"
 
-#: ../data/glade/history_window.glade.h:3
-msgid "Query Builder..."
-msgstr "Редактор запросов..."
+#: ../data/glade/history_window.glade.h:6
+msgid ""
+"Current History\n"
+"All Chat Histories"
+msgstr ""
+"Текущая история\n"
+"История всех чатов"
 
-#: ../data/glade/history_window.glade.h:4
+#: ../data/glade/history_window.glade.h:8
+#: ../data/glade/search_window.glade.h:2
 msgid "Search"
 msgstr "Поиск"
 
-#: ../data/glade/history_window.glade.h:5
+#: ../data/glade/history_window.glade.h:9
+#: ../data/glade/zeroconf_information_window.glade.h:10
+msgid "_Log conversation history"
+msgstr "_История сообщения"
+
+#: ../data/glade/history_window.glade.h:10
+#: ../data/glade/search_window.glade.h:5 ../src/disco.py:1182
 msgid "_Search"
 msgstr "_Поиск"
 
+#: ../data/glade/history_window.glade.h:11
+msgid "in"
+msgstr "в"
+
 #: ../data/glade/invitation_received_dialog.glade.h:1
 msgid "Accept"
 msgstr "Принять"
@@ -1211,33 +1400,37 @@ msgstr "Отклонить"
 msgid "Invitation Received"
 msgstr "Получено приглашение"
 
-#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1146
+#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1385
 msgid "Join Group Chat"
 msgstr "Войти в комнату"
 
 #: ../data/glade/join_groupchat_window.glade.h:2
-#: ../data/glade/manage_bookmarks_window.glade.h:4
-#: ../data/glade/profile_window.glade.h:23
-#: ../data/glade/vcard_information_window.glade.h:29
-msgid "Nickname:"
-msgstr "Ник:"
+msgid "Join this room automatically when I connect"
+msgstr "Автовход в комнату при подключении"
 
 #: ../data/glade/join_groupchat_window.glade.h:3
 #: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/profile_window.glade.h:24
+#: ../data/glade/vcard_information_window.glade.h:31
+msgid "Nickname:"
+msgstr "Ник:"
+
+#: ../data/glade/join_groupchat_window.glade.h:4
+#: ../data/glade/manage_bookmarks_window.glade.h:6
 msgid "Password:"
 msgstr "Пароль:"
 
-#: ../data/glade/join_groupchat_window.glade.h:4
+#: ../data/glade/join_groupchat_window.glade.h:5
 msgid "Recently:"
 msgstr "Недавно:"
 
-#: ../data/glade/join_groupchat_window.glade.h:5
-#: ../data/glade/manage_bookmarks_window.glade.h:7
+#: ../data/glade/join_groupchat_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:8
 msgid "Room:"
 msgstr "Комната:"
 
-#: ../data/glade/join_groupchat_window.glade.h:6 ../src/disco.py:1151
-#: ../src/disco.py:1518
+#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1170
+#: ../src/disco.py:1591
 msgid "_Join"
 msgstr "_Присоединиться"
 
@@ -1257,15 +1450,19 @@ msgstr "Если отмечено, то Gajim будет входить в ко
 msgid "Manage Bookmarks"
 msgstr "Управление закладками"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:4
+msgid "Minimize on Auto Join"
+msgstr "Сворачивать при авто входе"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:7
 msgid "Print status:"
 msgstr "Показывать статус:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:8
+#: ../data/glade/manage_bookmarks_window.glade.h:9
 msgid "Server:"
 msgstr "Сервер:"
 
-#: ../data/glade/manage_bookmarks_window.glade.h:9
+#: ../data/glade/manage_bookmarks_window.glade.h:10
 msgid "Title:"
 msgstr "Заголовок:"
 
@@ -1278,38 +1475,51 @@ msgid "<b>Settings</b>"
 msgstr "<b>Натройки</b>"
 
 #: ../data/glade/manage_proxies_window.glade.h:3
-msgid "HTTP Connect"
-msgstr "HTTP Соединение"
+msgid ""
+"HTTP Connect\n"
+"SOCKS5"
+msgstr ""
+"HTTP Соединение\n"
+"SOCKS5"
 
-#: ../data/glade/manage_proxies_window.glade.h:4
+#: ../data/glade/manage_proxies_window.glade.h:5
 msgid "Manage Proxy Profiles"
 msgstr "Управление профилями прокси"
 
-#: ../data/glade/manage_proxies_window.glade.h:5
-#: ../data/glade/profile_window.glade.h:22
-#: ../data/glade/vcard_information_window.glade.h:28
+#: ../data/glade/manage_proxies_window.glade.h:6
+#: ../data/glade/profile_window.glade.h:23
+#: ../data/glade/vcard_information_window.glade.h:30
 msgid "Name:"
 msgstr "Имя:"
 
 #: ../data/glade/manage_proxies_window.glade.h:7
+msgid "Pass_word:"
+msgstr "П_ароль"
+
+#: ../data/glade/manage_proxies_window.glade.h:8
 msgid "Type:"
 msgstr "Тип:"
 
-#: ../data/glade/manage_proxies_window.glade.h:8
+#: ../data/glade/manage_proxies_window.glade.h:9
 msgid "Use authentication"
 msgstr "Использовать аутентификацию"
 
+#: ../data/glade/manage_proxies_window.glade.h:10
+msgid "_Host:"
+msgstr "_Хост:"
+
 #: ../data/glade/message_window.glade.h:1
 msgid "Click to insert an emoticon (Alt+M)"
 msgstr "Щелкните, чтобы вставить смайлик (Alt+M)"
 
-#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1104
+#: ../data/glade/message_window.glade.h:2 ../src/chat_control2.py:1257
+#: ../src/chat_control.py:1271
 msgid "OpenPGP Encryption"
 msgstr "Шифрование OpenPGP"
 
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:4
-#: ../data/glade/roster_window.glade.h:10
+#: ../data/glade/roster_window.glade.h:12
 #: ../data/glade/subscription_request_window.glade.h:6
 msgid "_Actions"
 msgstr "_Действия"
@@ -1317,7 +1527,7 @@ msgstr "_Действия"
 #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
 #: ../data/glade/message_window.glade.h:6
 #: ../data/glade/xml_console_window.glade.h:11
-#: ../src/filetransfers_window.py:253
+#: ../src/filetransfers_window.py:252
 msgid "_Send"
 msgstr "_Отправить"
 
@@ -1327,46 +1537,54 @@ msgstr "Парольная фраза"
 
 #: ../data/glade/preferences_window.glade.h:1
 msgid "<b>Advanced Configuration Editor</b>"
-msgstr "<b>Редактор настроек</b>"
+msgstr "<b>Расширенный редактор настроек</b>"
 
 #: ../data/glade/preferences_window.glade.h:2
 msgid "<b>Applications</b>"
 msgstr "<b>Приложения</b>"
 
+#: ../data/glade/preferences_window.glade.h:3
+msgid "<b>Chat Appearance</b>"
+msgstr "<b>Настройки окна чата</b>"
+
 #. a header for custom browser/client/file manager. so translate sth like: Custom Settings
-#: ../data/glade/preferences_window.glade.h:4
+#: ../data/glade/preferences_window.glade.h:5
 msgid "<b>Custom</b>"
 msgstr "<b>Пользовательские настройки</b>"
 
-#: ../data/glade/preferences_window.glade.h:5
+#: ../data/glade/preferences_window.glade.h:6
 msgid "<b>Format of a line</b>"
 msgstr "<b>Формат строки</b>"
 
-#: ../data/glade/preferences_window.glade.h:6
+#: ../data/glade/preferences_window.glade.h:7
 msgid "<b>GMail Options</b>"
 msgstr "<b>Настройки GMail</b>"
 
-#: ../data/glade/preferences_window.glade.h:7
-msgid "<b>Interface Customization</b>"
-msgstr "<b>Настройка интерфейса</b>"
-
 #: ../data/glade/preferences_window.glade.h:9
 msgid "<b>Preset Status Messages</b>"
 msgstr "<b>Предустановленные сообщения о статусе</b>"
 
-#: ../data/glade/preferences_window.glade.h:11
-msgid "<b>Visual Notifications</b>"
+#: ../data/glade/preferences_window.glade.h:10
+msgid "<b>Privacy</b>"
 msgstr "<b>Уведомления</b>"
 
-#: ../data/glade/preferences_window.glade.h:12
-msgid "A_fter nickname:"
-msgstr "П_осле ника:"
+#: ../data/glade/preferences_window.glade.h:11
+msgid "<b>Roster Appearance</b>"
+msgstr "<b>Настройки ростера</b>"
 
 #: ../data/glade/preferences_window.glade.h:13
-msgid "Advanced"
-msgstr "Расширенный"
+msgid "<b>Themes</b>"
+msgstr "<b>Настройки интерфейса</b>"
 
 #: ../data/glade/preferences_window.glade.h:14
+msgid "<b>Visual Notifications</b>"
+msgstr "<b>Уведомления</b>"
+
+#: ../data/glade/preferences_window.glade.h:15
+msgid "Advanced"
+msgstr "Расширенные"
+
+#: ../data/glade/preferences_window.glade.h:16
 msgid ""
 "All chat states\n"
 "Composing only\n"
@@ -1376,43 +1594,48 @@ msgstr ""
 "Только печать\n"
 "Отключено "
 
-#: ../data/glade/preferences_window.glade.h:17
+#: ../data/glade/preferences_window.glade.h:19
 msgid "Allow _OS information to be sent"
 msgstr "Отсылать информацию об _ОС"
 
-#: ../data/glade/preferences_window.glade.h:18
+#: ../data/glade/preferences_window.glade.h:20
 msgid "Allow popup/notifications when I'm _away/na/busy/invisible"
 msgstr "Позволять уведомления в режиме _ушел/недоступен/занят/невидимка"
 
-#: ../data/glade/preferences_window.glade.h:19
-msgid "Also known as iChat style"
-msgstr "В стиле iChat"
+#: ../data/glade/preferences_window.glade.h:21
+msgid "Always check to see if Gajim is the _default Jabber client on startup"
+msgstr ""
+"Всегда проверять при запуске, является ли Gajim jabber-клиентом по-умолчанию"
 
-#: ../data/glade/preferences_window.glade.h:20
+#: ../data/glade/preferences_window.glade.h:22
 msgid ""
 "An example: If you have enabled status message for away, Gajim won't ask you "
 "anymore for a status message when you change your status to away; it will "
 "use the default one set here"
-msgstr "Пример: если вы включили статусные сообщения для режима \"Отошел\", Gajim вас больше не будет спрашивать о статусом сообщении, когда вы смените статус на \"Отошел\", поскольку будет использовать значение по-умолчанию, которое установлено здесь"
+msgstr ""
+"Пример: если вы включили статусные сообщения для режима \"Отошел\", Gajim "
+"вас больше не будет спрашивать о статусом сообщении, когда вы смените статус "
+"на \"Отошел\", поскольку будет использовать значение по-умолчанию, которое "
+"установлено здесь"
 
-#: ../data/glade/preferences_window.glade.h:21
+#: ../data/glade/preferences_window.glade.h:23
 msgid "Ask status message when I:"
 msgstr "Запрашивать сообщение о статусе, когда я: "
 
-#: ../data/glade/preferences_window.glade.h:22
+#: ../data/glade/preferences_window.glade.h:24
 msgid "Auto _away after:"
 msgstr "Авто-_отошел после:"
 
-#: ../data/glade/preferences_window.glade.h:23
+#: ../data/glade/preferences_window.glade.h:25
 msgid "Auto _not available after:"
 msgstr "Авто-_недоступен после:"
 
-#: ../data/glade/preferences_window.glade.h:24
+#: ../data/glade/preferences_window.glade.h:26
 msgid ""
 "Autodetect on every Gajim startup\n"
 "Always use GNOME default applications\n"
 "Always use KDE default applications\n"
-"Always use XFCE4 default applications\n"
+"Always use Xfce default applications\n"
 "Custom"
 msgstr ""
 "Определять автоматически при каждом запуске Gajim\n"
@@ -1421,23 +1644,15 @@ msgstr ""
 "Всегда использовать приложения XFCE4 по умолчанию\n"
 "Другое"
 
-#: ../data/glade/preferences_window.glade.h:29
-msgid "B_efore nickname:"
-msgstr "_До ника:"
-
-#: ../data/glade/preferences_window.glade.h:30 ../src/chat_control.py:844
-msgid "Chat"
-msgstr "Чат"
-
 #: ../data/glade/preferences_window.glade.h:31
 msgid ""
 "Check this option, only if someone you don't have in the roster spams/annoys "
-"you. Use with caution, cause it blocks all messages from any contact that is "
-"not in the roster"
+"you. Use with caution, because it blocks all messages from any contact that "
+"is not in the roster"
 msgstr ""
 "Отметьте эту опцию, только если кто-то не из вашего ростера спамит/достает "
 "вас. Используйте с осторожностью, потому что это заблокирует все сообщения "
-"от контактов не из вашего ротера."
+"от контактов не из вашего роcтера."
 
 #: ../data/glade/preferences_window.glade.h:32
 msgid "Configure color and font of the interface"
@@ -1448,28 +1663,26 @@ msgid "Default Status Messages"
 msgstr "Автоматические статусные сообщения"
 
 #: ../data/glade/preferences_window.glade.h:34
-msgid "Default status _iconset:"
-msgstr "Тема статусных _иконок:"
+msgid ""
+"Determined by sender\n"
+"Chat message\n"
+"Single message"
+msgstr ""
+"Определяется отправителем\n"
+"Сообщение чата\n"
+"Одиночное сообщение"
 
-#: ../data/glade/preferences_window.glade.h:35
+#: ../data/glade/preferences_window.glade.h:37
 msgid "Display _extra email details"
 msgstr "Отображать _дополнительные данные о почте"
 
-#: ../data/glade/preferences_window.glade.h:36
-msgid "Display a_vatars of contacts in roster"
-msgstr "Показавать а_ватары для контактов в ростере"
-
-#: ../data/glade/preferences_window.glade.h:37
-msgid "Display status _messages of contacts in roster"
-msgstr "Показать _сообщения о статусе контакта в ростере"
-
 #: ../data/glade/preferences_window.glade.h:38
-msgid "Displayed Chat state noti_fications:"
-msgstr "Отображать уведомления со_стоянии беседы:"
+msgid "Display a_vatars of contacts in roster"
+msgstr "Показывать а_ватары для контактов в ростере"
 
 #: ../data/glade/preferences_window.glade.h:39
-msgid "E_very 5 minutes"
-msgstr "Каждые 5 _минут"
+msgid "Display status _messages of contacts in roster"
+msgstr "Показывать _сообщения о статусе контакта в ростере"
 
 #: ../data/glade/preferences_window.glade.h:40
 msgid "Emoticons:"
@@ -1486,7 +1699,8 @@ msgid ""
 "display in chat windows."
 msgstr ""
 "Gajim может отсылать и получать метаданные относящиеся к беседе с контактом. "
-"Здесь вы можете указать какие состояние беседы вы хотели бы видеть в окне беседы."
+"Здесь вы можете указать, какие состояние чата вы хотели бы видеть в окне "
+"чата."
 
 #: ../data/glade/preferences_window.glade.h:43
 msgid ""
@@ -1495,32 +1709,10 @@ msgid ""
 "send to the other party."
 msgstr ""
 "Gajim может отсылать и получать метаданные, относящиеся к беседе с "
-"контактом. Здесь вы можете указать, какие состояния беседы клиент будет "
+"контактом. Здесь вы можете указать, какие состояния чата Gajim будет "
 "отсылать вашему респонденту."
 
 #: ../data/glade/preferences_window.glade.h:44
-msgid "Gajim will automatically show new events by poping up the relative window"
-msgstr ""
-"Gajim будет автоматически показывать новые события, поднимая соответствующее "
-"окно."
-
-#: ../data/glade/preferences_window.glade.h:45
-msgid ""
-"Gajim will notify you for new events via a popup in the bottom right of the "
-"screen"
-msgstr ""
-"Gajim будет уведомлять вас о новых событиях с помощью сообщения в правом "
-"нижнем углу экрана"
-
-#: ../data/glade/preferences_window.glade.h:46
-msgid ""
-"Gajim will notify you via a popup window in the bottom right of the screen "
-"about contacts that just signed in"
-msgstr ""
-"Gajim будет уведомлять вас о присоединившемся контакте с помощью сообщения в "
-"правом нижнем углу экрана"
-
-#: ../data/glade/preferences_window.glade.h:47
 msgid ""
 "Gajim will notify you via a popup window in the bottom right of the screen "
 "about contacts that just signed out"
@@ -1528,17 +1720,18 @@ msgstr ""
 "Gajim будет уведомлять вас об отсоединившемся контакте с помощью сообщения в "
 "правом нижнем углу экрана"
 
-#: ../data/glade/preferences_window.glade.h:48
-msgid "Gajim will only change the icon of the contact that triggered the new event"
-msgstr "Gajim будет лишь менять иконку у контакта, от которого пришло новое сообщение"
+#: ../data/glade/preferences_window.glade.h:46
+msgid "Hides buttons in chatwindows to "
+msgstr "Скрывает кнопки окна комнаты."
 
-#: ../data/glade/preferences_window.glade.h:50
+#: ../data/glade/preferences_window.glade.h:47
 msgid ""
 "If checked, Gajim will also include information about the sender of the new "
 "emails"
-msgstr "Если отмечено, то Gajim будет включать информацию об отправителе новых писем."
+msgstr ""
+"Если отмечено, то Gajim будет включать информацию об отправителе новых писем."
 
-#: ../data/glade/preferences_window.glade.h:51
+#: ../data/glade/preferences_window.glade.h:48
 msgid ""
 "If checked, Gajim will display avatars of contacts in roster window and in "
 "group chats"
@@ -1546,7 +1739,7 @@ msgstr ""
 "Если отмечено, то Gajim будет показывать аватары контактов в окне ростера и "
 "в окнах комнат"
 
-#: ../data/glade/preferences_window.glade.h:52
+#: ../data/glade/preferences_window.glade.h:49
 msgid ""
 "If checked, Gajim will display status messages of contacts under the contact "
 "name in roster window and in group chats"
@@ -1554,13 +1747,7 @@ msgstr ""
 "Если отмечено, то Gajim будет отображать сообщение о статусе контакта под "
 "его именем в окне ростера и в окнах комнат"
 
-#: ../data/glade/preferences_window.glade.h:53
-msgid ""
-"If checked, Gajim will remember the roster and chat window positions in the "
-"screen and the sizes of them next time you run it"
-msgstr "Если отмечено, то Gajim запомнит позицию и размер окна ростера"
-
-#: ../data/glade/preferences_window.glade.h:54
+#: ../data/glade/preferences_window.glade.h:50
 msgid ""
 "If checked, Gajim will use protocol-specific status icons. (eg. A contact "
 "from MSN will have the equivalent msn icon for status online, away, busy, "
@@ -1570,7 +1757,7 @@ msgstr ""
 "(например, контакты из MSN будут иметь соответствующие иконки msn для "
 "статусов \"в сети\", \"ушёл\", \"занят\" и т.д.)"
 
-#: ../data/glade/preferences_window.glade.h:55
+#: ../data/glade/preferences_window.glade.h:51
 msgid ""
 "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent "
 "animated or static graphical emoticons"
@@ -1579,15 +1766,15 @@ msgstr ""
 "анимированным эквивалентом. Выберите \"Отключены\", чтобы этого не "
 "происходило."
 
-#: ../data/glade/preferences_window.glade.h:56
+#: ../data/glade/preferences_window.glade.h:52
 msgid "Ignore rich content in incoming messages"
 msgstr "Игнорировать форматирование во входящих сообщениях"
 
-#: ../data/glade/preferences_window.glade.h:57
+#: ../data/glade/preferences_window.glade.h:53
 msgid "Ma_nage..."
 msgstr "_Управление..."
 
-#: ../data/glade/preferences_window.glade.h:58
+#: ../data/glade/preferences_window.glade.h:54
 msgid ""
 "Never\n"
 "Always\n"
@@ -1599,59 +1786,53 @@ msgstr ""
 "По учетной записи\n"
 "По типу"
 
-#: ../data/glade/preferences_window.glade.h:62
-msgid "Notify me about contacts that: "
-msgstr "Уведомлять о контактах, которые: "
+#: ../data/glade/preferences_window.glade.h:58
+msgid "Notify me about contacts that sign _in"
+msgstr "Уведомлять о контактах, которые вошли: "
 
-#: ../data/glade/preferences_window.glade.h:63
+#: ../data/glade/preferences_window.glade.h:59
+msgid "Notify me about contacts that sign _out"
+msgstr "Уведомлять о контактах, которые вышли: "
+
+#: ../data/glade/preferences_window.glade.h:60
 msgid "Notify on new _GMail email"
 msgstr "Сообщать о новых письмах в _Gmail"
 
-#: ../data/glade/preferences_window.glade.h:64
-msgid "On every _message"
-msgstr "В _каждой строке"
-
-#: ../data/glade/preferences_window.glade.h:65
-msgid "One message _window:"
-msgstr "Одно _окно сообщения:"
-
-#: ../data/glade/preferences_window.glade.h:66
-msgid "Outgoing Chat state noti_fications:"
-msgstr "Исходящие у_ведомления о состоянии беседы:"
-
-#: ../data/glade/preferences_window.glade.h:67
+#: ../data/glade/preferences_window.glade.h:61
 msgid "Play _sounds"
 msgstr "Проигрывать _звук"
 
-#: ../data/glade/preferences_window.glade.h:68
+#: ../data/glade/preferences_window.glade.h:62
+msgid ""
+"Pop it up\n"
+"Notify me about it\n"
+"Show only in roster"
+msgstr ""
+"Показать всплывающее окно\n"
+"Сообщить мне об этом\n"
+"Показать в ростере"
+
+#: ../data/glade/preferences_window.glade.h:65
 msgid "Preferences"
 msgstr "Настройки"
 
-#: ../data/glade/preferences_window.glade.h:69
-msgid "Print time:"
-msgstr "Выводить время:"
-
-#: ../data/glade/preferences_window.glade.h:70
-msgid "Save _position and size for roster and chat windows"
-msgstr "Сохранить _положение и размер ростера и окон бесед"
+#: ../data/glade/preferences_window.glade.h:66
+msgid "Privacy"
+msgstr "Личные"
 
-#: ../data/glade/preferences_window.glade.h:71
+#: ../data/glade/preferences_window.glade.h:67
 msgid "Set status message to reflect currently playing _music track"
 msgstr "Отображать в статусном сообщении название проигрываемого трека"
 
-#: ../data/glade/preferences_window.glade.h:72
-msgid "Show only in _roster"
-msgstr "Показывать только в _ростере"
-
-#: ../data/glade/preferences_window.glade.h:73
+#: ../data/glade/preferences_window.glade.h:68
 msgid "Sign _in"
-msgstr "В_ошли"
+msgstr "В_ошел"
 
-#: ../data/glade/preferences_window.glade.h:74
+#: ../data/glade/preferences_window.glade.h:69
 msgid "Sign _out"
-msgstr "В_ышли"
+msgstr "В_ышел"
 
-#: ../data/glade/preferences_window.glade.h:75
+#: ../data/glade/preferences_window.glade.h:70
 msgid ""
 "Some messages may include rich content (formatting, colors etc). If checked, "
 "Gajim will just display the raw message text."
@@ -1659,51 +1840,47 @@ msgstr ""
 "Некоторые сообщения могут содержать форматирование (цвет, шрифт и т.д.). "
 "Если отмечено, Gajim будет отображать только их текст, без форматирования."
 
-#: ../data/glade/preferences_window.glade.h:76
+#: ../data/glade/preferences_window.glade.h:71
 msgid "Status"
 msgstr "Статус"
 
-#: ../data/glade/preferences_window.glade.h:77
+#: ../data/glade/preferences_window.glade.h:72
+msgid "Status _iconset:"
+msgstr "Тема статусных _иконок:"
+
+#: ../data/glade/preferences_window.glade.h:73
 msgid "T_heme:"
 msgstr "_Тема:"
 
-#: ../data/glade/preferences_window.glade.h:78
+#: ../data/glade/preferences_window.glade.h:74
 msgid "The auto away status message"
 msgstr "Сообщение о статусе для авто-отошел"
 
-#: ../data/glade/preferences_window.glade.h:79
+#: ../data/glade/preferences_window.glade.h:75
 msgid "The auto not available status message"
 msgstr "Сообщение о статусе для авто-недоступен"
 
-#: ../data/glade/preferences_window.glade.h:80
+#: ../data/glade/preferences_window.glade.h:76
+msgid "Treat all incoming messages as:"
+msgstr "Входящее сообщение:"
+
+#: ../data/glade/preferences_window.glade.h:77
 msgid "Use _transports iconsets"
 msgstr "Использовать иконки _транспортов"
 
-#: ../data/glade/preferences_window.glade.h:81
+#: ../data/glade/preferences_window.glade.h:78
+msgid "Use only one message _window:"
+msgstr "Только одно окно:"
+
+#: ../data/glade/preferences_window.glade.h:79
 msgid "Use system _default"
 msgstr "Использовать системный шрифт"
 
-#: ../data/glade/preferences_window.glade.h:82
-msgid "Use t_rayicon (aka. notification area icon)"
-msgstr "Иконка в _трее (или в области уведомления)"
-
-#: ../data/glade/preferences_window.glade.h:83
-msgid ""
-"When a new event (message, file transfer request etc..) is received, the "
-"following methods may be used to inform you about it. Please note that "
-"events about new messages only occur if it is a new message from a contact "
-"you are not already chatting with"
-msgstr ""
-"Когда происходит новое событие (приходит сообщение, запрос на передачу файла "
-"и т.д.) могут быть использованы следующие способы сообщения об этом. Учтите "
-"что событие соответствующее новому сообщению, не происходит если вы уже "
-"беседуете с контактом"
-
-#: ../data/glade/preferences_window.glade.h:84
-msgid "When new event is received"
-msgstr "Когда получено новое сообытие"
+#: ../data/glade/preferences_window.glade.h:80
+msgid "When new event is received:"
+msgstr "Когда получено новое сообытие:"
 
-#: ../data/glade/preferences_window.glade.h:85
+#: ../data/glade/preferences_window.glade.h:81
 msgid ""
 "Works for Rhythmbox and Muine players. For more players, please visit http://"
 "trac.gajim.org/wiki/GajimAndMusicPlayer"
@@ -1711,91 +1888,83 @@ msgstr ""
 "Работает с проигрывателями Rhythmbox и Muine. О других проигрывателях см. "
 "http://trac.gajim.org/wiki/GajimAndMusicPlayer"
 
-#: ../data/glade/preferences_window.glade.h:86
+#: ../data/glade/preferences_window.glade.h:82
 msgid "_Advanced Notifications Control..."
 msgstr "_Дополнительные настройки уведомлений..."
 
-#: ../data/glade/preferences_window.glade.h:87
-msgid "_After time:"
-msgstr "_После времени:"
-
-#: ../data/glade/preferences_window.glade.h:88
-msgid "_Before time:"
-msgstr "_До времени:"
-
-#: ../data/glade/preferences_window.glade.h:89
+#: ../data/glade/preferences_window.glade.h:83
 msgid "_Browser:"
 msgstr "_Браузер:"
 
-#: ../data/glade/preferences_window.glade.h:90
+#: ../data/glade/preferences_window.glade.h:84
+msgid "_Display chat state notifications:"
+msgstr "Отображать уведомления о состоянии чата:"
+
+#: ../data/glade/preferences_window.glade.h:85
 msgid "_File manager:"
 msgstr "_Менеджер файлов:"
 
-#: ../data/glade/preferences_window.glade.h:91
+#: ../data/glade/preferences_window.glade.h:86
 msgid "_Font:"
 msgstr "Шри_фт:"
 
-#: ../data/glade/preferences_window.glade.h:92
+#: ../data/glade/preferences_window.glade.h:87
 msgid "_Highlight misspelled words"
 msgstr "Выделять _слова с опечатками"
 
-#: ../data/glade/preferences_window.glade.h:93
+#: ../data/glade/preferences_window.glade.h:88
 msgid "_Ignore events from contacts not in the roster"
 msgstr "_Игнорировать события от контактов не из ростера"
 
-#: ../data/glade/preferences_window.glade.h:94
+#: ../data/glade/preferences_window.glade.h:89
 msgid "_Incoming message:"
 msgstr "_Входящее сообщение:"
 
-#: ../data/glade/preferences_window.glade.h:95
+#: ../data/glade/preferences_window.glade.h:90
 msgid "_Log status changes of contacts"
-msgstr "_Записывать изменения статуса контактов"
+msgstr "_Записывать в лог изменения статусов контактов"
 
-#: ../data/glade/preferences_window.glade.h:96
+#: ../data/glade/preferences_window.glade.h:91
 msgid "_Mail client:"
 msgstr "_Почтовый клиент:"
 
-#: ../data/glade/preferences_window.glade.h:97
-msgid "_Never"
-msgstr "_Никогда"
-
-#: ../data/glade/preferences_window.glade.h:98
-msgid "_Notify me about it"
-msgstr "_Сообщать об этом"
+#: ../data/glade/preferences_window.glade.h:92
+msgid "_Make message windows compact"
+msgstr "Компактное окно сообщений"
 
-#: ../data/glade/preferences_window.glade.h:99
+#: ../data/glade/preferences_window.glade.h:93
 msgid "_Open..."
 msgstr "_Открыть..."
 
-#: ../data/glade/preferences_window.glade.h:100
+#: ../data/glade/preferences_window.glade.h:94
 msgid "_Outgoing message:"
 msgstr "_Исходящее сообщение:"
 
-#: ../data/glade/preferences_window.glade.h:101
+#: ../data/glade/preferences_window.glade.h:95
 msgid "_Player:"
 msgstr "_Проигрыватель:"
 
-#: ../data/glade/preferences_window.glade.h:102
-msgid "_Pop it up"
-msgstr "_Вывести окно"
-
-#: ../data/glade/preferences_window.glade.h:103
+#: ../data/glade/preferences_window.glade.h:96
 msgid "_Reset to Default Colors"
 msgstr "_Вернуться к цветам по умолчанию"
 
-#: ../data/glade/preferences_window.glade.h:104
+#: ../data/glade/preferences_window.glade.h:97
+msgid "_Send chat state notifications:"
+msgstr "Отправлять уведомления о состоянии чата:"
+
+#: ../data/glade/preferences_window.glade.h:98
 msgid "_Sort contacts by status"
 msgstr "_Сортировать контакты по статусу"
 
-#: ../data/glade/preferences_window.glade.h:105
+#: ../data/glade/preferences_window.glade.h:99
 msgid "_Status message:"
 msgstr "_Сообщение о статусе:"
 
-#: ../data/glade/preferences_window.glade.h:106
+#: ../data/glade/preferences_window.glade.h:100
 msgid "_URL:"
 msgstr "_URL:"
 
-#: ../data/glade/preferences_window.glade.h:107
+#: ../data/glade/preferences_window.glade.h:101
 msgid "minutes"
 msgstr "минут"
 
@@ -1839,7 +2008,7 @@ msgstr "JabberID"
 msgid "Order:"
 msgstr "Номер:"
 
-#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:1841
+#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2258
 msgid "Privacy List"
 msgstr "Список доступа"
 
@@ -1892,7 +2061,7 @@ msgstr "Адрес"
 
 #: ../data/glade/profile_window.glade.h:4
 msgid "Avatar:"
-msgstr "Аватара:"
+msgstr "Аватар:"
 
 #: ../data/glade/profile_window.glade.h:5
 #: ../data/glade/vcard_information_window.glade.h:6
@@ -1905,126 +2074,115 @@ msgid "City:"
 msgstr "Город:"
 
 #: ../data/glade/profile_window.glade.h:7
+msgid "Click to set your avatar"
+msgstr "Установить свою аватару"
+
+#: ../data/glade/profile_window.glade.h:8
 #: ../data/glade/vcard_information_window.glade.h:10
 msgid "Company:"
 msgstr "Компания:"
 
-#: ../data/glade/profile_window.glade.h:8
-#: ../data/glade/vcard_information_window.glade.h:13
-msgid "Country:"
-msgstr "Страна:"
-
 #: ../data/glade/profile_window.glade.h:9
 #: ../data/glade/vcard_information_window.glade.h:14
-msgid "Department:"
-msgstr "Отделение:"
+msgid "Country:"
+msgstr "Страна:"
 
 #: ../data/glade/profile_window.glade.h:10
 #: ../data/glade/vcard_information_window.glade.h:15
-#: ../data/glade/zeroconf_information_window.glade.h:2
-#: ../data/glade/zeroconf_properties_window.glade.h:5
-msgid "E-Mail:"
-msgstr "Почта:"
+msgid "Department:"
+msgstr "Отделение:"
 
-#: ../data/glade/profile_window.glade.h:11
-#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/profile_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:17
 msgid "Extra Address:"
 msgstr "Дополнительный адрес:"
 
 #. Family Name
-#: ../data/glade/profile_window.glade.h:13
-#: ../data/glade/vcard_information_window.glade.h:18
+#: ../data/glade/profile_window.glade.h:14
+#: ../data/glade/vcard_information_window.glade.h:19
 msgid "Family:"
 msgstr "Фамилия:"
 
 #. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly)
-#: ../data/glade/profile_window.glade.h:15
-#: ../data/glade/vcard_information_window.glade.h:20
+#: ../data/glade/profile_window.glade.h:16
+#: ../data/glade/vcard_information_window.glade.h:21
 msgid "Format: YYYY-MM-DD"
 msgstr "Формат: YYYY-MM-DD"
 
-#. Given Name
 #: ../data/glade/profile_window.glade.h:17
 #: ../data/glade/vcard_information_window.glade.h:22
+msgid "Full Name"
+msgstr "Имя"
+
+#. Given Name
+#: ../data/glade/profile_window.glade.h:19
+#: ../data/glade/vcard_information_window.glade.h:24
 msgid "Given:"
 msgstr "Имя:"
 
-#: ../data/glade/profile_window.glade.h:18
-#: ../data/glade/vcard_information_window.glade.h:23
+#: ../data/glade/profile_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:25
 msgid "Homepage:"
 msgstr "Веб-страница:"
 
 #. Middle Name
-#: ../data/glade/profile_window.glade.h:20
-#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/profile_window.glade.h:22
+#: ../data/glade/vcard_information_window.glade.h:28
 msgid "Middle:"
 msgstr "Отчество:"
 
-#: ../data/glade/profile_window.glade.h:21
-#: ../data/glade/vcard_information_window.glade.h:27
-msgid "More"
-msgstr "Еще"
-
-#: ../data/glade/profile_window.glade.h:24
-#: ../data/glade/vcard_information_window.glade.h:31
+#: ../data/glade/profile_window.glade.h:25
+#: ../data/glade/vcard_information_window.glade.h:34
 msgid "Personal Info"
 msgstr "Личная информация"
 
-#: ../data/glade/profile_window.glade.h:26
-#: ../data/glade/vcard_information_window.glade.h:32
+#: ../data/glade/profile_window.glade.h:27
+#: ../data/glade/vcard_information_window.glade.h:35
 msgid "Phone No.:"
 msgstr "Телефон:"
 
-#: ../data/glade/profile_window.glade.h:27
-#: ../data/glade/vcard_information_window.glade.h:33
+#: ../data/glade/profile_window.glade.h:28
+#: ../data/glade/vcard_information_window.glade.h:36
 msgid "Position:"
 msgstr "Должность:"
 
-#: ../data/glade/profile_window.glade.h:28
-#: ../data/glade/vcard_information_window.glade.h:34
+#: ../data/glade/profile_window.glade.h:29
+#: ../data/glade/vcard_information_window.glade.h:37
 msgid "Postal Code:"
 msgstr "Индекс:"
 
 #. Prefix in Name
-#: ../data/glade/profile_window.glade.h:30
-#: ../data/glade/vcard_information_window.glade.h:36
+#: ../data/glade/profile_window.glade.h:31
+#: ../data/glade/vcard_information_window.glade.h:39
 msgid "Prefix:"
 msgstr "Префикс:"
 
-#: ../data/glade/profile_window.glade.h:31
-#: ../data/glade/vcard_information_window.glade.h:38 ../src/vcard.py:273
+#: ../data/glade/profile_window.glade.h:32
+#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:307
 msgid "Role:"
 msgstr "Обязанности:"
 
-#: ../data/glade/profile_window.glade.h:32
-#: ../data/glade/vcard_information_window.glade.h:39
+#: ../data/glade/profile_window.glade.h:33
+#: ../data/glade/vcard_information_window.glade.h:42
 msgid "State:"
 msgstr "Штат:"
 
-#: ../data/glade/profile_window.glade.h:33
-#: ../data/glade/vcard_information_window.glade.h:41
+#: ../data/glade/profile_window.glade.h:34
+#: ../data/glade/vcard_information_window.glade.h:44
 msgid "Street:"
 msgstr "Улица:"
 
 #. Suffix in Name
-#: ../data/glade/profile_window.glade.h:35
-#: ../data/glade/vcard_information_window.glade.h:45
+#: ../data/glade/profile_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:48
 msgid "Suffix:"
 msgstr "Суффикс:"
 
-#: ../data/glade/profile_window.glade.h:36
-#: ../data/glade/vcard_information_window.glade.h:46
+#: ../data/glade/profile_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:50
 msgid "Work"
 msgstr "Работа"
 
-#: ../data/glade/profile_window.glade.h:37
-msgid "_Publish"
-msgstr "_Опубликовать"
-
-#: ../data/glade/profile_window.glade.h:38
-msgid "_Retrieve"
-msgstr "_Получить"
-
 #: ../data/glade/remove_account_window.glade.h:1
 msgid "<b>What do you want to do?</b>"
 msgstr "<b>Что вы хотите сделать?</b>"
@@ -2037,136 +2195,179 @@ msgstr "Удалит учетную запись _только из Gajim"
 msgid "Remove account from Gajim and from _server"
 msgstr "Удалить учетную запись из Gajim и с _сервера"
 
+#. Remove
+#. Remove group
+#. Remove
+#: ../data/glade/remove_account_window.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../src/roster_window.py:2557 ../src/roster_window.py:2767
+#: ../src/roster_window.py:2903
+msgid "_Remove"
+msgstr "_Удалить"
+
 #: ../data/glade/roster_contact_context_menu.glade.h:1
 msgid "A_sk to see his/her status"
 msgstr "Попросить возможность видеть его или её статус"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:2
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
-msgid "Add Special _Notification"
+msgid "Add Special _Notification..."
 msgstr "Добавить специальное _уведомление"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:3
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
-msgid "Assign Open_PGP Key"
+msgid "Assign Open_PGP Key..."
 msgstr "Назначить OpenPGP ключ"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:4
-#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
-#: ../src/roster_window.py:1993
-msgid "Edit _Groups"
+msgid "Edit _Groups..."
 msgstr "Редактировать группы"
 
+#. Execute Command
 #: ../data/glade/roster_contact_context_menu.glade.h:5
-#: ../src/roster_window.py:2128
+#: ../src/roster_window.py:2860
 msgid "Execute Command..."
 msgstr "Выполнить команду..."
 
+#. Invite to Groupchat
 #: ../data/glade/roster_contact_context_menu.glade.h:6
-#: ../src/roster_window.py:1951
+#: ../src/roster_window.py:2473
 msgid "In_vite to"
 msgstr "_Пригласить в"
 
+#. Send Custom Status
 #: ../data/glade/roster_contact_context_menu.glade.h:7
-#: ../data/glade/systray_context_menu.glade.h:2
-msgid "Send Single _Message"
-msgstr "Отправить _сообщение"
+#: ../src/roster_window.py:2697 ../src/roster_window.py:2831
+msgid "Send Cus_tom Status"
+msgstr "Установить статус"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Send Single _Message..."
+msgstr "Отправить одиночное _сообщение..."
 
 #: ../data/glade/roster_contact_context_menu.glade.h:9
+msgid "Send _File..."
+msgstr "Отправить _файл..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:10
+msgid "Set Custom _Avatar..."
+msgstr "Установить _аватар..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:11
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:5
 msgid "Start _Chat"
-msgstr "Начать _чат"
+msgstr "Начать _беседу"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:11
+#: ../data/glade/roster_contact_context_menu.glade.h:13
 msgid "_Allow him/her to see my status"
 msgstr "Позволить ему или ей видеть мой статус"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:12
-msgid "_Forbid him/her to see my status"
-msgstr "Запретить ему или ей видеть мой статус"
-
-#. Remove group
 #: ../data/glade/roster_contact_context_menu.glade.h:14
-#: ../src/roster_window.py:1945 ../src/roster_window.py:2042
-#: ../src/roster_window.py:2149
-msgid "_Remove from Roster"
-msgstr "_Удалить из ростера"
+#: ../src/roster_window.py:2547 ../src/roster_window.py:2758
+msgid "_Block"
+msgstr "_Блокировать"
 
 #: ../data/glade/roster_contact_context_menu.glade.h:15
+msgid "_Forbid him/her to see my status"
+msgstr "Запретить ему или ей видеть мой статус"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:17
 #: ../data/glade/zeroconf_contact_context_menu.glade.h:7
-#: ../src/roster_window.py:2137
-msgid "_Rename"
+msgid "_Manage Contact"
+msgstr "Управление контактом"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:19
+msgid "_Rename..."
 msgstr "П_ереименовать"
 
-#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/roster_contact_context_menu.glade.h:20
 msgid "_Subscription"
 msgstr "_Подписка"
 
+#: ../data/glade/roster_contact_context_menu.glade.h:21
+#: ../src/roster_window.py:2541 ../src/roster_window.py:2752
+msgid "_Unblock"
+msgstr "_Разблокировать"
+
 #: ../data/glade/roster_window.glade.h:1
 msgid "A_ccounts"
 msgstr "Учётные записи"
 
 #: ../data/glade/roster_window.glade.h:2
-msgid "Add _Contact"
-msgstr "Добавить _контакт"
+msgid "Add _Contact..."
+msgstr "_Добавить контакт..."
 
 #: ../data/glade/roster_window.glade.h:3
+msgid "Fea_tures"
+msgstr "Возможности"
+
+#: ../data/glade/roster_window.glade.h:4
 msgid "File _Transfers"
 msgstr "_Передачи"
 
-#: ../data/glade/roster_window.glade.h:4
+#: ../data/glade/roster_window.glade.h:5
 msgid "Frequently Asked Questions (online)"
-msgstr "Часто задаваемые вопросы (в сети)"
+msgstr "Часто задаваемые вопросы (онлайн)"
 
-#: ../data/glade/roster_window.glade.h:6
+#: ../data/glade/roster_window.glade.h:7
 msgid "Help online"
 msgstr "Помощь онлайн"
 
-#: ../data/glade/roster_window.glade.h:7
+#: ../data/glade/roster_window.glade.h:9
 msgid "Profile, A_vatar"
-msgstr "Профиль и аватара"
+msgstr "Профиль и аватар"
 
-#: ../data/glade/roster_window.glade.h:8
+#: ../data/glade/roster_window.glade.h:10
 msgid "Show Trans_ports"
 msgstr "Показать транспорты"
 
-#: ../data/glade/roster_window.glade.h:9
+#: ../data/glade/roster_window.glade.h:11
 msgid "Show _Offline Contacts"
 msgstr "Показать _отключенных"
 
-#: ../data/glade/roster_window.glade.h:12
+#: ../data/glade/roster_window.glade.h:14
 msgid "_Contents"
 msgstr "_Содержание"
 
-#: ../data/glade/roster_window.glade.h:13
-msgid "_Discover Services"
-msgstr "_Просмотреть сервисы"
-
-#: ../data/glade/roster_window.glade.h:14 ../src/disco.py:1256
-#: ../src/roster_window.py:2120
+#: ../data/glade/roster_window.glade.h:16 ../src/disco.py:1324
 msgid "_Edit"
 msgstr "_Правка"
 
-#: ../data/glade/roster_window.glade.h:15
+#: ../data/glade/roster_window.glade.h:17
 msgid "_FAQ"
 msgstr "_ЧаВО"
 
-#: ../data/glade/roster_window.glade.h:17
+#: ../data/glade/roster_window.glade.h:18
 msgid "_Help"
 msgstr "_Помощь"
 
-#: ../data/glade/roster_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:20
 msgid "_Preferences"
 msgstr "_Настройки"
 
-#: ../data/glade/roster_window.glade.h:19
+#: ../data/glade/roster_window.glade.h:21
 msgid "_Quit"
 msgstr "_Выйти"
 
-#: ../data/glade/roster_window.glade.h:21
+#: ../data/glade/roster_window.glade.h:22
+msgid "_Send Single Message..."
+msgstr "Отправить одиночное _сообщение..."
+
+#: ../data/glade/roster_window.glade.h:24
 msgid "_View"
 msgstr "_Вид"
 
+#: ../data/glade/search_window.glade.h:1
+msgid "Please wait while retrieving search form..."
+msgstr "Получаю форму поиска. Подождите..."
+
+#: ../data/glade/search_window.glade.h:3
+msgid "_Add contact"
+msgstr "Добавить _контакт"
+
+#. Information
+#: ../data/glade/search_window.glade.h:4 ../src/roster_window.py:2915
+msgid "_Information"
+msgstr "Информация о контакте"
+
 #: ../data/glade/service_discovery_window.glade.h:1
 msgid "G_o"
 msgstr "_Вперед"
@@ -2175,10 +2376,6 @@ msgstr "_Вперед"
 msgid "_Address:"
 msgstr "_Адрес:"
 
-#: ../data/glade/service_discovery_window.glade.h:3
-msgid "_Filter:"
-msgstr "_Фильтр:"
-
 #: ../data/glade/service_registration_window.glade.h:1
 msgid "Register to"
 msgstr "Зарегистрировать в"
@@ -2236,11 +2433,13 @@ msgid "Au_thorize"
 msgstr "А_вторизовать"
 
 #: ../data/glade/subscription_request_window.glade.h:2
-msgid "Authorize contact so he can know when you're connected"
+msgid "Authorize contact so he or she can know when you're connected"
 msgstr "Авторизовать контакт (он будет видеть ваш статус)"
 
 #: ../data/glade/subscription_request_window.glade.h:3
-msgid "Deny authorization from contact so he cannot know when you're connected"
+msgid ""
+"Deny authorization from contact so he or she cannot know when you're "
+"connected"
 msgstr "Отклонить авторизацию от контакта (Он не сможет видеть ваш статус)"
 
 #: ../data/glade/subscription_request_window.glade.h:4
@@ -2251,10 +2450,32 @@ msgstr "Запрос подписки"
 msgid "_Deny"
 msgstr "_Отклонить"
 
+#: ../data/glade/synchronise_contacts_dialog.glade.h:1
+#, fuzzy
+msgid "Select the account with which to synchronise"
+msgstr "Выберите аккаунт для объединения"
+
+#: ../data/glade/synchronise_select_account_dialog.glade.h:1
+msgid "Select the account with which you want to synchronise"
+msgstr "Выберите аккаунт для объединения"
+
+#: ../data/glade/synchronise_select_contacts_dialog.glade.h:1
+#, fuzzy
+msgid "Select the contacts you want to synchronise"
+msgstr "JID контакта, с которым вы хотели бы побеседовать"
+
+#: ../data/glade/synchronise_select_contacts_dialog.glade.h:2
+msgid "Synchronise : select contacts"
+msgstr "Синхронизация : выберите контакт"
+
 #: ../data/glade/systray_context_menu.glade.h:1
 msgid "Mute Sounds"
 msgstr "Выключить звук"
 
+#: ../data/glade/systray_context_menu.glade.h:2
+msgid "Send Single _Message"
+msgstr "Отправить _сообщение"
+
 #: ../data/glade/systray_context_menu.glade.h:3
 msgid "Show All Pending _Events"
 msgstr "Показать непросмотренные _события"
@@ -2267,6 +2488,10 @@ msgstr "Показать _ростер"
 msgid "Sta_tus"
 msgstr "Ста_тус"
 
+#: ../data/glade/systray_context_menu.glade.h:6
+msgid "_Group Chat"
+msgstr "_Комната"
+
 #. Given Name
 #: ../data/glade/vcard_information_window.glade.h:5
 msgid "Ask:"
@@ -2281,43 +2506,44 @@ msgid "Comments"
 msgstr "Комментарии"
 
 #: ../data/glade/vcard_information_window.glade.h:11
+msgid "Configured avatar:"
+msgstr "Настроить _аватар:"
+
+#: ../data/glade/vcard_information_window.glade.h:12
 #: ../data/glade/zeroconf_information_window.glade.h:1
 msgid "Contact"
 msgstr "Контакт"
 
-#: ../data/glade/vcard_information_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:13
 msgid "Contact Information"
 msgstr "Информация о контакте"
 
-#: ../data/glade/vcard_information_window.glade.h:24
-#: ../data/glade/zeroconf_information_window.glade.h:4
-#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:416
-msgid "Jabber ID:"
-msgstr "Jabber ID:"
+#: ../data/glade/vcard_information_window.glade.h:29
+msgid "More"
+msgstr "Еще"
 
-#: ../data/glade/vcard_information_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:33
 msgid "OS:"
 msgstr "ОС:"
 
-#: ../data/glade/vcard_information_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:40
 #: ../data/glade/zeroconf_information_window.glade.h:8
 msgid "Resource:"
 msgstr "Ресурс:"
 
-#: ../data/glade/vcard_information_window.glade.h:40
+#: ../data/glade/vcard_information_window.glade.h:43
 #: ../data/glade/zeroconf_information_window.glade.h:9
 msgid "Status:"
 msgstr "Статус:"
 
 #. Family Name
-#: ../data/glade/vcard_information_window.glade.h:43
+#: ../data/glade/vcard_information_window.glade.h:46
 msgid "Subscription:"
 msgstr "Подписка:"
 
-#: ../data/glade/vcard_information_window.glade.h:47
-#: ../data/glade/zeroconf_information_window.glade.h:10
-msgid "_Log conversation history"
-msgstr "_История сообщения"
+#: ../data/glade/vcard_information_window.glade.h:49
+msgid "User avatar:"
+msgstr "Аватар:"
 
 #: ../data/glade/xml_console_window.glade.h:1
 msgid "<b>Jabber Traffic</b>"
@@ -2327,11 +2553,6 @@ msgstr "<b>Jabber Траффик</b>"
 msgid "<b>XML Input</b>"
 msgstr "<b>XML Ввод</b>"
 
-#. XML Console enable checkbutton
-#: ../data/glade/xml_console_window.glade.h:4
-msgid "Enable"
-msgstr "Включить"
-
 #. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem)
 #: ../data/glade/xml_console_window.glade.h:6
 msgid "Info/Query"
@@ -2350,15 +2571,29 @@ msgstr "_Сообщение"
 msgid "_Presence"
 msgstr "_Присутствие"
 
-#: ../data/glade/zeroconf_information_window.glade.h:3
-#: ../data/glade/zeroconf_properties_window.glade.h:6
-msgid "First Name:"
-msgstr "Имя:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
+msgid "Add Special _Notification"
+msgstr "Добавить специальное _уведомление"
 
-#: ../data/glade/zeroconf_information_window.glade.h:5
-#: ../data/glade/zeroconf_properties_window.glade.h:14
-msgid "Last Name:"
-msgstr "Фамилия:"
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
+msgid "Assign Open_PGP Key"
+msgstr "Назначить OpenPGP ключ"
+
+#. Edit Groups
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
+#: ../src/roster_window.py:2530
+msgid "Edit _Groups"
+msgstr "Редактировать группы"
+
+#. Rename
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:8
+#: ../src/roster_window.py:2887
+msgid "_Rename"
+msgstr "П_ереименовать"
+
+#: ../data/glade/zeroconf_context_menu.glade.h:1
+msgid "_Modify Account..."
+msgstr "_Изменить учетную запись..."
 
 #: ../data/glade/zeroconf_information_window.glade.h:6
 msgid "Local jid:"
@@ -2368,211 +2603,288 @@ msgstr "Локальный JID:"
 msgid "Personal"
 msgstr "Личная информация"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:11
-msgid ""
-"If the default port that is used for incoming messages is unfitting for your "
-"setup you can select another one here.\n"
-"You might consider to change possible firewall settings."
-msgstr ""
-"Если порт по умолчанию, который используется для входящих сообщения вас не устраивает, вы можете выбрать другой.\n"
-"Так же возможно придется изменить некоторые настройки брандмауэра."
-
 #: ../data/glade/zeroconf_properties_window.glade.h:15
 msgid "Modify Account"
 msgstr "Редактировать учетную запись"
 
-#: ../data/glade/zeroconf_properties_window.glade.h:21
-msgid "Use custom port:"
-msgstr "Другой порт"
+#. For i18n
+#: ../src/advanced.py:56
+#, fuzzy
+msgid "Activated"
+msgstr "Активен"
+
+#: ../src/advanced.py:56
+#, fuzzy
+msgid "Deactivated"
+msgstr "Неактивен"
+
+#: ../src/advanced.py:58
+msgid "Boolean"
+msgstr ""
+
+#: ../src/advanced.py:59
+msgid "Integer"
+msgstr ""
 
-#: ../src/advanced.py:57
+#: ../src/advanced.py:60
+msgid "Text"
+msgstr ""
+
+#: ../src/advanced.py:61
+msgid "Color"
+msgstr ""
+
+#: ../src/advanced.py:70
 msgid "Preference Name"
 msgstr "Название опции"
 
-#: ../src/advanced.py:63
+#: ../src/advanced.py:76
 msgid "Value"
 msgstr "Значение"
 
-#: ../src/advanced.py:72
+#: ../src/advanced.py:84
 msgid "Type"
 msgstr "Тип"
 
 #. we talk about option description in advanced configuration editor
-#: ../src/advanced.py:128
+#: ../src/advanced.py:140
 msgid "(None)"
 msgstr "(Нет)"
 
 #. we talk about password
-#: ../src/advanced.py:227
+#: ../src/advanced.py:243
 msgid "Hidden"
 msgstr "Скрытый"
 
 #. the next script, executed in the "po" directory,
 #. generates the following list.
 #. #!/bin/sh
-#. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
+#. LANG=$(for i in *.po; do j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
 #. echo "{_('en'):'en'",$LANG"}"
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "English"
 msgstr "Английский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
+msgid "Belarusian"
+msgstr "Беларусский"
+
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Bulgarian"
 msgstr "Болгарский"
 
-#: ../src/chat_control.py:52
-msgid "Briton"
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
+#, fuzzy
+msgid "Breton"
 msgstr "Бриттский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Czech"
 msgstr "Чешский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "German"
 msgstr "Немецкий"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Greek"
 msgstr "Греческий"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
+msgid "British"
+msgstr "Британский"
+
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Esperanto"
 msgstr "Эсперанто"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Spanish"
 msgstr "Испанский"
 
-#: ../src/chat_control.py:52
-msgid "Basc"
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
+#, fuzzy
+msgid "Basque"
 msgstr "Баскский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "French"
 msgstr "Французский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Croatian"
 msgstr "Хорватский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Italian"
 msgstr "Итальянский"
 
-#: ../src/chat_control.py:52
-msgid "Norvegian b"
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
+msgid "Norwegian (b)"
 msgstr "Норвежский b"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Dutch"
 msgstr "Голландский"
 
-#: ../src/chat_control.py:52
-msgid "Norvegian"
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
+msgid "Norwegian"
 msgstr "Норвежский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Polish"
 msgstr "Польский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Portuguese"
 msgstr "Португальский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Brazilian Portuguese"
 msgstr "Португальский (Бразилия)"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Russian"
 msgstr "Русский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
+msgid "Serbian"
+msgstr "Сербский"
+
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Slovak"
 msgstr "Словацкий"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Swedish"
 msgstr "Шведский"
 
-#: ../src/chat_control.py:52
+#: ../src/chat_control2.py:60 ../src/chat_control.py:60
 msgid "Chinese (Ch)"
 msgstr "Китайский"
 
-#: ../src/chat_control.py:201 ../src/dialogs.py:1497
-msgid ""
-"If that is not your language for which you want to highlight misspelled "
-"words, then please set your $LANG as appropriate. Eg. for French do export "
-"LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to make it "
-"global in /etc/profile.\n"
-"\n"
-"Highlighting misspelled words feature will not be used"
-msgstr ""
-"Если этот язык не является тем языком, для которого вы хотели бы видеть "
-"проверку орфографии, то установите нужное значение в переменную окружения "
-"$LANG. Например, для русского: export LANG=ru_RU или export LANG=ru_RU.UTF-8 "
-"в ~/.bash_profile, либо же, если вы хотите сделать эту установку системной, "
-"то добавьте то же самое в /etc/profile \n"
-"\n"
-"Выделение слов с опечатками выключено"
-
-#: ../src/chat_control.py:239
+#: ../src/chat_control2.py:310 ../src/chat_control.py:313
 msgid "Spelling language"
 msgstr "Язык проверки орфографии"
 
 #. we are not connected
-#: ../src/chat_control.py:262 ../src/chat_control.py:468
+#: ../src/chat_control2.py:333 ../src/chat_control2.py:549
+#: ../src/chat_control.py:336 ../src/chat_control.py:559
 msgid "A connection is not available"
 msgstr "Подключение недоступно"
 
-#: ../src/chat_control.py:263 ../src/chat_control.py:469
+#: ../src/chat_control2.py:334 ../src/chat_control2.py:550
+#: ../src/chat_control.py:337 ../src/chat_control.py:560
 msgid "Your message can not be sent until you are connected."
 msgstr "Ваше сообщение не может быть отправлено, пока вы не подключитесь."
 
-#: ../src/chat_control.py:844
-msgid "Chats"
-msgstr "Чаты"
-
-#: ../src/chat_control.py:1030
+#: ../src/chat_control2.py:1176 ../src/chat_control.py:1186
 #, python-format
 msgid "%(nickname)s from group chat %(room_name)s"
 msgstr "%(nickname)s из комнаты %(room_name)s"
 
 #. we talk about a contact here
-#: ../src/chat_control.py:1118
+#: ../src/chat_control2.py:1271 ../src/chat_control.py:1285
 #, python-format
 msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
 msgstr "%s не выдал OpenPGP ключ или вы не присвоили ему такового"
 
-#: ../src/chat_control.py:1254
+#: ../src/chat_control2.py:1314 ../src/chat_control.py:1328
+#: ../src/groupchat_control.py:1437
+#, python-format
+msgid "No such command: /%s (if you want to send this, prefix it with /say)"
+msgstr ""
+"Нет такой команды: /%s (если вы хотите её просто передать, то добавьте к ней "
+"префикс /say)"
+
+#: ../src/chat_control2.py:1321 ../src/chat_control.py:1335
+#: ../src/groupchat_control.py:1460
+#, python-format
+msgid "Commands: %s"
+msgstr "Команды: %s"
+
+#: ../src/chat_control2.py:1324 ../src/chat_control.py:1338
+#: ../src/groupchat_control.py:1474
+#, python-format
+msgid "Usage: /%s, clears the text window."
+msgstr "Использование: /%s, очищает текстовое окно."
+
+#: ../src/chat_control2.py:1327 ../src/chat_control.py:1341
+#: ../src/groupchat_control.py:1479
+#, python-format
+msgid "Usage: /%s, hide the chat buttons."
+msgstr "Использование: /%s, скрывает кнопки беседы."
+
+#: ../src/chat_control2.py:1330 ../src/chat_control.py:1344
+#: ../src/groupchat_control.py:1495
+#, python-format
+msgid ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+msgstr ""
+"Использование: /%s <действие>, совершает действие в текущей комнате. "
+"Используйте третье лицо (например, «/%s взрывается».)"
+
+#: ../src/chat_control2.py:1334 ../src/chat_control.py:1348
+#, python-format
+msgid "Usage: /%s, sends a ping to the contact"
+msgstr "Использование: /%s, посылает пинг контакту"
+
+#: ../src/chat_control2.py:1337 ../src/chat_control.py:1351
+#, python-format
+msgid "Usage: /%s, send the message to the contact"
+msgstr "Использование: /%s, посылает сообщение контакту"
+
+#: ../src/chat_control2.py:1340 ../src/chat_control.py:1354
+#: ../src/groupchat_control.py:1518
+#, python-format
+msgid "No help info for /%s"
+msgstr "Нет подсказки для /%s"
+
+#: ../src/chat_control2.py:1478 ../src/chat_control2.py:1504
+#: ../src/chat_control.py:1492 ../src/chat_control.py:1518
 msgid "Encryption enabled"
 msgstr "Шифрование включено"
 
-#: ../src/chat_control.py:1259
+#: ../src/chat_control2.py:1483 ../src/chat_control.py:1497
+msgid "Session WILL be logged"
+msgstr "Сессия БУДЕТ сохранена в истории"
+
+#: ../src/chat_control2.py:1485 ../src/chat_control.py:1499
+msgid "Session WILL NOT be logged"
+msgstr "Сессия НЕ БУДЕТ сохранена в истории"
+
+#: ../src/chat_control2.py:1492 ../src/chat_control.py:1506
+msgid "The following message was NOT encrypted"
+msgstr "Последующее сообщение НЕБЫЛО зашифровано"
+
+#: ../src/chat_control2.py:1496 ../src/chat_control2.py:1509
+#: ../src/chat_control2.py:2155 ../src/chat_control.py:1510
+#: ../src/chat_control.py:1523 ../src/chat_control.py:2169
 msgid "Encryption disabled"
 msgstr "Шифрование отключено"
 
 #. add_to_roster_menuitem
-#: ../src/chat_control.py:1401 ../src/conversation_textview.py:495
-#: ../src/dialogs.py:629 ../src/gajim.py:781 ../src/gajim.py:782
-#: ../src/gajim.py:1121 ../src/roster_window.py:328
-#: ../src/roster_window.py:404 ../src/roster_window.py:1638
-#: ../src/roster_window.py:1819 ../src/roster_window.py:2392
-#: ../src/roster_window.py:2596 ../src/roster_window.py:2607
-#: ../src/roster_window.py:3832 ../src/roster_window.py:3834
-#: ../src/common/contacts.py:73 ../src/common/helpers.py:42
-#: ../src/common/helpers.py:246
+#: ../src/chat_control2.py:1672 ../src/chat_control.py:1686
+#: ../src/conversation_textview.py:705 ../src/dialogs.py:732
+#: ../src/gajim.py:911 ../src/gajim.py:912 ../src/gajim.py:1440
+#: ../src/gajim.py:1691 ../src/roster_window.py:358
+#: ../src/roster_window.py:442 ../src/roster_window.py:1822
+#: ../src/roster_window.py:1832 ../src/roster_window.py:2072
+#: ../src/roster_window.py:2308 ../src/roster_window.py:3158
+#: ../src/roster_window.py:3397 ../src/roster_window.py:4759
+#: ../src/roster_window.py:4761 ../src/common/contacts.py:89
+#: ../src/common/helpers.py:53 ../src/common/helpers.py:267
 msgid "Not in Roster"
 msgstr "Не в ростере"
 
 #. %s is being replaced in the code with JID
-#: ../src/chat_control.py:1545
+#: ../src/chat_control2.py:1825 ../src/chat_control.py:1839
 #, python-format
 msgid "You just received a new message from \"%s\""
 msgstr "Вы получили новое сообщение от \"%s\""
 
-#: ../src/chat_control.py:1546
+#: ../src/chat_control2.py:1826 ../src/chat_control.py:1840
 msgid ""
 "If you close this tab and you have history disabled, this message will be "
 "lost."
@@ -2580,29 +2892,33 @@ msgstr ""
 "Если вы закроете эту вкладку и у вас отключена функция ведения истории "
 "сообщений, то это сообщение будет утеряно."
 
-#: ../src/config.py:135 ../src/config.py:594
+#: ../src/config.py:127 ../src/config.py:565
 msgid "Disabled"
 msgstr "Отключены"
 
-#: ../src/config.py:221
-#, python-format
-msgid "Every %s _minutes"
-msgstr "Каждые %s _минут"
-
-#: ../src/config.py:363
+#: ../src/config.py:293
 msgid "Active"
 msgstr "Активен"
 
-#: ../src/config.py:371
+#: ../src/config.py:301
 msgid "Event"
 msgstr "Событие"
 
-#: ../src/config.py:685 ../src/gajim.py:2142
+#: ../src/config.py:407
+msgid "Always use OS/X default applications"
+msgstr "Всегда использовать приложения OS/X по умолчанию"
+
+#: ../src/config.py:408
+#, fuzzy
+msgid "Custom"
+msgstr "<b>Пользовательские настройки</b>"
+
+#: ../src/config.py:638 ../src/dialogs.py:1018
 #, python-format
 msgid "Dictionary for lang %s not available"
 msgstr "Нет словаря для языка %s"
 
-#: ../src/config.py:686 ../src/gajim.py:2143
+#: ../src/config.py:639
 #, python-format
 msgid ""
 "You have to install %s dictionary to use spellchecking, or choose another "
@@ -2611,71 +2927,106 @@ msgstr ""
 "Чтобы воспользоваться проверкой правописания, установите словарь для языка %"
 "s или выберите другой язык, исправив настройку speller_language."
 
-#: ../src/config.py:1038
+#: ../src/config.py:1001
 msgid "status message title"
 msgstr "заголовок сообщения сервера"
 
-#: ../src/config.py:1038
+#: ../src/config.py:1001
 msgid "status message text"
 msgstr "текст сообщения сервера"
 
-#: ../src/config.py:1073
+#: ../src/config.py:1037
 msgid "First Message Received"
 msgstr "Получено первое сообщение"
 
-#: ../src/config.py:1074
+#: ../src/config.py:1038
 msgid "Next Message Received"
 msgstr "Получено следующее сообщение"
 
-#: ../src/config.py:1075
+#: ../src/config.py:1039
 msgid "Contact Connected"
 msgstr "Контакт подключился"
 
-#: ../src/config.py:1076
+#: ../src/config.py:1040
 msgid "Contact Disconnected"
 msgstr "Контакт отключился"
 
-#: ../src/config.py:1077
+#: ../src/config.py:1041
 msgid "Message Sent"
 msgstr "Сообщение отправлено"
 
-#: ../src/config.py:1078
+#: ../src/config.py:1042
 msgid "Group Chat Message Highlight"
 msgstr "Вас упомянули в комнате"
 
-#: ../src/config.py:1079
+#: ../src/config.py:1043
 msgid "Group Chat Message Received"
 msgstr "Получено сообщение в комнате"
 
-#: ../src/config.py:1086
+#: ../src/config.py:1050
 msgid "GMail Email Received"
 msgstr "Получено письмо на Gmail"
 
-#: ../src/config.py:1289
+#. Name column
+#: ../src/config.py:1315 ../src/dialogs.py:1517 ../src/dialogs.py:1581
+#: ../src/disco.py:743 ../src/disco.py:1535 ../src/disco.py:1781
+#: ../src/history_window.py:113
+msgid "Name"
+msgstr "Имя"
+
+#: ../src/config.py:1421 ../src/common/config.py:394
+msgid "Be right back."
+msgstr "Скоро буду."
+
+#: ../src/config.py:1425
+msgid "Relogin now?"
+msgstr "Переподключиться сейчас?"
+
+#: ../src/config.py:1426
+msgid "If you want all the changes to apply instantly, you must relogin."
+msgstr ""
+"Если вы хотите чтобы изменения были применены немедленно, вы должны "
+"переподключиться."
+
+#: ../src/config.py:1522 ../src/config.py:1613
 msgid "OpenPGP is not usable in this computer"
 msgstr "Невозможно использовать OpenPGP"
 
-#: ../src/config.py:1335
+#: ../src/config.py:1649 ../src/config.py:1690
+msgid "Unread events"
+msgstr "Непросмотренные события"
+
+#: ../src/config.py:1650
+msgid "Read all pending events before removing this account."
+msgstr "Просмотрите все ожидающие события перед удалением учетной записи."
+
+#: ../src/config.py:1676
+#, python-format
+msgid "You have opened chat in account %s"
+msgstr "У вас есть окна чата под учётной записью %s"
+
+#: ../src/config.py:1677
+msgid "All chat and groupchat windows will be closed. Do you want to continue?"
+msgstr "Все окна чатов и комнат будут закрыты. Продолжить?"
+
+#: ../src/config.py:1686
 msgid "You are currently connected to the server"
 msgstr "Вы сейчас подсоединены к серверу"
 
-#: ../src/config.py:1336
+#: ../src/config.py:1687
 msgid "To change the account name, you must be disconnected."
 msgstr "Для смены имени учетной записи необходимо отключиться."
 
-#: ../src/config.py:1339 ../src/config.py:1931
-msgid "Unread events"
-msgstr "Непросмотренные события"
-
-#: ../src/config.py:1340
+#: ../src/config.py:1691
 msgid "To change the account name, you must read all pending events."
-msgstr "Для смены имени учетной записи необходимо просмотреть ожидающие события."
+msgstr ""
+"Для смены имени учетной записи необходимо просмотреть ожидающие события."
 
-#: ../src/config.py:1344
+#: ../src/config.py:1697
 msgid "Account Name Already Used"
 msgstr "Такое имя учетной записи уже используется"
 
-#: ../src/config.py:1345
+#: ../src/config.py:1698
 msgid ""
 "This name is already used by another of your accounts. Please choose another "
 "name."
@@ -2683,175 +3034,147 @@ msgstr ""
 "Это имя уже используется в другой вашей учетной записи. Пожалуйста, выберите "
 "другое."
 
-#: ../src/config.py:1349 ../src/config.py:1353
+#: ../src/config.py:1702 ../src/config.py:1706
 msgid "Invalid account name"
 msgstr "Неверное имя учетной записи"
 
-#: ../src/config.py:1350
+#: ../src/config.py:1703
 msgid "Account name cannot be empty."
 msgstr "Имя учетной записи не может быть пустым."
 
-#: ../src/config.py:1354
+#: ../src/config.py:1707
 msgid "Account name cannot contain spaces."
 msgstr "Имя учетной записи не может содержать пробелы."
 
-#: ../src/config.py:1362 ../src/config.py:1368 ../src/config.py:1378
-#: ../src/config.py:3036
+#: ../src/config.py:1771
+msgid "Rename Account"
+msgstr "Переименовать учетную запись"
+
+#: ../src/config.py:1772
+#, python-format
+msgid "Enter a new name for account %s"
+msgstr "Введите новое название для учетной записи %s"
+
+#: ../src/config.py:1790 ../src/config.py:1798 ../src/config.py:1838
+#: ../src/config.py:3052 ../src/dataforms_widget.py:533
 msgid "Invalid Jabber ID"
 msgstr "Неверный Jabber ID"
 
-#: ../src/config.py:1369
+#: ../src/config.py:1799
 msgid "A Jabber ID must be in the form \"user@servername\"."
 msgstr "Jabber ID должен иметь формат \"имя_пользователя@сервер\"."
 
-#: ../src/config.py:1428
+#: ../src/config.py:1985 ../src/config.py:3124
 msgid "Invalid entry"
 msgstr "Неверная запись"
 
-#: ../src/config.py:1429
+#: ../src/config.py:1986 ../src/config.py:3125
 msgid "Custom port must be a port number."
 msgstr "В качестве номера порта должно выступать число"
 
-#: ../src/config.py:1555 ../src/common/config.py:363
-msgid "Be right back."
-msgstr "Скоро буду."
+#: ../src/config.py:2007
+msgid "Failed to get secret keys"
+msgstr "Не удалось получить секретный ключ"
 
-#: ../src/config.py:1565
-msgid "Relogin now?"
-msgstr "Переподключиться сейчас?"
+#: ../src/config.py:2008
+msgid "There was a problem retrieving your OpenPGP secret keys."
+msgstr "Возникла проблема с получением вашего секретного ключа OpenPGP."
 
-#: ../src/config.py:1566
-msgid "If you want all the changes to apply instantly, you must relogin."
-msgstr ""
-"Если вы хотите чтобы изменения были применены немедленно, вы должны "
-"переподключиться."
+#: ../src/config.py:2011
+msgid "OpenPGP Key Selection"
+msgstr "Выбор ключа OpenPGP"
+
+#: ../src/config.py:2012
+msgid "Choose your OpenPGP key"
+msgstr "Выберите свой ключ OpenPGP"
 
-#: ../src/config.py:1592
+#: ../src/config.py:2052
 msgid "No such account available"
 msgstr "Такая учетная запись недоступна"
 
-#: ../src/config.py:1593
+#: ../src/config.py:2053
 msgid "You must create your account before editing your personal information."
 msgstr ""
 "Перед редактированием личных данных необходимо сначала создать учетную "
 "запись."
 
-#: ../src/config.py:1600 ../src/dialogs.py:1128 ../src/dialogs.py:1297
-#: ../src/disco.py:417 ../src/profile_window.py:307
-#: ../src/profile_window.py:373
+#: ../src/config.py:2060 ../src/dialogs.py:1364 ../src/dialogs.py:1505
+#: ../src/dialogs.py:1685 ../src/disco.py:427 ../src/profile_window.py:318
 msgid "You are not connected to the server"
 msgstr "Вы не подключены к серверу"
 
-#: ../src/config.py:1601
+#: ../src/config.py:2061
 msgid "Without a connection, you can not edit your personal information."
-msgstr "Чтобы отредактировать личную информацию, нужно подсоединиться к серверу."
+msgstr ""
+"Чтобы отредактировать личную информацию, нужно подсоединиться к серверу."
 
-#: ../src/config.py:1605
+#: ../src/config.py:2065
 msgid "Your server doesn't support Vcard"
 msgstr "Сервер не поддерживает Vcard"
 
-#: ../src/config.py:1606
+#: ../src/config.py:2066
 msgid "Your server can't save your personal information."
 msgstr "Ваш сервер не может хранить личную информацию."
 
-#: ../src/config.py:1630 ../src/config.py:3423
-msgid "Failed to get secret keys"
-msgstr "Не удалось получить секретный ключ"
-
-#: ../src/config.py:1631 ../src/config.py:3424
-msgid "There was a problem retrieving your OpenPGP secret keys."
-msgstr "Возникла проблема с получением вашего секретного ключа OpenPGP."
-
-#: ../src/config.py:1634 ../src/config.py:3427
-msgid "OpenPGP Key Selection"
-msgstr "Выбор ключа OpenPGP"
-
-#: ../src/config.py:1635 ../src/config.py:3428
-msgid "Choose your OpenPGP key"
-msgstr "Выберите свой ключ OpenPGP"
-
-#. Name column
-#: ../src/config.py:1865 ../src/disco.py:741 ../src/disco.py:1467
-#: ../src/disco.py:1705 ../src/history_window.py:78
-msgid "Name"
-msgstr "Имя"
-
-#: ../src/config.py:1868
-msgid "Server"
-msgstr "Сервер"
-
-#: ../src/config.py:1932
-msgid "Read all pending events before removing this account."
-msgstr "Просмотрите все ожидающие события перед удалением учетной записи."
-
-#: ../src/config.py:1969
-#, python-format
-msgid "You have opened chat in account %s"
-msgstr "У вас есть окна чата под учётной записью %s"
-
-#: ../src/config.py:1970
-msgid "All chat and groupchat windows will be closed. Do you want to continue?"
-msgstr "Все окна чатов и комнат будут закрыты. Продолжить?"
-
-#: ../src/config.py:2029
+#: ../src/config.py:2097
 msgid "Account Local already exists."
 msgstr "Учётная запись Local уже существует."
 
-#: ../src/config.py:2030
+#: ../src/config.py:2098
 msgid "Please rename or remove it before enabling link-local messaging."
 msgstr "Переименуйте или удалите её, прежде чем включать локальные сообщения."
 
-#: ../src/config.py:2262
+#: ../src/config.py:2277
 #, python-format
 msgid "Edit %s"
 msgstr "Править %s"
 
-#: ../src/config.py:2264
+#: ../src/config.py:2279
 #, python-format
 msgid "Register to %s"
 msgstr "Зарегистрировать %s"
 
-#. list at the begining
-#: ../src/config.py:2336
+#. list at the beginning
+#: ../src/config.py:2315
 msgid "Ban List"
 msgstr "Черный список"
 
-#: ../src/config.py:2337
+#: ../src/config.py:2316
 msgid "Member List"
 msgstr "Список участников"
 
-#: ../src/config.py:2338
+#: ../src/config.py:2317
 msgid "Owner List"
 msgstr "Список владельцев"
 
-#: ../src/config.py:2339
+#: ../src/config.py:2318
 msgid "Administrator List"
 msgstr "Список администрираторов"
 
 #. Address column
 #. holds JID (who said this)
-#: ../src/config.py:2372 ../src/disco.py:748 ../src/history_manager.py:154
+#: ../src/config.py:2367 ../src/disco.py:750 ../src/history_manager.py:160
 msgid "JID"
 msgstr "JID"
 
-#: ../src/config.py:2380
+#: ../src/config.py:2375
 msgid "Reason"
 msgstr "Причина"
 
-#: ../src/config.py:2385
+#: ../src/config.py:2380
 msgid "Nick"
 msgstr "Ник"
 
-#: ../src/config.py:2389
+#: ../src/config.py:2384
 msgid "Role"
 msgstr "Обязанность"
 
-#: ../src/config.py:2410
+#: ../src/config.py:2409
 msgid "Banning..."
 msgstr "Баню..."
 
 #. You can move '\n' before user@domain if that line is TOO BIG
-#: ../src/config.py:2412
+#: ../src/config.py:2411
 msgid ""
 "<b>Whom do you want to ban?</b>\n"
 "\n"
@@ -2859,11 +3182,11 @@ msgstr ""
 "<b>Кого вы хотите забанить?</b>\n"
 "\n"
 
-#: ../src/config.py:2414
+#: ../src/config.py:2413
 msgid "Adding Member..."
 msgstr "Добавляю участника..."
 
-#: ../src/config.py:2415
+#: ../src/config.py:2414
 msgid ""
 "<b>Whom do you want to make a member?</b>\n"
 "\n"
@@ -2871,23 +3194,23 @@ msgstr ""
 "<b>Кого вы хотите сделать участником?</b>\n"
 "\n"
 
-#: ../src/config.py:2417
+#: ../src/config.py:2416
 msgid "Adding Owner..."
 msgstr "Добавляю владельца..."
 
-#: ../src/config.py:2418
+#: ../src/config.py:2417
 msgid ""
-"<b>Whom do you want to make a owner?</b>\n"
+"<b>Whom do you want to make an owner?</b>\n"
 "\n"
 msgstr ""
 "<b>Кого вы хотите сделать владельцем?</b>\n"
 "\n"
 
-#: ../src/config.py:2420
+#: ../src/config.py:2419
 msgid "Adding Administrator..."
 msgstr "Добавляю администратора..."
 
-#: ../src/config.py:2421
+#: ../src/config.py:2420
 msgid ""
 "<b>Whom do you want to make an administrator?</b>\n"
 "\n"
@@ -2895,7 +3218,7 @@ msgstr ""
 "<b>Кого вы хотите сделать администратором?</b>\n"
 "\n"
 
-#: ../src/config.py:2422
+#: ../src/config.py:2421
 msgid ""
 "Can be one of the following:\n"
 "1. user@domain/resource (only that resource matches).\n"
@@ -2911,121 +3234,137 @@ msgstr ""
 "4. domain (сам домен, т.е. как любое сочетание user@domain,\n"
 "domain/resource, так и адрес, содержащий этот поддомен)"
 
-#: ../src/config.py:2527
+#: ../src/config.py:2525
 #, python-format
 msgid "Removing %s account"
 msgstr "Удаление учетной записи %s"
 
-#: ../src/config.py:2544 ../src/roster_window.py:2665
+#: ../src/config.py:2540 ../src/gajim.py:1344 ../src/roster_window.py:3455
 msgid "Password Required"
 msgstr "Требуется пароль"
 
-#: ../src/config.py:2545 ../src/roster_window.py:2666
+#: ../src/config.py:2541 ../src/roster_window.py:3451
 #, python-format
 msgid "Enter your password for account %s"
 msgstr "Введите пароль для учетной записи %s"
 
-#: ../src/config.py:2546 ../src/roster_window.py:2667
+#: ../src/config.py:2542 ../src/roster_window.py:3456
 msgid "Save password"
 msgstr "Сохранить пароль"
 
-#: ../src/config.py:2560
+#: ../src/config.py:2555
 #, python-format
 msgid "Account \"%s\" is connected to the server"
 msgstr "Учетная запись \"%s\" подключена к серверу"
 
-#: ../src/config.py:2561
+#: ../src/config.py:2556
 msgid "If you remove it, the connection will be lost."
 msgstr "Если вы удалите его, произойдет отключение."
 
-#: ../src/config.py:2645
+#: ../src/config.py:2649
 msgid "Default"
 msgstr "По умолчанию"
 
-#: ../src/config.py:2645
+#: ../src/config.py:2649
 msgid "?print_status:All"
 msgstr "Все"
 
-#: ../src/config.py:2646
+#: ../src/config.py:2650
 msgid "Enter and leave only"
 msgstr "Только приход и уход"
 
-#: ../src/config.py:2716
+#: ../src/config.py:2651
+msgid "?print_status:None"
+msgstr ""
+
+#: ../src/config.py:2720
 msgid "New Group Chat"
 msgstr "Новая комната"
 
-#: ../src/config.py:2748
+#: ../src/config.py:2753
 msgid "This bookmark has invalid data"
 msgstr "Эта закладка содержит неверные данные"
 
-#: ../src/config.py:2749
-msgid "Please be sure to fill out server and room fields or remove this bookmark."
+#: ../src/config.py:2754
+msgid ""
+"Please be sure to fill out server and room fields or remove this bookmark."
 msgstr ""
 "Пожалуйста, удостоверьтесь, что заполнены поля с именем сервера и комнаты, "
 "либо удалите эту закладку."
 
-#: ../src/config.py:3011
+#: ../src/config.py:3035
 msgid "Invalid username"
 msgstr "Неверное имя пользователя"
 
-#: ../src/config.py:3012
+#: ../src/config.py:3037
 msgid "You must provide a username to configure this account."
 msgstr "Для настройки учетной записи необходимо ввести имя пользователя."
 
-#: ../src/config.py:3022 ../src/dialogs.py:1316
-msgid "Invalid password"
-msgstr "Неверный пароль"
-
-#: ../src/config.py:3023
-msgid "You must enter a password for the new account."
-msgstr "Необходимо ввести пароль для новой учетной записи."
-
-#: ../src/config.py:3027 ../src/dialogs.py:1321
-msgid "Passwords do not match"
-msgstr "Пароли не совпадают"
-
-#: ../src/config.py:3028 ../src/dialogs.py:1322
-msgid "The passwords typed in both fields must be identical."
-msgstr "Пароли, введенные в оба поля, должны быть одинаковы."
-
-#: ../src/config.py:3047
+#: ../src/config.py:3063
 msgid "Duplicate Jabber ID"
 msgstr "Дублирующийся Jabber ID"
 
-#: ../src/config.py:3048
+#: ../src/config.py:3064
 msgid "This account is already configured in Gajim."
 msgstr "Этот контакт уже настроен в Gajim."
 
-#: ../src/config.py:3065
+#: ../src/config.py:3081
 msgid "Account has been added successfully"
 msgstr "Учетная запись успешно добавлена"
 
-#: ../src/config.py:3066 ../src/config.py:3101
+#: ../src/config.py:3082 ../src/config.py:3255
 msgid ""
-"You can set advanced account options by pressing Advanced button, or later "
-"by clicking in Accounts menuitem under Edit menu from the main window."
+"You can set advanced account options by pressing the Advanced button, or "
+"later by choosing the Accounts menuitem under the Edit menu from the main "
+"window."
 msgstr ""
 "Учетная запись была успешно добавлена. \n"
-"Вы можете настроить ее используя \n"
-"\"Настройка->Учетные записи\" из главного окна."
+" Вы можете дополнительно ее настроить используя \n"
+"\"Настройка - >Учетные записи\" из главного окна."
 
 #: ../src/config.py:3100
-msgid "Your new account has been created successfully"
-msgstr "Ваша новая учетная запись успешно создана"
+msgid "Invalid server"
+msgstr "Неверный сервер"
+
+#: ../src/config.py:3101
+msgid "Please provide a server on which you want to register."
+msgstr "Пожалуйста, укажите сервер на котором Вы хотите зарегистрироваться."
+
+#: ../src/config.py:3211
+#, python-format
+msgid ""
+"<b>Security Warning</b>\n"
+"\n"
+"The authenticity of the %s SSL certificate could be invalid.\n"
+"SSL Error: %s\n"
+"Do you still want to connect to this server?"
+msgstr ""
+
+#: ../src/config.py:3216 ../src/gajim.py:2181
+#, python-format
+msgid ""
+"Add this certificate to the list of trusted certificates.\n"
+"SHA1 fingerprint of the certificate:\n"
+"%s"
+msgstr ""
 
-#: ../src/config.py:3118
-msgid "An error occured during account creation"
+#: ../src/config.py:3234 ../src/config.py:3273
+msgid "An error occurred during account creation"
 msgstr "Произошла ошибка при создании учетной записи"
 
-#: ../src/config.py:3176
+#: ../src/config.py:3254
+msgid "Your new account has been created successfully"
+msgstr "Ваша новая учетная запись успешно создана"
+
+#: ../src/config.py:3357
 msgid "Account name is in use"
 msgstr "Такое имя учетной записи уже используется"
 
-#: ../src/config.py:3177
+#: ../src/config.py:3358
 msgid "You already have an account using this name."
 msgstr "У вас уже есть учетная запись с таким именем."
 
-#: ../src/conversation_textview.py:273
+#: ../src/conversation_textview.py:454
 msgid ""
 "Text below this line is what has been said since the last time you paid "
 "attention to this group chat"
@@ -3033,518 +3372,604 @@ msgstr ""
 "Текст под этой линией был сказан после того, как вы последний раз "
 "заглядывали в эту комнату"
 
-#: ../src/conversation_textview.py:342
+#: ../src/conversation_textview.py:552
 #, python-format
 msgid "_Actions for \"%s\""
 msgstr "_Действия для \"%s\""
 
-#: ../src/conversation_textview.py:354
+#: ../src/conversation_textview.py:564
 msgid "Read _Wikipedia Article"
 msgstr "Смотреть статью в _Wikipedia"
 
-#: ../src/conversation_textview.py:359
+#: ../src/conversation_textview.py:569
 msgid "Look it up in _Dictionary"
 msgstr "Искать в _словаре"
 
 #. we must have %s in the url if not WIKTIONARY
-#: ../src/conversation_textview.py:375
+#: ../src/conversation_textview.py:585
 #, python-format
 msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
 msgstr "URL словаря пропущен в \"%s\" и это не WIKTIONARY"
 
 #. we must have %s in the url
-#: ../src/conversation_textview.py:388
+#: ../src/conversation_textview.py:598
 #, python-format
 msgid "Web Search URL is missing an \"%s\""
 msgstr "URL Web-поиска отсутствует в \"%s\""
 
-#: ../src/conversation_textview.py:391
+#: ../src/conversation_textview.py:601
 msgid "Web _Search for it"
 msgstr "_Поиск по Web"
 
-#: ../src/conversation_textview.py:397
+#: ../src/conversation_textview.py:607
 msgid "Open as _Link"
 msgstr "Открыть как ссылку"
 
-#: ../src/conversation_textview.py:757
+#: ../src/conversation_textview.py:1073
 msgid "Yesterday"
 msgstr "Вчера"
 
 #. the number is >= 2
 #. %i is day in year (1-365), %d (1-31) we want %i
-#: ../src/conversation_textview.py:761
+#: ../src/conversation_textview.py:1077
 #, python-format
 msgid "%i days ago"
 msgstr "%i дней назад"
 
 #. if we have subject, show it too!
-#: ../src/conversation_textview.py:793
+#: ../src/conversation_textview.py:1111
 #, python-format
 msgid "Subject: %s\n"
 msgstr "Тема: %s\n"
 
-#: ../src/dialogs.py:59
+#: ../src/dataforms_widget.py:537
+msgid "Jabber ID already in list"
+msgstr "Jabber ID уже в списке"
+
+#: ../src/dataforms_widget.py:538
+msgid "The Jabber ID you entered is already in the list. Choose another one."
+msgstr "Jabber ID который вы ввели существует.Пожалуйста выберите другой."
+
+#. Default jid
+#: ../src/dataforms_widget.py:549
+msgid "new@jabber.id"
+msgstr ""
+
+#: ../src/dataforms_widget.py:552 ../src/dataforms_widget.py:554
+#, python-format
+msgid "new%d@jabber.id"
+msgstr ""
+
+#: ../src/dialogs.py:71
 #, python-format
 msgid "Contact name: <i>%s</i>"
 msgstr "Имя контакта: <i>%s</i>"
 
-#: ../src/dialogs.py:61
+#: ../src/dialogs.py:73
 #, python-format
 msgid "Jabber ID: <i>%s</i>"
 msgstr "Jabber ID: <i>%s</i>"
 
-#: ../src/dialogs.py:211
+#: ../src/dialogs.py:223
 msgid "Group"
 msgstr "Группа"
 
-#: ../src/dialogs.py:218
+#: ../src/dialogs.py:230
 msgid "In the group"
 msgstr "В группе"
 
-#: ../src/dialogs.py:269
+#: ../src/dialogs.py:330
 msgid "KeyID"
 msgstr "KeyID"
 
-#: ../src/dialogs.py:272
+#: ../src/dialogs.py:335
 msgid "Contact name"
 msgstr "Имя контакта"
 
-#: ../src/dialogs.py:318
+#: ../src/dialogs.py:381
 #, python-format
 msgid "%s Status Message"
 msgstr "Сообщение о статусе %s"
 
-#: ../src/dialogs.py:320
+#: ../src/dialogs.py:383
 msgid "Status Message"
 msgstr "Сообщение о статусе"
 
-#: ../src/dialogs.py:395
+#: ../src/dialogs.py:483
 msgid "Save as Preset Status Message"
 msgstr "Сохранить установленное сообщение о статусе"
 
-#: ../src/dialogs.py:396
+#: ../src/dialogs.py:484
 msgid "Please type a name for this status message"
 msgstr "Введите имя для этого сообщения о статусе"
 
-#: ../src/dialogs.py:417
+#: ../src/dialogs.py:495
+msgid "Overwrite Status Message?"
+msgstr "Изменить сообщение о статусе?"
+
+#: ../src/dialogs.py:496
+msgid ""
+"This name is already used. Do you want to overwrite this status message?"
+msgstr "Это имя уже используется. Перезаписать это статусное сообщение?"
+
+#: ../src/dialogs.py:512
 msgid "AIM Address:"
 msgstr "Адрес AIM:"
 
-#: ../src/dialogs.py:418
+#: ../src/dialogs.py:513
 msgid "GG Number:"
 msgstr "Номер GaduGadu"
 
-#: ../src/dialogs.py:419
+#: ../src/dialogs.py:514
 msgid "ICQ Number:"
 msgstr "Номер ICQ:"
 
-#: ../src/dialogs.py:420
+#: ../src/dialogs.py:515
 msgid "MSN Address:"
 msgstr "Адрес в MSN:"
 
-#: ../src/dialogs.py:421
+#: ../src/dialogs.py:516
 msgid "Yahoo! Address:"
 msgstr "Адрес Yahoo:"
 
-#: ../src/dialogs.py:457
+#: ../src/dialogs.py:553
 #, python-format
 msgid "Please fill in the data of the contact you want to add in account %s"
 msgstr ""
 "Пожалуйста, заполните данные о контакте,\n"
 "который хотите добавить в ростер учетной записи %s"
 
-#: ../src/dialogs.py:459
+#: ../src/dialogs.py:555
 msgid "Please fill in the data of the contact you want to add"
 msgstr "Пожалуйста, заполните данные о контакте, который вы хотите добавить"
 
-#: ../src/dialogs.py:609 ../src/dialogs.py:615
+#: ../src/dialogs.py:712 ../src/dialogs.py:718
 msgid "Invalid User ID"
 msgstr "Неверный ID пользователя"
 
-#: ../src/dialogs.py:616
+#: ../src/dialogs.py:719
 msgid "The user ID must not contain a resource."
 msgstr "ID пользователя не должен содержать ресурс."
 
-#: ../src/dialogs.py:630
+#: ../src/dialogs.py:733
 msgid "Contact already in roster"
 msgstr "Контакт уже в ростере"
 
-#: ../src/dialogs.py:631
+#: ../src/dialogs.py:734
 msgid "This contact is already listed in your roster."
 msgstr "Этот контакт уже содержится в вашем ростере."
 
-#: ../src/dialogs.py:665
+#: ../src/dialogs.py:770
 msgid "User ID:"
 msgstr "ID пользователя:"
 
-#: ../src/dialogs.py:728
+#: ../src/dialogs.py:832
 msgid "A GTK+ jabber client"
 msgstr "Jabber-клиент на GTK+"
 
-#: ../src/dialogs.py:729
+#: ../src/dialogs.py:833
 msgid "GTK+ Version:"
 msgstr "Версия GTK+:"
 
-#: ../src/dialogs.py:730
+#: ../src/dialogs.py:834
 msgid "PyGTK Version:"
 msgstr "Версия PyGTK:"
 
-#: ../src/dialogs.py:744
+#: ../src/dialogs.py:848
 msgid "Current Developers:"
 msgstr "Разработчики:"
 
-#: ../src/dialogs.py:746
+#: ../src/dialogs.py:850
 msgid "Past Developers:"
 msgstr "Разработчики прошлых версий:"
 
-#: ../src/dialogs.py:756
+#: ../src/dialogs.py:860
 msgid "THANKS:"
 msgstr "БЛАГОДАРНОСТИ:"
 
 #. remove one english sentence
 #. and add it manually as translatable
-#: ../src/dialogs.py:762
+#: ../src/dialogs.py:866
 msgid "Last but not least, we would like to thank all the package maintainers."
 msgstr "И наконец, мы хотели бы поблагодарить всех мейнтейнеров пакетов."
 
 #. here you write your name in the form Name FamilyName <someone@somewhere>
-#: ../src/dialogs.py:776
+#: ../src/dialogs.py:879
 msgid "translator-credits"
 msgstr ""
 "Яков Безруков <nebulam51@gmail.com>\n"
-"Александр Мыльцев <avm@altlinux.org>"
+"Александр Мыльцев <avm@altlinux.org>\n"
+"Олег Стадник <mail@lokee.rv.ua>\n"
+"Денис Фомин <fominde@mail.ru>"
 
-#: ../src/dialogs.py:906
+#: ../src/dialogs.py:1011
 #, python-format
 msgid "Unable to bind to port %s."
 msgstr "Не могу привязаться к порту %s."
 
-#: ../src/dialogs.py:907
+#: ../src/dialogs.py:1012
 msgid ""
 "Maybe you have another running instance of Gajim. File Transfer will be "
-"canceled."
-msgstr "Возможно, запущен ещё один экземпляр Gajim. Передача файлов будет отменена."
+"cancelled."
+msgstr ""
+"Возможно, запущен ещё один экземпляр Gajim. Передача файлов будет отменена."
+
+#: ../src/dialogs.py:1019
+#, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option.\n"
+"\n"
+"Highlighting misspelled words feature will not be used"
+msgstr ""
+"Чтобы воспользоваться проверкой правописания, установите словарь для языка %"
+"s или выберите другой язык, исправив настройку speller_language."
 
-#: ../src/dialogs.py:1058
+#: ../src/dialogs.py:1293
 #, python-format
 msgid "Subscription request for account %s from %s"
 msgstr "Запрос на подписку для учетной записи %s от %s"
 
-#: ../src/dialogs.py:1061
+#: ../src/dialogs.py:1296
 #, python-format
 msgid "Subscription request from %s"
 msgstr "Запрос на подписку от %s"
 
-#: ../src/dialogs.py:1121 ../src/roster_window.py:681
+#: ../src/dialogs.py:1357 ../src/roster_window.py:776
 #, python-format
 msgid "You are already in group chat %s"
 msgstr "Вы уже в комнате %s"
 
-#: ../src/dialogs.py:1129
+#: ../src/dialogs.py:1365
 msgid "You can not join a group chat unless you are connected."
 msgstr "Вы не можете зайти в комнату без подключения."
 
-#: ../src/dialogs.py:1144
+#: ../src/dialogs.py:1383
 #, python-format
 msgid "Join Group Chat with account %s"
 msgstr "Войти в комнату с учетной записи %s"
 
-#: ../src/dialogs.py:1212 ../src/dialogs.py:1218
+#: ../src/dialogs.py:1453 ../src/dialogs.py:1459
+#: ../src/groupchat_control.py:1698
 msgid "Invalid group chat Jabber ID"
 msgstr "Неверное имя комнаты"
 
-#: ../src/dialogs.py:1213 ../src/dialogs.py:1219
+#: ../src/dialogs.py:1454 ../src/dialogs.py:1460
+#: ../src/groupchat_control.py:1699
 msgid "The group chat Jabber ID has not allowed characters."
 msgstr "В Jabber ID комнаты или сервера содержатся недопустимые символы."
 
-#: ../src/dialogs.py:1225
+#: ../src/dialogs.py:1466
 msgid "This is not a group chat"
 msgstr "Это не комната"
 
-#: ../src/dialogs.py:1226
+#: ../src/dialogs.py:1467
 #, python-format
 msgid "%s is not the name of a group chat."
 msgstr "%s не является именем комнаты."
 
-#: ../src/dialogs.py:1248
+#: ../src/dialogs.py:1506
+msgid "Without a connection, you can not synchronise your contacts."
+msgstr "Чтобы объединить контакты, необходимо подсоединиться к серверу."
+
+#: ../src/dialogs.py:1520
+msgid "Server"
+msgstr "Сервер"
+
+#: ../src/dialogs.py:1553
+msgid "This account is not connected to the server"
+msgstr "Аккаунт не подключен к серверу"
+
+#: ../src/dialogs.py:1554
+#, fuzzy
+msgid "You cannot synchronize with an account unless it is connected."
+msgstr "Вы не можете зайти в комнату без подключения."
+
+#: ../src/dialogs.py:1578
+msgid "Synchronise"
+msgstr ""
+
+#: ../src/dialogs.py:1636
 #, python-format
 msgid "Start Chat with account %s"
-msgstr "Начать беседу с учетной записью %s"
+msgstr "Начать чат с учетной записью %s"
 
-#: ../src/dialogs.py:1250
+#: ../src/dialogs.py:1638
 msgid "Start Chat"
-msgstr "Начать беседу"
+msgstr "Начать чат"
 
-#: ../src/dialogs.py:1251
+#: ../src/dialogs.py:1639
 msgid ""
 "Fill in the nickname or the Jabber ID of the contact you would like\n"
 "to send a chat message to:"
-msgstr "Введите ник или ID пользователя, которому вы хотите отправить сообщение:"
+msgstr ""
+"Введите ник или ID пользователя, которому вы хотите отправить сообщение:"
 
 #. if offline or connecting
-#: ../src/dialogs.py:1276 ../src/dialogs.py:1635 ../src/dialogs.py:1764
+#: ../src/dialogs.py:1664 ../src/dialogs.py:2040 ../src/dialogs.py:2181
 msgid "Connection not available"
 msgstr "Соединение невозможно"
 
-#: ../src/dialogs.py:1277 ../src/dialogs.py:1636 ../src/dialogs.py:1765
+#: ../src/dialogs.py:1665 ../src/dialogs.py:2041 ../src/dialogs.py:2182
 #, python-format
 msgid "Please make sure you are connected with \"%s\"."
 msgstr "Пожалуйста, удостоверьтесь, что вы подключены к \"%s\"."
 
-#: ../src/dialogs.py:1286 ../src/dialogs.py:1289
+#: ../src/dialogs.py:1674 ../src/dialogs.py:1677
 msgid "Invalid JID"
 msgstr "Неверный JID"
 
-#: ../src/dialogs.py:1289
+#: ../src/dialogs.py:1677
 #, python-format
 msgid "Unable to parse \"%s\"."
 msgstr "Не понимаю адреса \"%s\"."
 
-#: ../src/dialogs.py:1298
+#: ../src/dialogs.py:1686
 msgid "Without a connection, you can not change your password."
 msgstr "Чтобы изменить пароль, необходимо подсоединиться к серверу."
 
-#: ../src/dialogs.py:1317
+#: ../src/dialogs.py:1704
+msgid "Invalid password"
+msgstr "Неверный пароль"
+
+#: ../src/dialogs.py:1705
 msgid "You must enter a password."
 msgstr "Вы должны ввести пароль."
 
+#: ../src/dialogs.py:1709
+msgid "Passwords do not match"
+msgstr "Пароли не совпадают"
+
+#: ../src/dialogs.py:1710
+msgid "The passwords typed in both fields must be identical."
+msgstr "Пароли, введенные в оба поля, должны быть одинаковы."
+
 #. img to display
 #. default value
-#: ../src/dialogs.py:1364 ../src/notify.py:211 ../src/notify.py:411
+#: ../src/dialogs.py:1752 ../src/notify.py:232 ../src/notify.py:447
 msgid "Contact Signed In"
-msgstr "Контакт в сети"
+msgstr "Контакт подключился"
 
-#: ../src/dialogs.py:1366 ../src/notify.py:219 ../src/notify.py:413
+#: ../src/dialogs.py:1754 ../src/notify.py:240 ../src/notify.py:449
 msgid "Contact Signed Out"
 msgstr "Контакт отключился"
 
 #. chat message
-#: ../src/dialogs.py:1368 ../src/notify.py:238 ../src/notify.py:415
+#: ../src/dialogs.py:1756 ../src/notify.py:263 ../src/notify.py:451
 msgid "New Message"
 msgstr "Новое сообщение"
 
 #. single message
-#: ../src/dialogs.py:1368 ../src/notify.py:223 ../src/notify.py:415
+#: ../src/dialogs.py:1756 ../src/notify.py:244 ../src/notify.py:451
 msgid "New Single Message"
 msgstr "Новое одиночное сообщение"
 
 #. private message
-#: ../src/dialogs.py:1369 ../src/notify.py:230 ../src/notify.py:416
+#: ../src/dialogs.py:1757 ../src/notify.py:251 ../src/notify.py:452
 msgid "New Private Message"
 msgstr "Новое личное сообщение"
 
-#: ../src/dialogs.py:1369 ../src/gajim.py:1216 ../src/notify.py:424
+#: ../src/dialogs.py:1757 ../src/gajim.py:1536 ../src/notify.py:460
 msgid "New E-mail"
 msgstr "Новое письмо"
 
-#: ../src/dialogs.py:1371 ../src/gajim.py:1369 ../src/notify.py:418
+#: ../src/dialogs.py:1759 ../src/gajim.py:1711 ../src/notify.py:454
 msgid "File Transfer Request"
 msgstr "Запрос передачи"
 
-#: ../src/dialogs.py:1373 ../src/gajim.py:1188 ../src/gajim.py:1345
-#: ../src/notify.py:420
+#: ../src/dialogs.py:1761 ../src/gajim.py:1508 ../src/gajim.py:1678
+#: ../src/notify.py:456
 msgid "File Transfer Error"
 msgstr "Ошибка передачи"
 
-#: ../src/dialogs.py:1375 ../src/gajim.py:1408 ../src/gajim.py:1430
-#: ../src/gajim.py:1447 ../src/notify.py:422
+#: ../src/dialogs.py:1763 ../src/gajim.py:1750 ../src/gajim.py:1772
+#: ../src/gajim.py:1789 ../src/notify.py:458
 msgid "File Transfer Completed"
 msgstr "Передача файла завершена"
 
-#: ../src/dialogs.py:1376 ../src/gajim.py:1411 ../src/notify.py:422
+#: ../src/dialogs.py:1764 ../src/gajim.py:1753 ../src/notify.py:458
 msgid "File Transfer Stopped"
 msgstr "Передача остановлена"
 
-#: ../src/dialogs.py:1378 ../src/gajim.py:1086 ../src/notify.py:426
+#: ../src/dialogs.py:1766 ../src/gajim.py:1365 ../src/notify.py:462
 msgid "Groupchat Invitation"
 msgstr "Приглашение в комнату"
 
-#: ../src/dialogs.py:1380 ../src/notify.py:203 ../src/notify.py:428
+#: ../src/dialogs.py:1768 ../src/notify.py:224 ../src/notify.py:464
 msgid "Contact Changed Status"
-msgstr "Контакт изменил статус"
+msgstr "Контакт изменит статус"
 
-#: ../src/dialogs.py:1565
+#: ../src/dialogs.py:1959
 #, python-format
 msgid "Single Message using account %s"
 msgstr "Новое сообщение с учетной записи %s"
 
-#: ../src/dialogs.py:1567
+#: ../src/dialogs.py:1961
 #, python-format
 msgid "Single Message in account %s"
 msgstr "Новое сообщение для учетной записи %s"
 
-#: ../src/dialogs.py:1569
+#: ../src/dialogs.py:1963
 msgid "Single Message"
 msgstr "Сообщение"
 
 #. prepare UI for Sending
-#: ../src/dialogs.py:1572
+#: ../src/dialogs.py:1966
 #, python-format
 msgid "Send %s"
 msgstr "Отправить %s"
 
 #. prepare UI for Receiving
-#: ../src/dialogs.py:1595
+#: ../src/dialogs.py:1989
 #, python-format
 msgid "Received %s"
 msgstr "Получено %s"
 
+#. prepare UI for Receiving
+#: ../src/dialogs.py:2012
+#, python-format
+msgid "Form %s"
+msgstr "От %s"
+
 #. we create a new blank window to send and we preset RE: and to jid
-#: ../src/dialogs.py:1667
+#: ../src/dialogs.py:2082
 #, python-format
 msgid "RE: %s"
 msgstr "RE: %s"
 
-#: ../src/dialogs.py:1668
+#: ../src/dialogs.py:2083
 #, python-format
 msgid "%s wrote:\n"
 msgstr "%s написал:\n"
 
-#: ../src/dialogs.py:1712
+#: ../src/dialogs.py:2127
 #, python-format
 msgid "XML Console for %s"
 msgstr "Консоль XML для %s"
 
-#: ../src/dialogs.py:1714
+#: ../src/dialogs.py:2129
 msgid "XML Console"
 msgstr "Консоль XML"
 
-#: ../src/dialogs.py:1835
+#: ../src/dialogs.py:2252
 #, python-format
 msgid "Privacy List <b><i>%s</i></b>"
 msgstr "Список доступа <b><i>%s</i></b>"
 
-#: ../src/dialogs.py:1839
+#: ../src/dialogs.py:2256
 #, python-format
 msgid "Privacy List for %s"
 msgstr "Список доступа для %s"
 
-#: ../src/dialogs.py:1887
+#: ../src/dialogs.py:2312
 #, python-format
 msgid "Order: %s, action: %s, type: %s, value: %s"
 msgstr "Номер: %s, действие: %s, тип: %s, значение: %s"
 
-#: ../src/dialogs.py:1890
+#: ../src/dialogs.py:2315
 #, python-format
 msgid "Order: %s, action: %s"
 msgstr "Номер: %s, действие: %s"
 
-#: ../src/dialogs.py:1932
+#: ../src/dialogs.py:2357
 msgid "<b>Edit a rule</b>"
 msgstr "<b>Изменить правило</b>"
 
-#: ../src/dialogs.py:2019
+#: ../src/dialogs.py:2444
 msgid "<b>Add a rule</b>"
 msgstr "<b>Добавить правило</b>"
 
-#: ../src/dialogs.py:2115
+#: ../src/dialogs.py:2540
 #, python-format
 msgid "Privacy Lists for %s"
 msgstr "Списки доступа для %s"
 
-#: ../src/dialogs.py:2117
+#: ../src/dialogs.py:2542
 msgid "Privacy Lists"
 msgstr "Списки доступа"
 
-#: ../src/dialogs.py:2185
+#: ../src/dialogs.py:2612
 msgid "Invalid List Name"
 msgstr "Недопустимое имя списка"
 
-#: ../src/dialogs.py:2186
+#: ../src/dialogs.py:2613
 msgid "You must enter a name to create a privacy list."
 msgstr "Необходимо ввести имя для новой учетной записи."
 
-#. FIXME: use nickname instead of contact_jid
-#: ../src/dialogs.py:2220
-#, python-format
-msgid "%(contact_jid)s has invited you to group chat %(room_jid)s"
+#: ../src/dialogs.py:2650
+msgid "$Contact has invited you to join a discussion"
 msgstr "%(contact_jid)s приглашает вас в комнату %(room_jid)s."
 
-#. only if not None and not ''
-#: ../src/dialogs.py:2226
+#: ../src/dialogs.py:2652
+#, python-format
+msgid "$Contact has invited you to group chat %(room_jid)s"
+msgstr "$Contact приглашает вас в комнату %(room_jid)s."
+
+#: ../src/dialogs.py:2665
 #, python-format
 msgid "Comment: %s"
 msgstr "Комментарий: %s"
 
-#: ../src/dialogs.py:2288
+#: ../src/dialogs.py:2731
 msgid "Choose Sound"
 msgstr "Выберите звуковой файл"
 
-#: ../src/dialogs.py:2298 ../src/dialogs.py:2343
+#: ../src/dialogs.py:2741 ../src/dialogs.py:2792
 msgid "All files"
 msgstr "Все файлы"
 
-#: ../src/dialogs.py:2303
+#: ../src/dialogs.py:2746
 msgid "Wav Sounds"
 msgstr "В формате Wav"
 
-#: ../src/dialogs.py:2333
+#: ../src/dialogs.py:2779
 msgid "Choose Image"
 msgstr "Выбрать картинку"
 
-#: ../src/dialogs.py:2348
+#: ../src/dialogs.py:2797
 msgid "Images"
 msgstr "Картинки"
 
-#: ../src/dialogs.py:2405
+#: ../src/dialogs.py:2862
 #, python-format
 msgid "When %s becomes:"
 msgstr "Когда %s происходит:"
 
-#: ../src/dialogs.py:2407
+#: ../src/dialogs.py:2864
 #, python-format
 msgid "Adding Special Notification for %s"
 msgstr "Добавление специального уведомления для %s"
 
 #. # means number
-#: ../src/dialogs.py:2478
+#: ../src/dialogs.py:2935
 msgid "#"
 msgstr "â„–"
 
-#: ../src/dialogs.py:2484
+#: ../src/dialogs.py:2941
 msgid "Condition"
 msgstr "Условие"
 
-#: ../src/dialogs.py:2605
+#: ../src/dialogs.py:3059
 msgid "when I am "
 msgstr "когда я "
 
-#: ../src/disco.py:101
+#: ../src/disco.py:111
 msgid "Others"
 msgstr "Другие"
 
-#: ../src/disco.py:102 ../src/disco.py:103 ../src/disco.py:1253
-#: ../src/gajim.py:539 ../src/roster_window.py:267 ../src/roster_window.py:325
-#: ../src/roster_window.py:364 ../src/roster_window.py:445
-#: ../src/roster_window.py:477 ../src/roster_window.py:479
-#: ../src/roster_window.py:3828 ../src/roster_window.py:3830
-#: ../src/common/helpers.py:42
+#: ../src/disco.py:112 ../src/disco.py:113 ../src/disco.py:1321
+#: ../src/gajim.py:660 ../src/roster_window.py:295 ../src/roster_window.py:355
+#: ../src/roster_window.py:395 ../src/roster_window.py:503
+#: ../src/roster_window.py:535 ../src/roster_window.py:537
+#: ../src/roster_window.py:4755 ../src/roster_window.py:4757
+#: ../src/common/contacts.py:295 ../src/common/contacts.py:310
+#: ../src/common/helpers.py:53
 msgid "Transports"
 msgstr "Транспорты"
 
 #. conference is a category for listing mostly groupchats in service discovery
-#: ../src/disco.py:105
+#: ../src/disco.py:115
 msgid "Conference"
 msgstr "Комнаты"
 
-#: ../src/disco.py:418
+#: ../src/disco.py:428
 msgid "Without a connection, you can not browse available services"
 msgstr "Для просмотра сервисов необходимо сначала подсоединиться к серверу"
 
-#: ../src/disco.py:497
+#: ../src/disco.py:502
 #, python-format
 msgid "Service Discovery using account %s"
 msgstr "Обзор сервисов с учётной записи %s"
 
-#: ../src/disco.py:499
+#: ../src/disco.py:504
 msgid "Service Discovery"
 msgstr "Обзор сервисов (discovery)"
 
-#: ../src/disco.py:642
+#: ../src/disco.py:644
 msgid "The service could not be found"
 msgstr "Сервис не обнаружен"
 
-#: ../src/disco.py:643
+#: ../src/disco.py:645
 msgid ""
 "There is no service at the address you entered, or it is not responding. "
 "Check the address and try again."
@@ -3552,205 +3977,462 @@ msgstr ""
 "По этому адресу сервисы отсутствуют или не отвечают. Проверьте адрес и "
 "попробуйте еще раз."
 
-#: ../src/disco.py:647 ../src/disco.py:928
+#: ../src/disco.py:649 ../src/disco.py:930
 msgid "The service is not browsable"
 msgstr "Сервис недоступен для просмотра"
 
-#: ../src/disco.py:648
+#: ../src/disco.py:650
 msgid "This type of service does not contain any items to browse."
 msgstr "Этот сервис не содержит ничего, что можно было бы просмотреть."
 
-#: ../src/disco.py:728
+#: ../src/disco.py:730
 #, python-format
 msgid "Browsing %s using account %s"
 msgstr "Просмотр %s с учетной записью %s"
 
-#: ../src/disco.py:767
+#: ../src/disco.py:769
 msgid "_Browse"
 msgstr "_Браузер"
 
-#: ../src/disco.py:929
+#: ../src/disco.py:931
 msgid "This service does not contain any items to browse."
 msgstr "Этот сервис не содержит ничего, что можно было бы просмотреть."
 
-#: ../src/disco.py:1143 ../src/disco.py:1258
+#: ../src/disco.py:1152
+msgid "_Execute Command"
+msgstr "В_ыполнить команду..."
+
+#: ../src/disco.py:1162 ../src/disco.py:1326
 msgid "Re_gister"
 msgstr "За_регистрироваться"
 
-#: ../src/disco.py:1295
+#: ../src/disco.py:1363
 #, python-format
 msgid "Scanning %d / %d.."
 msgstr "Сканирую %d / %d.."
 
 #. Users column
-#: ../src/disco.py:1476
+#: ../src/disco.py:1545
 msgid "Users"
 msgstr "Пользователи"
 
 #. Description column
-#: ../src/disco.py:1483
+#: ../src/disco.py:1553
 msgid "Description"
 msgstr "Описание"
 
 #. Id column
-#: ../src/disco.py:1490
+#: ../src/disco.py:1561
 msgid "Id"
 msgstr "ID"
 
-#: ../src/disco.py:1713
+#: ../src/disco.py:1790
 msgid "Subscribed"
 msgstr "Подписка"
 
-#: ../src/disco.py:1739
+#: ../src/disco.py:1798
+msgid "Node"
+msgstr ""
+
+#: ../src/disco.py:1855
 msgid "New post"
 msgstr "Новое сообщение"
 
-#: ../src/disco.py:1745
+#: ../src/disco.py:1861
 msgid "_Subscribe"
 msgstr "_Подписаться"
 
-#: ../src/disco.py:1751
+#: ../src/disco.py:1867
 msgid "_Unsubscribe"
 msgstr "_Отписаться"
 
-#: ../src/filetransfers_window.py:72
+#: ../src/features_window.py:47
+msgid "PyOpenSSL"
+msgstr "PyOpenSSL"
+
+#: ../src/features_window.py:48
+msgid ""
+"A library used to validate server certificates to ensure a secure connection."
+msgstr ""
+"Библиотека используется для подтверждения действительности сертификатов "
+"сервера для того, чтобы удостовериться в защищенности соединения."
+
+#: ../src/features_window.py:49 ../src/features_window.py:50
+msgid "Requires python-pyopenssl."
+msgstr "Требует python-pyopenssl."
+
+#: ../src/features_window.py:51
+msgid "Bonjour / Zeroconf"
+msgstr "Bonjour / Zeroconf"
+
+#: ../src/features_window.py:52
+msgid "Serverless chatting with autodetected clients in a local network."
+msgstr "Чат в локальной сети."
+
+#: ../src/features_window.py:53
+msgid "Requires python-avahi."
+msgstr "Требует python-avahi."
+
+#: ../src/features_window.py:54
+msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+msgstr "Требует pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)."
+
+#: ../src/features_window.py:55
+msgid "gajim-remote"
+msgstr "gajim-remote"
+
+#: ../src/features_window.py:56
+msgid "A script to controle gajim via commandline."
+msgstr "Скрипт для управления Gajim'ом через коммандную строку."
+
+#: ../src/features_window.py:57
+msgid "Requires python-dbus."
+msgstr "Требует python-dbus."
+
+#: ../src/features_window.py:58 ../src/features_window.py:62
+#: ../src/features_window.py:66 ../src/features_window.py:70
+#: ../src/features_window.py:74 ../src/features_window.py:82
+#: ../src/features_window.py:86 ../src/features_window.py:98
+msgid "Feature not available under Windows."
+msgstr "Эта возможность отсутствует в Windows."
+
+#: ../src/features_window.py:59
+msgid "OpenGPG"
+msgstr "OpenGPG"
+
+#: ../src/features_window.py:60
+msgid "Encrypting chatmessages with gpg keys."
+msgstr "Шифрование сообщений при помощи gpg ключей."
+
+#: ../src/features_window.py:61
+msgid "Requires gpg and python-GnuPGInterface."
+msgstr "Требует gpg и python-GnuPGInterface."
+
+#: ../src/features_window.py:63
+msgid "network-manager"
+msgstr "network-manager"
+
+#: ../src/features_window.py:64
+msgid "Autodetection of network status."
+msgstr "Автоопределение состояния соединения с сетью."
+
+#: ../src/features_window.py:65
+msgid "Requires gnome-network-manager and python-dbus."
+msgstr "Требует gnome-network-manager и python-dbus."
+
+#: ../src/features_window.py:67
+msgid "Session Management"
+msgstr "Управление сеансом"
+
+#: ../src/features_window.py:68
+msgid "Gajim session is stored on logout and restored on login."
+msgstr ""
+"Сеанс Gajim сохраняется при выходе (logout) и восстанавливается при входе "
+"(login)."
+
+#: ../src/features_window.py:69
+msgid "Requires python-gnome2."
+msgstr "Требует python-gnome2."
+
+#: ../src/features_window.py:71
+msgid "gnome-keyring"
+msgstr "gnome-keyring"
+
+#: ../src/features_window.py:72
+msgid "Passwords can be stored securely and not just in plaintext."
+msgstr "Пароли могут храниться безопастно, а не просто открытым текстом."
+
+#: ../src/features_window.py:73
+msgid "Requires gnome-keyring and python-gnome2-desktop."
+msgstr "Требует gnome-keyring и python-gnome2-desktop."
+
+#: ../src/features_window.py:75
+msgid "SRV"
+msgstr "SRV"
+
+#: ../src/features_window.py:76
+msgid "Ability to connect to servers which are using SRV records."
+msgstr ""
+
+#: ../src/features_window.py:77
+msgid "Requires dnsutils."
+msgstr "Требует dnsutils."
+
+#: ../src/features_window.py:78
+msgid "Requires nslookup to use SRV records."
+msgstr ""
+
+#: ../src/features_window.py:79
+msgid "Spell Checker"
+msgstr "Проверка орфографии"
+
+#: ../src/features_window.py:80
+msgid "Spellchecking of composed messages."
+msgstr "Проверка орфографии набираемых сообщений"
+
+#: ../src/features_window.py:81
+msgid ""
+"Requires python-gnome2-extras or compilation of gtkspell module from Gajim "
+"sources."
+msgstr ""
+"Требует python-gnome2-extras или скомпилированного модуля gtkspell из "
+"исходных кодов Gajim."
+
+#: ../src/features_window.py:83
+msgid "Notification-daemon"
+msgstr ""
+
+#: ../src/features_window.py:84
+msgid "Passive popups notifying for new events."
+msgstr "Пассивные всплывающие окна для уведомления о новых событиях."
+
+#: ../src/features_window.py:85
+msgid ""
+"Requires python-notify or instead python-dbus in conjunction with "
+"notification-daemon."
+msgstr ""
+
+#: ../src/features_window.py:87
+msgid "Trayicon"
+msgstr "Иконка в системном трее"
+
+#: ../src/features_window.py:88
+msgid "A icon in systemtray reflecting the current presence."
+msgstr "Иконка в системном лотке отображающая текущий статус."
+
+#: ../src/features_window.py:89
+msgid ""
+"Requires python-gnome2-extras or compiled  trayicon module from Gajim "
+"sources."
+msgstr ""
+"Требует python-gnome2-extras или скомпилированного модуля  trayicon из "
+"исходных кодов Gajim."
+
+#: ../src/features_window.py:90
+msgid "Requires PyGTK >= 2.10."
+msgstr "Требует PyGTK >= 2.10."
+
+#: ../src/features_window.py:91
+msgid "Idle"
+msgstr "Время бездействия"
+
+#: ../src/features_window.py:92
+msgid "Ability to measure idle time, in order to set auto status."
+msgstr ""
+
+#: ../src/features_window.py:93 ../src/features_window.py:94
+msgid "Requires compilation of the idle module from Gajim sources."
+msgstr ""
+
+#: ../src/features_window.py:95
+msgid "LaTeX"
+msgstr "LaTeX"
+
+#: ../src/features_window.py:96
+msgid "Transform LaTeX espressions between $$ $$."
+msgstr ""
+
+#: ../src/features_window.py:97
+msgid ""
+"Requires texlive-latex-base, dvips and imagemagick. You have to set "
+"'use_latex' to True in the Advanced Configuration Editor."
+msgstr ""
+
+#: ../src/features_window.py:99
+#, fuzzy
+msgid "End to end encryption"
+msgstr "Шифрование OpenPGP"
+
+#: ../src/features_window.py:100
+#, fuzzy
+msgid "Encrypting chatmessages."
+msgstr "_Входящее сообщение:"
+
+#: ../src/features_window.py:101 ../src/features_window.py:102
+msgid "Requires python-crypto."
+msgstr ""
+
+#: ../src/features_window.py:103
+#, fuzzy
+msgid "RST Generator"
+msgstr "Общие"
+
+#: ../src/features_window.py:104
+msgid ""
+"Generate XHTML output from RST code (see http://docutils.sourceforge.net/"
+"docs/ref/rst/restructuredtext.html)."
+msgstr ""
+
+#: ../src/features_window.py:105 ../src/features_window.py:106
+msgid "Requires python-docutils."
+msgstr "Требует python-docutils."
+
+#: ../src/features_window.py:107
+msgid "libsexy"
+msgstr "libsexy"
+
+#: ../src/features_window.py:108
+#, fuzzy
+msgid "Ability to have clickable URLs in chat and groupchat window banners."
+msgstr "Кликабельные ссылки в окне чата"
+
+#: ../src/features_window.py:109 ../src/features_window.py:110
+msgid "Requires python-sexy."
+msgstr "Требует python-sexy."
+
+#: ../src/features_window.py:117 ../src/common/helpers.py:248
+msgid "Available"
+msgstr "Доступен"
+
+#: ../src/features_window.py:124
+#, fuzzy
+msgid "Feature"
+msgstr "Параметры сервера"
+
+#: ../src/filetransfers_window.py:77
 msgid "File"
 msgstr "Файл"
 
-#: ../src/filetransfers_window.py:87
+#: ../src/filetransfers_window.py:92
 msgid "Time"
 msgstr "Время"
 
-#: ../src/filetransfers_window.py:99
+#: ../src/filetransfers_window.py:104
 msgid "Progress"
 msgstr "Прогресс"
 
-#: ../src/filetransfers_window.py:163 ../src/filetransfers_window.py:223
+#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:218
 #, python-format
 msgid "Filename: %s"
 msgstr "Имя файла: %s"
 
-#: ../src/filetransfers_window.py:164 ../src/filetransfers_window.py:298
+#: ../src/filetransfers_window.py:165 ../src/filetransfers_window.py:305
 #, python-format
 msgid "Size: %s"
 msgstr "Размер: %s"
 
 #. You is a reply of who sent a file
 #. You is a reply of who received a file
-#: ../src/filetransfers_window.py:173 ../src/filetransfers_window.py:183
-#: ../src/history_manager.py:463
+#: ../src/filetransfers_window.py:174 ../src/filetransfers_window.py:184
+#: ../src/history_manager.py:468
 msgid "You"
 msgstr "Ð’Ñ‹"
 
-#: ../src/filetransfers_window.py:174
+#: ../src/filetransfers_window.py:175
 #, python-format
 msgid "Sender: %s"
 msgstr "Отправитель: %s"
 
-#: ../src/filetransfers_window.py:175 ../src/filetransfers_window.py:572
-#: ../src/tooltips.py:573
+#: ../src/filetransfers_window.py:176 ../src/filetransfers_window.py:595
+#: ../src/tooltips.py:592
 msgid "Recipient: "
 msgstr "Получатель:"
 
-#: ../src/filetransfers_window.py:186
+#: ../src/filetransfers_window.py:187
 #, python-format
 msgid "Saved in: %s"
 msgstr "Сохранено в: %s"
 
-#: ../src/filetransfers_window.py:188
+#: ../src/filetransfers_window.py:189
 msgid "File transfer completed"
 msgstr "Передача завершена"
 
-#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:212
-msgid "File transfer canceled"
+#: ../src/filetransfers_window.py:203 ../src/filetransfers_window.py:209
+msgid "File transfer cancelled"
 msgstr "Передача отменена"
 
-#: ../src/filetransfers_window.py:204 ../src/filetransfers_window.py:213
+#: ../src/filetransfers_window.py:203 ../src/filetransfers_window.py:210
 msgid "Connection with peer cannot be established."
 msgstr "Соединение не может быть установлено."
 
-#: ../src/filetransfers_window.py:224
+#: ../src/filetransfers_window.py:219
 #, python-format
 msgid "Recipient: %s"
 msgstr "Получатель: %s"
 
-#: ../src/filetransfers_window.py:226
+#: ../src/filetransfers_window.py:221
 #, python-format
 msgid "Error message: %s"
 msgstr "Сообщение об ошибке: %s"
 
-#: ../src/filetransfers_window.py:227
-msgid "File transfer stopped by the contact of the other side"
+#: ../src/filetransfers_window.py:222
+msgid "File transfer stopped by the contact at the other end"
 msgstr "Передача файла остановлена контактом на той стороне"
 
-#: ../src/filetransfers_window.py:244
+#: ../src/filetransfers_window.py:243
 msgid "Choose File to Send..."
 msgstr "Выбрать файл для отправки..."
 
-#: ../src/filetransfers_window.py:263
+#: ../src/filetransfers_window.py:259 ../src/tooltips.py:632
+msgid "Description: "
+msgstr "Описание: "
+
+#: ../src/filetransfers_window.py:270
 msgid "Gajim cannot access this file"
 msgstr "Нет доступа к файлу"
 
-#: ../src/filetransfers_window.py:264
+#: ../src/filetransfers_window.py:271
 msgid "This file is being used by another process."
 msgstr "Файл занят другим процессом."
 
-#: ../src/filetransfers_window.py:296
+#: ../src/filetransfers_window.py:303
 #, python-format
 msgid "File: %s"
 msgstr "Файл: %s"
 
-#: ../src/filetransfers_window.py:301
+#: ../src/filetransfers_window.py:308
 #, python-format
 msgid "Type: %s"
 msgstr "Тип: %s"
 
-#: ../src/filetransfers_window.py:303
+#: ../src/filetransfers_window.py:310
 #, python-format
 msgid "Description: %s"
 msgstr "Описание: %s"
 
-#: ../src/filetransfers_window.py:304
+#: ../src/filetransfers_window.py:311
 #, python-format
 msgid "%s wants to send you a file:"
 msgstr "%s хочет отправить вам файл:"
 
-#: ../src/filetransfers_window.py:318 ../src/gtkgui_helpers.py:683
+#: ../src/filetransfers_window.py:324 ../src/gtkgui_helpers.py:773
 #, python-format
 msgid "Cannot overwrite existing file \"%s\""
 msgstr "Не могу заместить существующий файл \"%s\""
 
-#: ../src/filetransfers_window.py:319 ../src/gtkgui_helpers.py:685
+#: ../src/filetransfers_window.py:325 ../src/gtkgui_helpers.py:775
 msgid ""
 "A file with this name already exists and you do not have permission to "
 "overwrite it."
 msgstr "Этот файл уже существует, и у вас нет права его перезаписать."
 
-#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:689
+#: ../src/filetransfers_window.py:332 ../src/gtkgui_helpers.py:779
 msgid "This file already exists"
 msgstr "Файл уже существует"
 
-#: ../src/filetransfers_window.py:326 ../src/gtkgui_helpers.py:689
+#: ../src/filetransfers_window.py:332 ../src/gtkgui_helpers.py:779
 msgid "What do you want to do?"
 msgstr "Что вы хотите сделать?"
 
-#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:699
+#. read-only bit is used to mark special folder under windows,
+#. not to mark that a folder is read-only. See ticket #3587
+#: ../src/filetransfers_window.py:346 ../src/gtkgui_helpers.py:789
 #, python-format
 msgid "Directory \"%s\" is not writable"
 msgstr "Директория \"%s\" не доступна для записи"
 
-#: ../src/filetransfers_window.py:338 ../src/gtkgui_helpers.py:700
+#: ../src/filetransfers_window.py:346 ../src/gtkgui_helpers.py:790
 msgid "You do not have permission to create files in this directory."
 msgstr "У вас нет права создавать файлы в этой директории."
 
-#: ../src/filetransfers_window.py:348
+#: ../src/filetransfers_window.py:356
 msgid "Save File as..."
 msgstr "Сохранить файл как..."
 
 #. Print remaining time in format 00:00:00
 #. You can change the places of (hours), (minutes), (seconds) -
 #. they are not translatable.
-#: ../src/filetransfers_window.py:429
+#: ../src/filetransfers_window.py:436
 #, python-format
 msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
@@ -3758,60 +4440,65 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
 #. This should make the string Kb/s,
 #. where 'Kb' part is taken from %s.
 #. Only the 's' after / (which means second) should be translated.
-#: ../src/filetransfers_window.py:505
+#: ../src/filetransfers_window.py:525
 #, python-format
 msgid "(%(filesize_unit)s/s)"
 msgstr "(%(filesize_unit)s/s)"
 
-#: ../src/filetransfers_window.py:544 ../src/filetransfers_window.py:547
+#: ../src/filetransfers_window.py:565 ../src/filetransfers_window.py:568
 msgid "Invalid File"
 msgstr "Неверный файл"
 
-#: ../src/filetransfers_window.py:544
+#: ../src/filetransfers_window.py:565
 msgid "File: "
 msgstr "Файл: "
 
-#: ../src/filetransfers_window.py:548
+#: ../src/filetransfers_window.py:569
 msgid "It is not possible to send empty files"
 msgstr "Нельзя отсылать пустые файлы"
 
-#: ../src/filetransfers_window.py:568 ../src/tooltips.py:563
+#: ../src/filetransfers_window.py:591 ../src/tooltips.py:582
 msgid "Name: "
 msgstr "Имя:  "
 
-#: ../src/filetransfers_window.py:570 ../src/tooltips.py:567
+#: ../src/filetransfers_window.py:593 ../src/tooltips.py:586
 msgid "Sender: "
 msgstr "Отправитель:"
 
-#: ../src/filetransfers_window.py:758
+#: ../src/filetransfers_window.py:781
 msgid "Pause"
 msgstr "Пауза"
 
-#: ../src/gajim.py:47
-msgid "Gajim needs Xserver to run. Quiting..."
-msgstr "Gajim'у для запуска требуется X-сервер. Выход..."
+#: ../src/gajim.py:56
+#, python-format
+msgid "%s is not a valid loglevel"
+msgstr ""
+
+#: ../src/gajim.py:129
+msgid "Gajim needs X server to run. Quiting..."
+msgstr "Gajim для запуска требуется X-сервер. Выход..."
 
-#: ../src/gajim.py:51
-msgid "Gajim needs PyGTK 2.6 or above"
-msgstr "Gajim требуется PyGTK 2.6 или выше"
+#: ../src/gajim.py:156
+msgid "Gajim needs PyGTK 2.8 or above"
+msgstr "Gajim требуется PyGTK 2.8 или выше"
 
-#: ../src/gajim.py:52
-msgid "Gajim needs PyGTK 2.6 or above to run. Quiting..."
-msgstr "Gajim для запуска требуется PyGTK 2.6 или выше. Выход..."
+#: ../src/gajim.py:157
+msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
+msgstr "Gajim для запуска требуется PyGTK 2.8 или выше. Выход..."
 
-#: ../src/gajim.py:54
-msgid "Gajim needs GTK 2.6 or above"
-msgstr "Gajim требуется GTK 2.6 или выше"
+#: ../src/gajim.py:159
+msgid "Gajim needs GTK 2.8 or above"
+msgstr "Gajim требуется GTK 2.8 или выше"
 
-#: ../src/gajim.py:55
-msgid "Gajim needs GTK 2.6 or above to run. Quiting..."
-msgstr "Gajim для запуска требуется GTK 2.6 или выше. Выход..."
+#: ../src/gajim.py:160
+msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
+msgstr "Gajim для запуска требуется GTK 2.8 или выше. Выход..."
 
-#: ../src/gajim.py:60
+#: ../src/gajim.py:165
 msgid "GTK+ runtime is missing libglade support"
 msgstr "У GTK отсутствует поддержка libglade."
 
-#: ../src/gajim.py:62
+#: ../src/gajim.py:167
 #, python-format
 msgid ""
 "Please remove your current GTK+ runtime and install the latest stable "
@@ -3820,31 +4507,34 @@ msgstr ""
 "Пожалуйста, удалите вашу текущую версию GTK и установите последнюю "
 "стабильную версию с %s"
 
-#: ../src/gajim.py:64
-msgid "Please make sure that GTK+ and PyGTK have libglade support in your system."
+#: ../src/gajim.py:169
+msgid ""
+"Please make sure that GTK+ and PyGTK have libglade support in your system."
 msgstr "Пожалуйста, удостоверьтесь что GTK+ и PyGTK поддерживают libglade."
 
-#: ../src/gajim.py:69
+#: ../src/gajim.py:174
 msgid "Gajim needs PySQLite2 to run"
 msgstr "Gajim для запуска требуется PySQLite2"
 
-#: ../src/gajim.py:77
+#: ../src/gajim.py:182
 msgid "Gajim needs pywin32 to run"
 msgstr "Gajim для запуска требуется pywin32"
 
-#: ../src/gajim.py:78
+#: ../src/gajim.py:183
 #, python-format
 msgid ""
 "Please make sure that Pywin32 is installed on your system. You can get it at "
 "%s"
-msgstr "Пожалуйста, удостоверьтесь что в вашей системе установлен Pywin32. Вы можете получить его на сайте: %s"
+msgstr ""
+"Пожалуйста, удостоверьтесь что в вашей системе установлен Pywin32. Вы можете "
+"получить его на сайте: %s"
 
 #. set the icon to all newly opened wind
-#: ../src/gajim.py:238
+#: ../src/gajim.py:328
 msgid "Gajim is already running"
 msgstr "Gajim уже запущен"
 
-#: ../src/gajim.py:239
+#: ../src/gajim.py:329
 msgid ""
 "Another instance of Gajim seems to be running\n"
 "Run anyway?"
@@ -3852,76 +4542,173 @@ msgstr ""
 "По-видимому, уже запущен другой экземпляр Gajim\n"
 "Запустить ещё один?"
 
-#: ../src/gajim.py:346
-#, python-format
-msgid "HTTP (%s) Authorization for %s (id: %s)"
-msgstr "HTTP (%s) Авторизация для %s (id: %s)"
+#: ../src/gajim.py:352 ../src/common/connection_handlers.py:910
+#: ../src/common/connection_handlers.py:1624
+#: ../src/common/connection_handlers.py:1653
+#: ../src/common/connection_handlers.py:1663
+#: ../src/common/connection_handlers.py:1682
+#: ../src/common/connection_handlers.py:1919
+#: ../src/common/connection_handlers.py:2031 ../src/common/connection.py:1016
+msgid "Disk Write Error"
+msgstr "Ошибка записи на диск"
 
-#: ../src/gajim.py:347
+#: ../src/gajim.py:448
 msgid "Do you accept this request?"
 msgstr "Вы принимаете этот запрос?"
 
-#: ../src/gajim.py:393 ../src/notify.py:430
+#: ../src/gajim.py:450
+#, python-format
+msgid "Do you accept this request on account %s?"
+msgstr "Вы принимаете запрос %s?"
+
+#: ../src/gajim.py:453
+#, python-format
+msgid "HTTP (%s) Authorization for %s (id: %s)"
+msgstr "HTTP (%s) Авторизация для %s (id: %s)"
+
+#: ../src/gajim.py:500 ../src/notify.py:466
 msgid "Connection Failed"
 msgstr "Соединение разорвалось"
 
-#: ../src/gajim.py:706
+#: ../src/gajim.py:834
 #, python-format
 msgid "Subject: %s"
 msgstr "Тема: %s"
 
 #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
-#: ../src/gajim.py:751 ../src/gajim.py:764
+#: ../src/gajim.py:881 ../src/gajim.py:894
 #, python-format
 msgid "error while sending %s ( %s )"
 msgstr "ошибка при отправке %s ( %s )"
 
-#: ../src/gajim.py:797
+#: ../src/gajim.py:927
 msgid "Authorization accepted"
 msgstr "Авторизация принята"
 
-#: ../src/gajim.py:798
+#: ../src/gajim.py:928
 #, python-format
 msgid "The contact \"%s\" has authorized you to see his or her status."
 msgstr "Контакт \"%s\" авторизовал вас, теперь вы можете видеть его статус."
 
-#: ../src/gajim.py:806
+#: ../src/gajim.py:936
 #, python-format
 msgid "Contact \"%s\" removed subscription from you"
 msgstr "Контакт \"%s\" отозвал подписку с вами"
 
-#: ../src/gajim.py:807
+#: ../src/gajim.py:937
 msgid "You will always see him or her as offline."
 msgstr "Вы всегда будете видеть его или её в оффлайне."
 
-#: ../src/gajim.py:850
+#: ../src/gajim.py:981
 #, python-format
 msgid "Contact with \"%s\" cannot be established"
 msgstr "Связь с \"%s\" не может быть установлена"
 
-#: ../src/gajim.py:851 ../src/common/connection.py:406
+#: ../src/gajim.py:982 ../src/common/connection.py:524
 msgid "Check your connection or try again later."
 msgstr "Проверьте настройки сети или попробуйте еще раз позже."
 
-#: ../src/gajim.py:999 ../src/roster_window.py:1197
+#: ../src/gajim.py:1152 ../src/groupchat_control.py:995
+#, python-format
+msgid "%s is now known as %s"
+msgstr "%s теперь известен как %s"
+
+#: ../src/gajim.py:1168 ../src/roster_window.py:1372
 #, python-format
 msgid "%s is now %s (%s)"
 msgstr "%s %s (%s)"
 
-#: ../src/gajim.py:1096
-msgid "Your passphrase is incorrect"
-msgstr "Ваша парольная фраза неверна"
+#. No status message
+#: ../src/gajim.py:1171 ../src/groupchat_control.py:1146
+#: ../src/roster_window.py:1375
+#, python-format
+msgid "%s is now %s"
+msgstr "%s %s"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/gajim.py:1292 ../src/groupchat_control.py:955
+msgid "Any occupant is allowed to see your full JID"
+msgstr "Любой участник может увидеть ваш настоящий JID"
+
+#: ../src/gajim.py:1295
+msgid "Room now shows unavailable member"
+msgstr ""
+
+#: ../src/gajim.py:1297
+msgid "room now does not show unavailable members"
+msgstr ""
+
+#: ../src/gajim.py:1300
+msgid "A non-privacy-related room configuration change has occurred"
+msgstr ""
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#: ../src/gajim.py:1303
+msgid "Room logging is now enabled"
+msgstr "Запись логов конференции включена"
+
+#: ../src/gajim.py:1305
+msgid "Room logging is now disabled"
+msgstr "Запись логов конференции выключена"
+
+#: ../src/gajim.py:1307
+msgid "Room is now non-anonymous"
+msgstr "Конференция не анонимна"
 
-#: ../src/gajim.py:1097
+#: ../src/gajim.py:1310
+msgid "Room is now semi-anonymous"
+msgstr "Конференция частично анонимна"
+
+#: ../src/gajim.py:1313
+msgid "Room is now fully-anonymous"
+msgstr "Конференция полностью анонимна"
+
+#: ../src/gajim.py:1345
+#, python-format
+msgid "A Password is required to join the room %s. Please type it"
+msgstr "Чтобы войти в комнату %s, нужен пароль."
+
+#: ../src/gajim.py:1379
+msgid ""
+"You configured Gajim to use GPG agent, but there is no GPG agent running or "
+"it returned a wrong passphrase.\n"
+msgstr ""
+"Gajim настроен на использование GPG агента,но GPG агент не запущен или он "
+"возвратил неверный пароль.\n"
+
+#: ../src/gajim.py:1381
 msgid "You are currently connected without your OpenPGP key."
 msgstr "Вы сейчас соединены без OpenPGP ключа."
 
-#: ../src/gajim.py:1199
+#: ../src/gajim.py:1384
+msgid "Your passphrase is incorrect"
+msgstr "Ваша парольная фраза неверна"
+
+#: ../src/gajim.py:1396 ../src/secrets.py:44
+msgid "Passphrase Required"
+msgstr "Требуется парольная фраза"
+
+#: ../src/gajim.py:1397
+#, python-format
+msgid "Enter GPG key passphrase for account %s."
+msgstr "Введите парольную фразу GPG для учетной записи %s"
+
+#: ../src/gajim.py:1409
+msgid "Wrong Passphrase"
+msgstr "Неверная парольная фраза"
+
+#: ../src/gajim.py:1410
+msgid "Please retype your GPG passphrase or press Cancel."
+msgstr ""
+"Пожалуйста, введите парольную фразу для GPG еще раз или нажмите Отмена."
+
+#: ../src/gajim.py:1519
 #, python-format
 msgid "New mail on %(gmail_mail_address)s"
 msgstr "Новое письмо на %(gmail_mail_address)s"
 
-#: ../src/gajim.py:1201
+#: ../src/gajim.py:1521
 #, python-format
 msgid "You have %d new mail conversation"
 msgid_plural "You have %d new mail conversations"
@@ -3932,7 +4719,7 @@ msgstr[2] "У вас есть %d непрочитанных письма"
 #. FIXME: emulate Gtalk client popups. find out what they parse and how
 #. they decide what to show
 #. each message has a 'From', 'Subject' and 'Snippet' field
-#: ../src/gajim.py:1210
+#: ../src/gajim.py:1530
 #, python-format
 msgid ""
 "\n"
@@ -3941,124 +4728,215 @@ msgstr ""
 "\n"
 "От: %(from_address)s"
 
-#: ../src/gajim.py:1366
+#: ../src/gajim.py:1708
 #, python-format
 msgid "%s wants to send you a file."
 msgstr "%s хочет отправить вам файл."
 
-#: ../src/gajim.py:1431
+#: ../src/gajim.py:1773
 #, python-format
 msgid "You successfully received %(filename)s from %(name)s."
 msgstr "Успешно получен файл %(filename)s от %(name)s."
 
 #. ft stopped
-#: ../src/gajim.py:1435
+#: ../src/gajim.py:1777
 #, python-format
 msgid "File transfer of %(filename)s from %(name)s stopped."
 msgstr "Передача файла %(filename)s от %(name)s приостановлена."
 
-#: ../src/gajim.py:1448
+#: ../src/gajim.py:1790
 #, python-format
 msgid "You successfully sent %(filename)s to %(name)s."
 msgstr "%(name)s успешно получил отправленный вами файл %(filename)s."
 
 #. ft stopped
-#: ../src/gajim.py:1452
+#: ../src/gajim.py:1794
 #, python-format
 msgid "File transfer of %(filename)s to %(name)s stopped."
 msgstr "Передача файла %(filename)s к %(name)s приостановлена."
 
-#: ../src/gajim.py:1558
+#: ../src/gajim.py:1889
+msgid "Session negotiation cancelled"
+msgstr ""
+
+#: ../src/gajim.py:1890
+#, python-format
+msgid "The client at %s cancelled the session negotiation."
+msgstr ""
+
+#: ../src/gajim.py:1922 ../src/gajim.py:1966
+msgid "Confirm these session options"
+msgstr ""
+
+#: ../src/gajim.py:1923
+#, python-format
+msgid ""
+"The remote client wants to negotiate an session with these features:\n"
+"\n"
+"\t\t%s\n"
+"\n"
+"\t\tAre these options acceptable?"
+msgstr ""
+
+#: ../src/gajim.py:1967
+#, python-format
+msgid ""
+"The remote client selected these options:\n"
+"\n"
+"%s\n"
+"\n"
+"Continue with the session?"
+msgstr ""
+
+#: ../src/gajim.py:2092
 msgid "Username Conflict"
 msgstr "Такое имя уже есть"
 
-#: ../src/gajim.py:1559
+#: ../src/gajim.py:2093
 msgid "Please type a new username for your local account"
-msgstr "Пожалуйста, введите новое имя пользователя для локальной учетной записи"
+msgstr ""
+"Пожалуйста, введите новое имя пользователя для локальной учетной записи"
+
+#: ../src/gajim.py:2110
+msgid "Ping?"
+msgstr ""
+
+#: ../src/gajim.py:2118
+#, python-format
+msgid "Pong! (%s s.)"
+msgstr ""
+
+#: ../src/gajim.py:2124
+msgid "Error."
+msgstr ""
+
+#: ../src/gajim.py:2149
+msgid "Resource Conflict"
+msgstr "Такое имя уже есть"
+
+#: ../src/gajim.py:2150
+msgid ""
+"You are already connected to this account with the same resource. Please "
+"type a new one"
+msgstr ""
+"Вы уже подсоединены к этой учетной записи с таким же ресурсом. Введите "
+"другой ресурс"
+
+#: ../src/gajim.py:2179
+msgid "Error verifying SSL certificate"
+msgstr ""
+
+#: ../src/gajim.py:2180
+#, python-format
+msgid ""
+"There was an error verifying the SSL certificate of your jabber server: %"
+"(error)s\n"
+"Do you still want to connect to this server?"
+msgstr ""
+
+#: ../src/gajim.py:2196
+msgid "SSL certificate error"
+msgstr ""
+
+#: ../src/gajim.py:2197
+msgid ""
+"It seems SSL certificate has changed or your connection is being hacked. Do "
+"you still want to connect and update the fingerprintof the certificate?"
+msgstr ""
 
 #. it is good to notify the user
 #. in case he or she cannot see the output of the console
-#: ../src/gajim.py:1898
+#: ../src/gajim.py:2557
 msgid "Could not save your settings and preferences"
 msgstr "Не могу сохранить ваши установки и настройки"
 
-#: ../src/gajim.py:2090
+#. sorted alphanum
+#: ../src/gajim.py:2693 ../src/common/config.py:102
+#: ../src/common/config.py:414 ../src/common/optparser.py:206
+#: ../src/common/optparser.py:424 ../src/common/optparser.py:458
+msgid "default"
+msgstr "По_умолчанию"
+
+#: ../src/gajim.py:2779
 msgid "Network Manager support not available"
 msgstr "Network Manager не используется"
 
-#: ../src/gajim.py:2165
+#: ../src/gajim.py:2884
 msgid "Session Management support not available (missing gnome.ui module)"
-msgstr "Отсутствует поддержка управления сессиями (отсутствует модуль gnome.ui)"
+msgstr ""
+"Отсутствует поддержка управления сессиями (отсутствует модуль gnome.ui)"
 
-#: ../src/gajim-remote.py:66
+#: ../src/gajim-remote.py:73
 msgid "Shows a help on specific command"
 msgstr "Показывает помощь для конкретной команды"
 
 #. User gets help for the command, specified by this parameter
-#: ../src/gajim-remote.py:69
+#: ../src/gajim-remote.py:76
 msgid "command"
 msgstr "команда"
 
-#: ../src/gajim-remote.py:70
+#: ../src/gajim-remote.py:77
 msgid "show help on command"
 msgstr "показать помощь по команде"
 
-#: ../src/gajim-remote.py:74
+#: ../src/gajim-remote.py:81
 msgid "Shows or hides the roster window"
 msgstr "Скрывает или показывает окно ростера"
 
-#: ../src/gajim-remote.py:78
-msgid "Popups a window with the next pending event"
+#: ../src/gajim-remote.py:85
+msgid "Pops up a window with the next pending event"
 msgstr "Показывать окно со следующим непрочитанным сообщением"
 
-#: ../src/gajim-remote.py:82
+#: ../src/gajim-remote.py:89
 msgid ""
-"Prints a list of all contacts in the roster. Each contact appear on a "
+"Prints a list of all contacts in the roster. Each contact appears on a "
 "separate line"
 msgstr ""
 "Выводит список всех контактов в ростере. Каждый контакт будет в отдельной "
 "строке"
 
-#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:98
-#: ../src/gajim-remote.py:108 ../src/gajim-remote.py:121
-#: ../src/gajim-remote.py:135 ../src/gajim-remote.py:156
-#: ../src/gajim-remote.py:186 ../src/gajim-remote.py:195
-#: ../src/gajim-remote.py:202 ../src/gajim-remote.py:209
-#: ../src/gajim-remote.py:220
+#: ../src/gajim-remote.py:92 ../src/gajim-remote.py:107
+#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:130
+#: ../src/gajim-remote.py:144 ../src/gajim-remote.py:153
+#: ../src/gajim-remote.py:174 ../src/gajim-remote.py:204
+#: ../src/gajim-remote.py:213 ../src/gajim-remote.py:220
+#: ../src/gajim-remote.py:227 ../src/gajim-remote.py:238
+#: ../src/gajim-remote.py:254 ../src/gajim-remote.py:263
 msgid "account"
 msgstr "Учетные записи"
 
-#: ../src/gajim-remote.py:84
+#: ../src/gajim-remote.py:92
 msgid "show only contacts of the given account"
 msgstr "показывать контакты только для данной учетной записи"
 
-#: ../src/gajim-remote.py:89
+#: ../src/gajim-remote.py:98
 msgid "Prints a list of registered accounts"
 msgstr "Показывает список зарегистрированных учетных записей"
 
-#: ../src/gajim-remote.py:93
+#: ../src/gajim-remote.py:102
 msgid "Changes the status of account or accounts"
 msgstr "Изменяет статус учетной записи или записей"
 
 #. offline, online, chat, away, xa, dnd, invisible should not be translated
-#: ../src/gajim-remote.py:96
+#: ../src/gajim-remote.py:105
 msgid "status"
 msgstr "статус"
 
-#: ../src/gajim-remote.py:96
+#: ../src/gajim-remote.py:105
 msgid "one of: offline, online, chat, away, xa, dnd, invisible "
-msgstr "один из: отключен, в сети, чат, отошел, недоступен, не беспокоить, невидимка"
+msgstr ""
+"один из: отключен, в сети, чат, отошел, недоступен, не беспокоить, невидимка"
 
-#: ../src/gajim-remote.py:97 ../src/gajim-remote.py:118
-#: ../src/gajim-remote.py:132
+#: ../src/gajim-remote.py:106 ../src/gajim-remote.py:127
+#: ../src/gajim-remote.py:141 ../src/gajim-remote.py:152
 msgid "message"
 msgstr "сообщение"
 
-#: ../src/gajim-remote.py:97
+#: ../src/gajim-remote.py:106
 msgid "status message"
 msgstr "сообщение сервера"
 
-#: ../src/gajim-remote.py:98
+#: ../src/gajim-remote.py:107
 msgid ""
 "change status of account \"account\". If not specified, try to change status "
 "of all accounts that have \"sync with global status\" option set"
@@ -4067,19 +4945,19 @@ msgstr ""
 "изменить статус всех учетных записей, у которых установлена опция "
 "\"синхронизировать с глобальным статусом\""
 
-#: ../src/gajim-remote.py:104
+#: ../src/gajim-remote.py:113
 msgid "Shows the chat dialog so that you can send messages to a contact"
 msgstr "Показывает окно беседы, чтобы вы могли отправлять сообщения контакту"
 
-#: ../src/gajim-remote.py:106
+#: ../src/gajim-remote.py:115
 msgid "JID of the contact that you want to chat with"
 msgstr "JID контакта, с которым вы хотели бы побеседовать"
 
-#: ../src/gajim-remote.py:108 ../src/gajim-remote.py:186
+#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:204
 msgid "if specified, contact is taken from the contact list of this account"
 msgstr "если указано, контакт будет взят из контакт-листа этой учетной записи"
 
-#: ../src/gajim-remote.py:113
+#: ../src/gajim-remote.py:122
 msgid ""
 "Sends new chat message to a contact in the roster. Both OpenPGP key and "
 "account are optional. If you want to set only 'account', without 'OpenPGP "
@@ -4089,27 +4967,31 @@ msgstr ""
 "учетная запись опциональны. Если вы хотите настроить лишь 'учетную запись', "
 "без 'OpenPGP ключа', просто установите 'OpenPGP ключ' в ''."
 
-#: ../src/gajim-remote.py:117 ../src/gajim-remote.py:130
+#: ../src/gajim-remote.py:126 ../src/gajim-remote.py:139
 msgid "JID of the contact that will receive the message"
 msgstr "JID контакта, который получит сообщение"
 
-#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:132
+#: ../src/gajim-remote.py:127 ../src/gajim-remote.py:141
+#: ../src/gajim-remote.py:152
 msgid "message contents"
 msgstr "содержимое сообщения"
 
-#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:128 ../src/gajim-remote.py:142
 msgid "pgp key"
 msgstr "PGP ключ"
 
-#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:128 ../src/gajim-remote.py:142
 msgid "if specified, the message will be encrypted using this public key"
-msgstr "если указано, сообщение будет зашифровано с использованием открытого ключа"
+msgstr ""
+"если указано, сообщение будет зашифровано с использованием открытого ключа"
 
-#: ../src/gajim-remote.py:121 ../src/gajim-remote.py:135
+#: ../src/gajim-remote.py:130 ../src/gajim-remote.py:144
+#: ../src/gajim-remote.py:153
 msgid "if specified, the message will be sent using this account"
-msgstr "если указано, сообщение будет отправлено с использованием этой учетной записи"
+msgstr ""
+"если указано, сообщение будет отправлено с использованием этой учетной записи"
 
-#: ../src/gajim-remote.py:126
+#: ../src/gajim-remote.py:135
 msgid ""
 "Sends new single message to a contact in the roster. Both OpenPGP key and "
 "account are optional. If you want to set only 'account', without 'OpenPGP "
@@ -4119,138 +5001,173 @@ msgstr ""
 "учетная запись опциональны. Если вы хотите настроить лишь 'учетную запись', "
 "без 'OpenPGP ключа', просто установите 'OpenPGP ключ' в ''."
 
-#: ../src/gajim-remote.py:131
+#: ../src/gajim-remote.py:140
 msgid "subject"
 msgstr "тема"
 
-#: ../src/gajim-remote.py:131
+#: ../src/gajim-remote.py:140
 msgid "message subject"
 msgstr "тема сообщения"
 
-#: ../src/gajim-remote.py:140
+#: ../src/gajim-remote.py:149
+msgid "Sends new message to a groupchat you've joined."
+msgstr ""
+
+#: ../src/gajim-remote.py:151
+msgid "JID of the room that will receive the message"
+msgstr "JID контакта, который получит сообщение"
+
+#: ../src/gajim-remote.py:158
 msgid "Gets detailed info on a contact"
 msgstr "Получает детальную информацию о контакте"
 
-#: ../src/gajim-remote.py:142 ../src/gajim-remote.py:155
-#: ../src/gajim-remote.py:185 ../src/gajim-remote.py:194
+#: ../src/gajim-remote.py:160 ../src/gajim-remote.py:173
+#: ../src/gajim-remote.py:203 ../src/gajim-remote.py:212
 msgid "JID of the contact"
 msgstr "JID контакта"
 
-#: ../src/gajim-remote.py:146
+#: ../src/gajim-remote.py:164
 msgid "Gets detailed info on a account"
 msgstr "Получает детальную информацию о учетной записи"
 
-#: ../src/gajim-remote.py:148
+#: ../src/gajim-remote.py:166
 msgid "Name of the account"
 msgstr "Имя учетной записи"
 
-#: ../src/gajim-remote.py:152
+#: ../src/gajim-remote.py:170
 msgid "Sends file to a contact"
 msgstr "Отправляет контакту файл"
 
-#: ../src/gajim-remote.py:154
+#: ../src/gajim-remote.py:172
 msgid "file"
 msgstr "файл"
 
-#: ../src/gajim-remote.py:154
+#: ../src/gajim-remote.py:172
 msgid "File path"
 msgstr "Путь до файла"
 
-#: ../src/gajim-remote.py:156
+#: ../src/gajim-remote.py:174
 msgid "if specified, file will be sent using this account"
-msgstr "если указано, файл будет отправлен с использованием этой учетной записи"
+msgstr ""
+"если указано, файл будет отправлен с использованием этой учетной записи"
 
-#: ../src/gajim-remote.py:161
+#: ../src/gajim-remote.py:179
 msgid "Lists all preferences and their values"
 msgstr "Показывает все параметры с их значениями"
 
-#: ../src/gajim-remote.py:165
+#: ../src/gajim-remote.py:183
 msgid "Sets value of 'key' to 'value'."
 msgstr "Присваивает 'ключу' в 'значение'"
 
-#: ../src/gajim-remote.py:167
+#: ../src/gajim-remote.py:185
 msgid "key=value"
 msgstr "ключ=значение"
 
-#: ../src/gajim-remote.py:167
+#: ../src/gajim-remote.py:185
 msgid "'key' is the name of the preference, 'value' is the value to set it to"
-msgstr "'ключ' это название параметра, а 'значение' это то, что ему присваивают"
+msgstr ""
+"'ключ' это название параметра, а 'значение' это то, что ему присваивают"
 
-#: ../src/gajim-remote.py:172
+#: ../src/gajim-remote.py:190
 msgid "Deletes a preference item"
 msgstr "Удаляет параметр"
 
-#: ../src/gajim-remote.py:174
+#: ../src/gajim-remote.py:192
 msgid "key"
 msgstr "ключ"
 
-#: ../src/gajim-remote.py:174
+#: ../src/gajim-remote.py:192
 msgid "name of the preference to be deleted"
 msgstr "имя параметра, который нужно удалить"
 
-#: ../src/gajim-remote.py:178
+#: ../src/gajim-remote.py:196
 msgid "Writes the current state of Gajim preferences to the .config file"
 msgstr "Сохраняет текущее состояние настроек Gajim в файл .config"
 
-#: ../src/gajim-remote.py:183
+#: ../src/gajim-remote.py:201
 msgid "Removes contact from roster"
 msgstr "Удаляет контакт из ростера"
 
-#: ../src/gajim-remote.py:192
+#: ../src/gajim-remote.py:210
 msgid "Adds contact to roster"
 msgstr "Добавляет контакт в ростер"
 
-#: ../src/gajim-remote.py:194
+#: ../src/gajim-remote.py:212
 msgid "jid"
 msgstr "JID"
 
-#: ../src/gajim-remote.py:195
+#: ../src/gajim-remote.py:213
 msgid "Adds new contact to this account"
 msgstr "Добавляет новый контакт для данной учетной записи"
 
-#: ../src/gajim-remote.py:200
+#: ../src/gajim-remote.py:218
 msgid "Returns current status (the global one unless account is specified)"
 msgstr ""
 "Возвращает текущий статус (по умолчанию глобальный, если не указана учетная "
 "запись)"
 
-#: ../src/gajim-remote.py:207
-msgid "Returns current status message(the global one unless account is specified)"
+#: ../src/gajim-remote.py:225
+msgid ""
+"Returns current status message(the global one unless account is specified)"
 msgstr ""
 "Возвращает текущий статус (по умолчанию глобальный, если не указана учетная "
 "запись)"
 
-#: ../src/gajim-remote.py:214
-msgid "Returns number of unreaded messages"
+#: ../src/gajim-remote.py:232
+msgid "Returns number of unread messages"
 msgstr "Возвращает количество непрочитанных сообщений"
 
-#: ../src/gajim-remote.py:218
+#: ../src/gajim-remote.py:236
 msgid "Opens 'Start Chat' dialog"
 msgstr "Открыть диалог «Начать беседу»"
 
-#: ../src/gajim-remote.py:220
+#: ../src/gajim-remote.py:238
 msgid "Starts chat, using this account"
 msgstr "Начать беседу с этой учетной записи"
 
-#: ../src/gajim-remote.py:224
+#: ../src/gajim-remote.py:242
 msgid "Sends custom XML"
 msgstr "Отправляет произвольный XML"
 
-#: ../src/gajim-remote.py:226
+#: ../src/gajim-remote.py:244
 msgid "XML to send"
 msgstr "Отправляемый XML"
 
-#: ../src/gajim-remote.py:227
-msgid ""
-"Account in which the xml will be sent; if not specified, xml will be sent to "
-"all accounts"
-msgstr "Учётная запись, из которой будет отправлен XML."
+#: ../src/gajim-remote.py:245
+msgid ""
+"Account in which the xml will be sent; if not specified, xml will be sent to "
+"all accounts"
+msgstr "Учётная запись, из которой будет отправлен XML."
+
+#: ../src/gajim-remote.py:251
+msgid "Handle a xmpp:/ uri"
+msgstr ""
+
+#: ../src/gajim-remote.py:253
+msgid "uri"
+msgstr ""
+
+#: ../src/gajim-remote.py:258
+msgid "Join a MUC room"
+msgstr ""
+
+#: ../src/gajim-remote.py:260
+msgid "room"
+msgstr "комната"
+
+#: ../src/gajim-remote.py:261
+msgid "nick"
+msgstr "Ник"
+
+#: ../src/gajim-remote.py:262
+msgid "password"
+msgstr "Пароль:"
 
-#: ../src/gajim-remote.py:249
+#: ../src/gajim-remote.py:285
 msgid "Missing argument \"contact_jid\""
 msgstr "Пропущен аргумент \"JID контакта\""
 
-#: ../src/gajim-remote.py:268
+#: ../src/gajim-remote.py:304
 #, python-format
 msgid ""
 "'%s' is not in your roster.\n"
@@ -4259,11 +5176,11 @@ msgstr ""
 "'%s' не в вашем ростере\n"
 "Пожалуйста, укажите учетную запись для отправки сообщения."
 
-#: ../src/gajim-remote.py:271
+#: ../src/gajim-remote.py:307
 msgid "You have no active account"
 msgstr "У вас нет активной учетной записи"
 
-#: ../src/gajim-remote.py:335
+#: ../src/gajim-remote.py:371
 #, python-format
 msgid ""
 "Usage: %s %s %s \n"
@@ -4272,16 +5189,16 @@ msgstr ""
 "Использование: %s %s %s \n"
 "\t %s"
 
-#: ../src/gajim-remote.py:338
+#: ../src/gajim-remote.py:374
 msgid "Arguments:"
 msgstr "Аргументы:"
 
-#: ../src/gajim-remote.py:342
+#: ../src/gajim-remote.py:378
 #, python-format
 msgid "%s not found"
 msgstr "%s не найден"
 
-#: ../src/gajim-remote.py:346
+#: ../src/gajim-remote.py:382
 #, python-format
 msgid ""
 "Usage: %s command [arguments]\n"
@@ -4290,7 +5207,16 @@ msgstr ""
 "Использование: %s команда [аргумента]\n"
 "Команда одна из:\n"
 
-#: ../src/gajim-remote.py:420
+#: ../src/gajim-remote.py:455
+#, python-format
+msgid ""
+"Too many arguments. \n"
+"Type \"%s help %s\" for more info"
+msgstr ""
+"Много аргументов. \n"
+"Наберите \"%s  help %s\" для справки"
+
+#: ../src/gajim-remote.py:459
 #, python-format
 msgid ""
 "Argument \"%s\" is not specified. \n"
@@ -4299,135 +5225,152 @@ msgstr ""
 "Аргумент \"%s\" не задан. \n"
 "Наберите \"%s\" help \"%s\" для справки"
 
-#: ../src/gajim_themes_window.py:60
+#: ../src/gajim-remote.py:477
+msgid "Wrong uri"
+msgstr "Неверный хост"
+
+#: ../src/gajim_themes_window.py:67
 msgid "Theme"
 msgstr "Тема"
 
+#: ../src/gajim_themes_window.py:105
+msgid "You cannot make changes to the default theme"
+msgstr "Вы не можете удалить вашу текущую тему"
+
+#: ../src/gajim_themes_window.py:106
+msgid "Please create a clean new theme with your desired name."
+msgstr ""
+
 #. don't confuse translators
-#: ../src/gajim_themes_window.py:155
+#: ../src/gajim_themes_window.py:180
 msgid "theme name"
 msgstr "имя тeмы"
 
-#: ../src/gajim_themes_window.py:172
+#: ../src/gajim_themes_window.py:197
 msgid "You cannot delete your current theme"
 msgstr "Вы не можете удалить вашу текущую тему"
 
-#: ../src/gajim_themes_window.py:173
+#: ../src/gajim_themes_window.py:198
 msgid "Please first choose another for your current theme."
 msgstr "Пожалуйста, выберите сначала другую тему."
 
-#: ../src/groupchat_control.py:106
-msgid "Private Chat"
-msgstr "Личная беседа"
-
-#: ../src/groupchat_control.py:106
-msgid "Private Chats"
-msgstr "Личные беседы"
-
-#: ../src/groupchat_control.py:123
+#: ../src/groupchat_control.py:139
 msgid "Sending private message failed"
 msgstr "Не удалось отправить личное сообщение"
 
 #. in second %s code replaces with nickname
-#: ../src/groupchat_control.py:125
+#: ../src/groupchat_control.py:141
 #, python-format
 msgid "You are no longer in group chat \"%s\" or \"%s\" has left."
 msgstr "Вы больше не находитесь в комнате \"%s\" или \"%s\" вышел."
 
-#: ../src/groupchat_control.py:144
-msgid "Group Chat"
-msgstr "Комната"
-
-#: ../src/groupchat_control.py:144
-msgid "Group Chats"
-msgstr "Комнаты"
-
-#: ../src/groupchat_control.py:318
+#: ../src/groupchat_control.py:350
 msgid "Insert Nickname"
 msgstr "Вставить ник"
 
+#: ../src/groupchat_control.py:882
+msgid "Really send file?"
+msgstr "Отправить файл?"
+
+#: ../src/groupchat_control.py:883
+#, python-format
+msgid "If you send a file to %s, he/she will know your real Jabber ID."
+msgstr ""
+
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/groupchat_control.py:958
+msgid "Room logging is enabled"
+msgstr "Запись логов конференции включена"
+
+#: ../src/groupchat_control.py:960
+msgid "A new room has been created"
+msgstr "Новая комната была создана"
+
+#: ../src/groupchat_control.py:963
+msgid "The server has assigned or modified your roomnick"
+msgstr ""
+
 #. do not print 'kicked by None'
-#: ../src/groupchat_control.py:831
+#: ../src/groupchat_control.py:969
 #, python-format
 msgid "%(nick)s has been kicked: %(reason)s"
 msgstr "%(nick)s выгнали из комнаты: %(reason)s"
 
-#: ../src/groupchat_control.py:835
+#: ../src/groupchat_control.py:973
 #, python-format
 msgid "%(nick)s has been kicked by %(who)s: %(reason)s"
 msgstr "%(who)s выгнал %(nick)s из комнаты: %(reason)s"
 
 #. do not print 'banned by None'
-#: ../src/groupchat_control.py:842
+#: ../src/groupchat_control.py:980
 #, python-format
 msgid "%(nick)s has been banned: %(reason)s"
 msgstr "%(nick)s запретили заходить в комнату: %(reason)s"
 
-#: ../src/groupchat_control.py:846
+#: ../src/groupchat_control.py:984
 #, python-format
 msgid "%(nick)s has been banned by %(who)s: %(reason)s"
 msgstr "%(who)s запретил %(nick)s заходить в комнату: %(reason)s"
 
-#: ../src/groupchat_control.py:854
+#: ../src/groupchat_control.py:993
 #, python-format
 msgid "You are now known as %s"
 msgstr "Вы теперь известны как %s"
 
-#: ../src/groupchat_control.py:856
+#: ../src/groupchat_control.py:1029 ../src/groupchat_control.py:1033
+#: ../src/groupchat_control.py:1038
 #, python-format
-msgid "%s is now known as %s"
-msgstr "%s теперь известен как %s"
+msgid "%(nick)s has been removed from the room (%(reason)s)"
+msgstr "%(nick)s выгнали из комнаты (%(reason)s)"
+
+#: ../src/groupchat_control.py:1030
+msgid "affiliation changed"
+msgstr ""
+
+#: ../src/groupchat_control.py:1035
+msgid "room configuration changed to members-only"
+msgstr ""
+
+#: ../src/groupchat_control.py:1040
+msgid "system shutdown"
+msgstr ""
 
-#: ../src/groupchat_control.py:936
+#: ../src/groupchat_control.py:1139
 #, python-format
 msgid "%s has left"
 msgstr "%s ушел"
 
-#: ../src/groupchat_control.py:941
+#: ../src/groupchat_control.py:1144
 #, python-format
 msgid "%s has joined the group chat"
 msgstr "%s зашёл в комнату"
 
-#. No status message
-#: ../src/groupchat_control.py:943 ../src/roster_window.py:1200
-#, python-format
-msgid "%s is now %s"
-msgstr "%s %s"
+#. Invalid Nickname
+#. invalid char
+#: ../src/groupchat_control.py:1257 ../src/groupchat_control.py:1536
+msgid "Invalid nickname"
+msgstr "Неверное имя пользователя"
+
+#: ../src/groupchat_control.py:1258 ../src/groupchat_control.py:1537
+msgid "The nickname has not allowed characters."
+msgstr "В Jabber ID комнаты или сервера содержатся недопустимые символы."
 
-#: ../src/groupchat_control.py:1062 ../src/groupchat_control.py:1080
-#: ../src/groupchat_control.py:1173 ../src/groupchat_control.py:1190
+#: ../src/groupchat_control.py:1281 ../src/groupchat_control.py:1299
+#: ../src/groupchat_control.py:1383 ../src/groupchat_control.py:1400
 #, python-format
 msgid "Nickname not found: %s"
 msgstr "Ник не обнаружен: %s"
 
-#: ../src/groupchat_control.py:1096
+#: ../src/groupchat_control.py:1315
 msgid "This group chat has no subject"
 msgstr "У этой комнаты нет темы"
 
-#: ../src/groupchat_control.py:1109
+#: ../src/groupchat_control.py:1326
 #, python-format
 msgid "Invited %(contact_jid)s to %(room_jid)s."
 msgstr "Пригласил %(contact_jid)s в %(room_jid)s."
 
-#. %s is something the user wrote but it is not a jid so we inform
-#: ../src/groupchat_control.py:1116 ../src/groupchat_control.py:1144
-#, python-format
-msgid "%s does not appear to be a valid JID"
-msgstr "%s не является нормальным JID"
-
-#: ../src/groupchat_control.py:1227
-#, python-format
-msgid "No such command: /%s (if you want to send this, prefix it with /say)"
-msgstr ""
-"Нет такой команды: /%s (если вы хотите её просто передать, то добавьте к ней "
-"префикс /say)"
-
-#: ../src/groupchat_control.py:1250
-#, python-format
-msgid "Commands: %s"
-msgstr "Команды: %s"
-
-#: ../src/groupchat_control.py:1252
+#: ../src/groupchat_control.py:1463
 #, python-format
 msgid ""
 "Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
@@ -4440,29 +5383,24 @@ msgstr ""
 "данный момент находится в комнате, то он/она/оно также будет выгнан. НЕ "
 "поддерживает пробелы в никах."
 
-#: ../src/groupchat_control.py:1259
+#: ../src/groupchat_control.py:1470
 #, python-format
-msgid "Usage: /%s <nickname>, opens a private chat window to the specified occupant."
-msgstr "Использование: /%s <ник>, открывает окно привата с указанным посетителем."
-
-#: ../src/groupchat_control.py:1263
-#, python-format
-msgid "Usage: /%s, clears the text window."
-msgstr "Использование: /%s, очищает текстовое окно."
+msgid ""
+"Usage: /%s <nickname>, opens a private chat window with the specified "
+"occupant."
+msgstr ""
+"Использование: /%s <ник>, открывает окно привата с указанным посетителем."
 
-#: ../src/groupchat_control.py:1265
+#: ../src/groupchat_control.py:1476
 #, python-format
 msgid ""
 "Usage: /%s [reason], closes the current window or tab, displaying reason if "
 "specified."
-msgstr "Использование: /%s [причина], закрывает текущее окно или вкладку, приводя причину, если она указана."
-
-#: ../src/groupchat_control.py:1268
-#, python-format
-msgid "Usage: /%s, hide the chat buttons."
-msgstr "Использование: /%s, скрывает кнопки беседы."
+msgstr ""
+"Использование: /%s [причина], закрывает текущее окно или вкладку, приводя "
+"причину, если она указана."
 
-#: ../src/groupchat_control.py:1271
+#: ../src/groupchat_control.py:1482
 #, python-format
 msgid ""
 "Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
@@ -4471,7 +5409,7 @@ msgstr ""
 "Использование: /%s <JID> [причина], приглашает JID в текущую комнату, с "
 "возможным указанием причины."
 
-#: ../src/groupchat_control.py:1275
+#: ../src/groupchat_control.py:1486
 #, python-format
 msgid ""
 "Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
@@ -4480,7 +5418,7 @@ msgstr ""
 "Использование: /%s <комната>@<сервер>[/ник], предлагает присоединиться к "
 "комната@сервер, с возможным указанием ника."
 
-#: ../src/groupchat_control.py:1279
+#: ../src/groupchat_control.py:1490
 #, python-format
 msgid ""
 "Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
@@ -4490,118 +5428,126 @@ msgstr ""
 "Использование: /%s <ник> [причина], удаляет посетителя с указанным ником из "
 "комнаты с возможным указанием причины. НЕ поддерживает пробелы в нике."
 
-#: ../src/groupchat_control.py:1284
-#, python-format
-msgid ""
-"Usage: /%s <action>, sends action to the current group chat. Use third "
-"person. (e.g. /%s explodes.)"
-msgstr ""
-"Использование: /%s <действие>, совершает действие в текущей комнате. "
-"Используйте третье лицо (например, «/%s взрывается».)"
-
-#: ../src/groupchat_control.py:1288
+#: ../src/groupchat_control.py:1499
 #, python-format
 msgid ""
-"Usage: /%s <nickname> [message], opens a private message windowand sends "
+"Usage: /%s <nickname> [message], opens a private message window and sends "
 "message to the occupant specified by nickname."
 msgstr ""
 "Использование: /%s <ник> [сообщение], открывает окно личной беседы и "
 "отсылает сообщение посетителю с указанным ником."
 
-#: ../src/groupchat_control.py:1293
+#: ../src/groupchat_control.py:1504
 #, python-format
 msgid "Usage: /%s <nickname>, changes your nickname in current group chat."
 msgstr "Использование: /%s <ник>, меняет ваш ник в текущей комнате."
 
-#: ../src/groupchat_control.py:1297
+#: ../src/groupchat_control.py:1508
 #, python-format
 msgid "Usage: /%s , display the names of group chat occupants."
 msgstr "Использование: /%s, показывает список присутствующих в комнате."
 
-#: ../src/groupchat_control.py:1301
+#: ../src/groupchat_control.py:1512
 #, python-format
 msgid "Usage: /%s [topic], displays or updates the current group chat topic."
-msgstr "Использование: /%s [тема], показывает или изменяет текущую тему комнаты."
+msgstr ""
+"Использование: /%s [тема], показывает или изменяет текущую тему комнаты."
 
-#: ../src/groupchat_control.py:1304
+#: ../src/groupchat_control.py:1515
 #, python-format
-msgid "Usage: /%s <message>, sends a message without looking for other commands."
+msgid ""
+"Usage: /%s <message>, sends a message without looking for other commands."
 msgstr ""
 "Использование: /%s <сообщение>, отсылает сообщение без поиска других команд "
 "в нем."
 
-#: ../src/groupchat_control.py:1307
-#, python-format
-msgid "No help info for /%s"
-msgstr "Нет подсказки для /%s"
-
-#: ../src/groupchat_control.py:1356
+#: ../src/groupchat_control.py:1621
 #, python-format
 msgid "Are you sure you want to leave group chat \"%s\"?"
 msgstr "Вы точно хотите выйти из комнаты \"%s\"?"
 
-#: ../src/groupchat_control.py:1358
-msgid "If you close this window, you will be disconnected from this group chat."
+#: ../src/groupchat_control.py:1623
+msgid ""
+"If you close this window, you will be disconnected from this group chat."
 msgstr "Если вы закроете это окно, то вы выйдете из этой комнаты."
 
-#: ../src/groupchat_control.py:1362 ../src/roster_window.py:3962
+#: ../src/groupchat_control.py:1627 ../src/roster_window.py:4902
 msgid "Do _not ask me again"
 msgstr "Не _переспрашивать"
 
-#: ../src/groupchat_control.py:1396
+#: ../src/groupchat_control.py:1659
 msgid "Changing Subject"
 msgstr "Изменяет тему"
 
-#: ../src/groupchat_control.py:1397
+#: ../src/groupchat_control.py:1660
 msgid "Please specify the new subject:"
 msgstr "Пожалуйста, введите новую тему:"
 
-#: ../src/groupchat_control.py:1406
+#: ../src/groupchat_control.py:1669
 msgid "Changing Nickname"
 msgstr "Изменяет ник"
 
-#: ../src/groupchat_control.py:1407
+#: ../src/groupchat_control.py:1670
 msgid "Please specify the new nickname you want to use:"
 msgstr "Пожалуйста, введите новый ник, который вы хотите использовать:"
 
-#: ../src/groupchat_control.py:1432
+# смотря где вылазит меседж - нужно присмотреться
+#. Ask for a reason
+#: ../src/groupchat_control.py:1685
+#, fuzzy, python-format
+msgid "Destroying %s"
+msgstr "Удаление: %s"
+
+#: ../src/groupchat_control.py:1686
+msgid ""
+"You are going to definitively destroy this room.\n"
+"You may specify a reason below:"
+msgstr ""
+"Вы хотите уничтожить комнату.\n"
+"Вы можете указать причину:"
+
+#: ../src/groupchat_control.py:1688
+msgid "You may also enter an alternate venue:"
+msgstr "Альтернативная причина:"
+
+#: ../src/groupchat_control.py:1720
 msgid "Bookmark already set"
 msgstr "Закладка уже установлена"
 
-#: ../src/groupchat_control.py:1433
+#: ../src/groupchat_control.py:1721
 #, python-format
 msgid "Group Chat \"%s\" is already in your bookmarks."
 msgstr "Комната \"%s\" уже есть в ваших закладках."
 
-#: ../src/groupchat_control.py:1442
+#: ../src/groupchat_control.py:1730
 msgid "Bookmark has been added successfully"
 msgstr "Закладка успешно добавлена"
 
-#: ../src/groupchat_control.py:1443
+#: ../src/groupchat_control.py:1731
 msgid "You can manage your bookmarks via Actions menu in your roster."
 msgstr "Вы можете управлять закладками через меню \"Действия\" в ростере."
 
 #. ask for reason
-#: ../src/groupchat_control.py:1569
+#: ../src/groupchat_control.py:1883
 #, python-format
 msgid "Kicking %s"
 msgstr "Кикнуть %s"
 
-#: ../src/groupchat_control.py:1570 ../src/groupchat_control.py:1852
+#: ../src/groupchat_control.py:1884 ../src/groupchat_control.py:2184
 msgid "You may specify a reason below:"
 msgstr "Вы можете указать причину ниже:"
 
 #. ask for reason
-#: ../src/groupchat_control.py:1851
+#: ../src/groupchat_control.py:2183
 #, python-format
 msgid "Banning %s"
 msgstr "Забанить %s"
 
-#: ../src/gtkexcepthook.py:41
+#: ../src/gtkexcepthook.py:46
 msgid "A programming error has been detected"
 msgstr "Обнаружена ошибка в программе"
 
-#: ../src/gtkexcepthook.py:42
+#: ../src/gtkexcepthook.py:47
 msgid ""
 "It probably is not fatal, but should be reported to the developers "
 "nonetheless."
@@ -4609,83 +5555,98 @@ msgstr ""
 "Возможно это не так страшно, но все равно стоит сообщить об этом "
 "разработчикам."
 
-#: ../src/gtkexcepthook.py:48
+#: ../src/gtkexcepthook.py:53
 msgid "_Report Bug"
 msgstr "_Сообщить об ошибке"
 
-#: ../src/gtkexcepthook.py:71
+#: ../src/gtkexcepthook.py:76
 msgid "Details"
 msgstr "Детали"
 
 #. we talk about file
-#: ../src/gtkgui_helpers.py:153 ../src/gtkgui_helpers.py:168
+#: ../src/gtkgui_helpers.py:162 ../src/gtkgui_helpers.py:177
 #, python-format
 msgid "Error: cannot open %s for reading"
 msgstr "Ошибка: не могу открыть %s для чтения"
 
-#: ../src/gtkgui_helpers.py:293
+#: ../src/gtkgui_helpers.py:347
 msgid "Error reading file:"
 msgstr "Ошибка чтения файла:"
 
-#: ../src/gtkgui_helpers.py:296
+#: ../src/gtkgui_helpers.py:350
 msgid "Error parsing file:"
 msgstr "Ошибка обработки файла:"
 
 #. do not traceback (could be a permission problem)
 #. we talk about a file here
-#: ../src/gtkgui_helpers.py:334
+#: ../src/gtkgui_helpers.py:387
 #, python-format
 msgid "Could not write to %s. Session Management support will not work"
 msgstr "Не могу писать в %s. Управление сессиями будет недоступно"
 
-#: ../src/gtkgui_helpers.py:728
+#. xmpp: is currently handled by another program, so ask the user
+#: ../src/gtkgui_helpers.py:719
+msgid "Gajim is not the default Jabber client"
+msgstr "Gajim не является основным jabber-клиентом"
+
+#: ../src/gtkgui_helpers.py:720
+msgid "Would you like to make Gajim the default Jabber client?"
+msgstr "Вы хотите сделать Gajim основным jabber-клиентом?"
+
+#: ../src/gtkgui_helpers.py:721
+msgid "Always check to see if Gajim is the default Jabber client on startup"
+msgstr ""
+"Всегда проверять при запуске является ли Gajim основным jabber-клиентом"
+
+#: ../src/gtkgui_helpers.py:818
 msgid "Extension not supported"
 msgstr "Расширение не поддерживается"
 
-#: ../src/gtkgui_helpers.py:729
+#: ../src/gtkgui_helpers.py:819
 #, python-format
 msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
 msgstr ""
 "Изображение нельзя сохранить в формате %(type)s. Сохранить как %"
 "(new_filename)s?"
 
-#: ../src/gtkgui_helpers.py:738
+#: ../src/gtkgui_helpers.py:828
 msgid "Save Image as..."
 msgstr "Сохранить изображение как..."
 
-#: ../src/history_manager.py:64
+#: ../src/history_manager.py:73
 msgid "Cannot find history logs database"
 msgstr "Не могу найти базу данных истории"
 
 #. holds jid
-#: ../src/history_manager.py:107
+#: ../src/history_manager.py:113
 msgid "Contacts"
 msgstr "Контакты"
 
 #. holds time
-#: ../src/history_manager.py:120 ../src/history_manager.py:160
-#: ../src/history_window.py:86
+#: ../src/history_manager.py:126 ../src/history_manager.py:166
+#: ../src/history_window.py:121
 msgid "Date"
 msgstr "Дата"
 
 #. holds nickname
-#: ../src/history_manager.py:126 ../src/history_manager.py:178
+#: ../src/history_manager.py:132 ../src/history_manager.py:184
 msgid "Nickname"
 msgstr "Ник"
 
 #. holds message
-#: ../src/history_manager.py:134 ../src/history_manager.py:166
-#: ../src/history_window.py:94
+#: ../src/history_manager.py:140 ../src/history_manager.py:172
+#: ../src/history_window.py:129
 msgid "Message"
 msgstr "Сообщение"
 
-#: ../src/history_manager.py:186
+#: ../src/history_manager.py:192
 msgid ""
 "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS "
 "RUNNING)"
-msgstr "Вы хотите очистить базу данных? (КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ ЕСЛИ GAJIM ЗАПУЩЕН)"
+msgstr ""
+"Вы хотите очистить базу данных? (КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ ЕСЛИ GAJIM ЗАПУЩЕН)"
 
-#: ../src/history_manager.py:188
+#: ../src/history_manager.py:194
 msgid ""
 "Normally allocated database size will not be freed, it will just become "
 "reusable. If you really want to reduce database filesize, click YES, else "
@@ -4699,235 +5660,300 @@ msgstr ""
 "\n"
 "Если вы нажали ДА, пожалуйста подождите..."
 
-#: ../src/history_manager.py:400
+#: ../src/history_manager.py:406
 msgid "Exporting History Logs..."
 msgstr "Экспортирую историю..."
 
-#: ../src/history_manager.py:476
+#: ../src/history_manager.py:481
 #, python-format
 msgid "%(who)s on %(time)s said: %(message)s\n"
 msgstr "%(who)s в %(time)s сказал: %(message)s\n"
 
-#: ../src/history_manager.py:514
+#: ../src/history_manager.py:518
 msgid "Do you really want to delete logs of the selected contact?"
 msgid_plural "Do you really want to delete logs of the selected contacts?"
 msgstr[0] "Вы точно хотите удалить логи выделенного контакта?"
 msgstr[1] "Вы точно хотите удалить логи выделенных контактов?"
 msgstr[2] "Вы точно хотите удалить логи выделенных контактов?"
 
-#: ../src/history_manager.py:518 ../src/history_manager.py:554
+#: ../src/history_manager.py:522 ../src/history_manager.py:557
 msgid "This is an irreversible operation."
 msgstr "Это необратимая операция"
 
-#: ../src/history_manager.py:551
+#: ../src/history_manager.py:554
 msgid "Do you really want to delete the selected message?"
 msgid_plural "Do you really want to delete the selected messages?"
 msgstr[0] "Вы точно хотите удалить выделенное сообщение?"
 msgstr[1] "Вы точно хотите удалить выделенные сообщения?"
 msgstr[2] "Вы точно хотите удалить выделенные сообщения?"
 
-#: ../src/history_window.py:103 ../src/history_window.py:105
+#: ../src/history_window.py:209 ../src/history_window.py:211
 #, python-format
 msgid "Conversation History with %s"
 msgstr "История %s"
 
-#: ../src/history_window.py:261
+#: ../src/history_window.py:342
 #, python-format
 msgid "%(nick)s is now %(status)s: %(status_msg)s"
 msgstr "%(nick)s теперь %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:265 ../src/notify.py:198
+#: ../src/history_window.py:346 ../src/notify.py:219
 #, python-format
 msgid "%(nick)s is now %(status)s"
 msgstr "%(nick)s теперь %(status)s"
 
-#: ../src/history_window.py:271
+#: ../src/history_window.py:352
 #, python-format
 msgid "Status is now: %(status)s: %(status_msg)s"
 msgstr "Статус установлен в:  %(status)s: %(status_msg)s"
 
-#: ../src/history_window.py:274
+#: ../src/history_window.py:355
 #, python-format
 msgid "Status is now: %(status)s"
 msgstr "Статус установлен в: %(status)s"
 
-#: ../src/message_window.py:273
+#: ../src/htmltextview.py:586 ../src/htmltextview.py:597
+msgid "Timeout loading image"
+msgstr "Не могу загрузить изображение"
+
+#: ../src/htmltextview.py:607
+msgid "Image is too big"
+msgstr "Изображение слишком большое"
+
+#: ../src/message_window.py:350
+msgid "Chats"
+msgstr "Чаты"
+
+#: ../src/message_window.py:352
+msgid "Group Chats"
+msgstr "Комнаты"
+
+#: ../src/message_window.py:354
+msgid "Private Chats"
+msgstr "Личные беседы"
+
+#: ../src/message_window.py:356
 msgid "Messages"
 msgstr "Сообщения"
 
-#: ../src/message_window.py:274
+#: ../src/message_window.py:357
 #, python-format
 msgid "%s - Gajim"
 msgstr "%s - Gajim"
 
-#: ../src/notify.py:196
+#: ../src/negotiation.py:13
+msgid "- messages will be logged"
+msgstr "- сообщения будут записаны в лог"
+
+#: ../src/negotiation.py:15
+msgid "- messages will not be logged"
+msgstr "- сообщения не будут записаны в лог"
+
+#: ../src/negotiation.py:24
+msgid "OK to continue with negotiation?"
+msgstr ""
+
+#: ../src/negotiation.py:25
+#, python-format
+msgid ""
+"You've begun an encrypted session with %s, but it can't be guaranteed that "
+"you're talking directly to the person you think you are.\n"
+"\n"
+"You should speak with them directly (in person or on the phone) and confirm "
+"that their Short Authentication String is identical to this one: %s\n"
+"\n"
+"Would you like to continue with the encrypted session?"
+msgstr ""
+
+#: ../src/negotiation.py:31
+msgid "Yes, I verified the Short Authentication String"
+msgstr ""
+
+#: ../src/notify.py:217
 #, python-format
 msgid "%(nick)s Changed Status"
 msgstr "%(nick)s меняет статус"
 
-#: ../src/notify.py:206
+#: ../src/notify.py:227
 #, python-format
 msgid "%(nickname)s Signed In"
 msgstr "%(nickname)s подключается"
 
-#: ../src/notify.py:214
+#: ../src/notify.py:235
 #, python-format
 msgid "%(nickname)s Signed Out"
 msgstr "%(nickname)s отключается"
 
-#: ../src/notify.py:226
+#: ../src/notify.py:247
 #, python-format
 msgid "New Single Message from %(nickname)s"
 msgstr "Новое сообщение от %(nickname)s"
 
-#: ../src/notify.py:234
+#: ../src/notify.py:255
 #, python-format
 msgid "New Private Message from group chat %s"
 msgstr "Новое личное сообщение из комнаты %s"
 
-#: ../src/notify.py:235
+#: ../src/notify.py:257
 #, python-format
 msgid "%(nickname)s: %(message)s"
 msgstr "%(nickname)s: %(message)s"
 
-#: ../src/notify.py:241
+#: ../src/notify.py:260
+#, python-format
+msgid "Messaged by %(nickname)s"
+msgstr "Новое сообщение от %(nickname)s"
+
+#: ../src/notify.py:266
 #, python-format
 msgid "New Message from %(nickname)s"
 msgstr "Новое сообщение от %(nickname)s"
 
-#: ../src/profile_window.py:72 ../src/profile_window.py:376
+#: ../src/profile_window.py:54
 msgid "Retrieving profile..."
 msgstr "Получаю данные..."
 
-#: ../src/profile_window.py:107 ../src/profile_window.py:203
-#: ../src/profile_window.py:212 ../src/profile_window.py:370
-msgid "Click to set your avatar"
-msgstr "Установить свою аватару"
+#: ../src/profile_window.py:107 ../src/roster_window.py:1914
+msgid "File is empty"
+msgstr "Пустой файл"
+
+#: ../src/profile_window.py:110 ../src/roster_window.py:1917
+msgid "File does not exist"
+msgstr "Файл не существует"
 
 #. keep identation
-#: ../src/profile_window.py:136
+#. unknown format
+#: ../src/profile_window.py:124 ../src/profile_window.py:140
+#: ../src/roster_window.py:1919 ../src/roster_window.py:1930
 msgid "Could not load image"
 msgstr "Не могу загрузить изображение"
 
-#: ../src/profile_window.py:238
+#: ../src/profile_window.py:250
 msgid "Information received"
 msgstr "Информация получена"
 
-#: ../src/profile_window.py:308
+#: ../src/profile_window.py:319
 msgid "Without a connection you can not publish your contact information."
 msgstr "Необходимо присоединиться к серверу для обновления личной информации"
 
-#: ../src/profile_window.py:320
+#: ../src/profile_window.py:331
 msgid "Sending profile..."
 msgstr "Отправляю данные..."
 
-#: ../src/profile_window.py:328
-msgid "Information published"
-msgstr "Информация опубликована"
-
-#: ../src/profile_window.py:340
+#: ../src/profile_window.py:346
 msgid "Information NOT published"
 msgstr "Информация НЕ опубликована"
 
-#: ../src/profile_window.py:347
+#: ../src/profile_window.py:353
 msgid "vCard publication failed"
 msgstr "Публикация vCard не удалась"
 
-#: ../src/profile_window.py:348
+#: ../src/profile_window.py:354
 msgid ""
 "There was an error while publishing your personal information, try again "
 "later."
-msgstr "При публикации вашей личной информации произошла ошибка, попробуйте позже."
-
-#: ../src/profile_window.py:374
-msgid "Without a connection, you can not get your contact information."
-msgstr "Необходимо присоединиться к серверу для получения информации о контакте"
+msgstr ""
+"При публикации вашей личной информации произошла ошибка, попробуйте позже."
 
-#: ../src/roster_window.py:168 ../src/roster_window.py:223
+#: ../src/roster_window.py:194 ../src/roster_window.py:249
 msgid "Merged accounts"
 msgstr "Объединенные учетные записи"
 
-#: ../src/roster_window.py:340 ../src/common/helpers.py:42
+#: ../src/roster_window.py:370 ../src/roster_window.py:635
+#: ../src/roster_window.py:2145 ../src/common/contacts.py:312
+#: ../src/common/helpers.py:53
 msgid "Observers"
 msgstr "Наблюдатели"
 
-#: ../src/roster_window.py:686 ../src/roster_window.py:3133
+#. Make special context menu if group is Groupchats
+#: ../src/roster_window.py:454 ../src/roster_window.py:459
+#: ../src/roster_window.py:1967 ../src/roster_window.py:1970
+#: ../src/roster_window.py:2640 ../src/roster_window.py:2643
+#: ../src/roster_window.py:2668 ../src/roster_window.py:4763
+#: ../src/roster_window.py:4765 ../src/common/commands.py:199
+#: ../src/common/contacts.py:102 ../src/common/helpers.py:53
+msgid "Groupchats"
+msgstr "Комнаты"
+
+#: ../src/roster_window.py:784 ../src/roster_window.py:4012
 msgid "You cannot join a group chat while you are invisible"
 msgstr "Вы не можете зайти в комнату, так как вы в режиме невидимости."
 
 #. new chat
+#. single message
 #. for chat_with
 #. for single message
-#: ../src/roster_window.py:878 ../src/systray.py:187 ../src/systray.py:192
+#. join gc
+#: ../src/roster_window.py:1005 ../src/roster_window.py:1015
+#: ../src/roster_window.py:1024 ../src/systray.py:212 ../src/systray.py:217
+#: ../src/systray.py:223
 #, python-format
 msgid "using account %s"
 msgstr "используя учетную запись %s"
 
-#. the 'manage gc bookmarks' item is shown
-#. below to avoid duplicate code
 #. add
-#: ../src/roster_window.py:903
+#: ../src/roster_window.py:1031
 #, python-format
 msgid "to %s account"
 msgstr "для учетной записи %s"
 
 #. disco
-#: ../src/roster_window.py:908
+#: ../src/roster_window.py:1036
 #, python-format
 msgid "using %s account"
 msgstr "учетной записи %s"
 
+#: ../src/roster_window.py:1117
+msgid "_Manage Bookmarks..."
+msgstr "Управление _закладками..."
+
 #. profile, avatar
-#: ../src/roster_window.py:983
+#: ../src/roster_window.py:1136
 #, python-format
 msgid "of account %s"
 msgstr "для учетной записи %s"
 
-#: ../src/roster_window.py:1003
-msgid "_Manage Bookmarks..."
-msgstr "Управление _закладками..."
-
-#: ../src/roster_window.py:1032
+#: ../src/roster_window.py:1176
 #, python-format
 msgid "for account %s"
 msgstr "для учетной записи %s"
 
 #. History manager
-#: ../src/roster_window.py:1053
+#: ../src/roster_window.py:1200
 msgid "History Manager"
 msgstr "Менеджер истории"
 
-#: ../src/roster_window.py:1062
+#: ../src/roster_window.py:1209
 msgid "_Join New Group Chat"
 msgstr "Войти в новую комнату"
 
-#: ../src/roster_window.py:1380 ../src/roster_window.py:3326
-#: ../src/roster_window.py:3333
+#: ../src/roster_window.py:1576 ../src/roster_window.py:4217
+#: ../src/roster_window.py:4224
 msgid "You have unread messages"
 msgstr "У вас есть непрочитанные сообщения"
 
-#: ../src/roster_window.py:1381
+#: ../src/roster_window.py:1577
 msgid "You must read them before removing this transport."
 msgstr "Просмотрите все ожидающие события перед удалением транспорта."
 
-#: ../src/roster_window.py:1384
+#: ../src/roster_window.py:1580
 #, python-format
 msgid "Transport \"%s\" will be removed"
 msgstr "Транспорт \"%s\" будет удален"
 
-#: ../src/roster_window.py:1385
+#: ../src/roster_window.py:1581
 msgid ""
-"You will no longer be able to send and receive messages to contacts from "
+"You will no longer be able to send and receive messages from contacts using "
 "this transport."
 msgstr ""
 "У вас теперь не будет возможности приема и отправки сообщения контактам "
 "через этот транспорт."
 
-#: ../src/roster_window.py:1388
+#: ../src/roster_window.py:1584
 msgid "Transports will be removed"
 msgstr "Транспорты будут удалены"
 
-#: ../src/roster_window.py:1393
+#: ../src/roster_window.py:1589
 #, python-format
 msgid ""
 "You will no longer be able to send and receive messages to contacts from "
@@ -4937,114 +5963,150 @@ msgstr ""
 "транспорты:%s."
 
 #. it's jid
-#: ../src/roster_window.py:1413
+#: ../src/roster_window.py:1755
 msgid "Rename Contact"
 msgstr "Переименовать контакт"
 
-#: ../src/roster_window.py:1414
+#: ../src/roster_window.py:1756
 #, python-format
 msgid "Enter a new nickname for contact %s"
 msgstr "Введите новый ник для контакта %s"
 
-#: ../src/roster_window.py:1421
+#: ../src/roster_window.py:1763
 msgid "Rename Group"
 msgstr "Переименовать группу"
 
-#: ../src/roster_window.py:1422
+#: ../src/roster_window.py:1764
 #, python-format
 msgid "Enter a new name for group %s"
 msgstr "Введите новое название для группы %s"
 
-#: ../src/roster_window.py:1476
+#: ../src/roster_window.py:1839
 msgid "Remove Group"
 msgstr "Удалить группу"
 
-#: ../src/roster_window.py:1477
+#: ../src/roster_window.py:1840
 #, python-format
 msgid "Do you want to remove group %s from the roster?"
 msgstr "Вы точно хотите удалить группу %s из ростера?"
 
-#: ../src/roster_window.py:1478
+#: ../src/roster_window.py:1841
 msgid "Remove also all contacts in this group from your roster"
 msgstr "Удалить из ростера все контакты в этой группе"
 
-#: ../src/roster_window.py:1502
+#: ../src/roster_window.py:1872
 msgid "Assign OpenPGP Key"
 msgstr "Назначить OpenPGP ключ"
 
-#: ../src/roster_window.py:1503
+#: ../src/roster_window.py:1873
 msgid "Select a key to apply to the contact"
 msgstr "Выберите ключ, который будет применен к контакту"
 
-#: ../src/roster_window.py:1784 ../src/roster_window.py:1960
-msgid "_New group chat"
-msgstr "_Новая комната"
+#: ../src/roster_window.py:2191
+msgid "_New Group Chat"
+msgstr "В новую комнату"
 
-#: ../src/roster_window.py:1842
+#: ../src/roster_window.py:2331
 msgid "I would like to add you to my roster"
 msgstr "Вы не против, если я добавлю Вас к себе в ростер?"
 
-#: ../src/roster_window.py:2005 ../src/roster_window.py:2052
+#. Send Group Message
+#: ../src/roster_window.py:2465 ../src/roster_window.py:2677
 msgid "Send Group M_essage"
 msgstr "_Отправить сообщение группе"
 
-#: ../src/roster_window.py:2031
-msgid "Re_name"
-msgstr "П_ереименовать"
+#: ../src/roster_window.py:2484
+msgid "_New group chat"
+msgstr "_Новая комната"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2522
+msgid "_Manage Contacts"
+msgstr "_Управление контактами"
+
+#: ../src/roster_window.py:2583
+msgid "_Maximize"
+msgstr ""
+
+#: ../src/roster_window.py:2590
+#, fuzzy
+msgid "_Disconnect"
+msgstr "Контакт отключился"
 
-#: ../src/roster_window.py:2058
+#: ../src/roster_window.py:2669
+msgid "_Maximize All"
+msgstr ""
+
+#: ../src/roster_window.py:2685
 msgid "To all users"
 msgstr "Всем пользователям"
 
-#: ../src/roster_window.py:2061
+#: ../src/roster_window.py:2688
 msgid "To all online users"
 msgstr "Всем, кто подключён"
 
-#: ../src/roster_window.py:2097
+#. Log Off
+#: ../src/roster_window.py:2805
+msgid "_Log off"
+msgstr "_Отключиться"
+
+#. Log on
+#: ../src/roster_window.py:2811
 msgid "_Log on"
 msgstr "_Соединиться"
 
-#: ../src/roster_window.py:2107
-msgid "Log _off"
-msgstr "_Отключиться"
+#. Send single message
+#: ../src/roster_window.py:2823
+msgid "Send Single Message"
+msgstr "О_тправить одиночное сообщение"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2870
+msgid "_Manage Transport"
+msgstr "_Управление транспортом"
+
+#. Modify Transport
+#: ../src/roster_window.py:2878
+msgid "_Modify Transport"
+msgstr "_Изменить транспорт"
 
-#: ../src/roster_window.py:2229 ../src/roster_window.py:2300
+#: ../src/roster_window.py:2992 ../src/roster_window.py:3066
 msgid "_Change Status Message"
 msgstr "_Изменить сообщение о статусе"
 
-#: ../src/roster_window.py:2372
+#: ../src/roster_window.py:3138
 msgid "Authorization has been sent"
 msgstr "Была отправлена авторизация"
 
-#: ../src/roster_window.py:2373
+#: ../src/roster_window.py:3139
 #, python-format
 msgid "Now \"%s\" will know your status."
 msgstr "Теперь \"%s\" будет знать о вашем статусе."
 
-#: ../src/roster_window.py:2393
+#: ../src/roster_window.py:3159
 msgid "Subscription request has been sent"
 msgstr "Был отправлен запрос на подписку "
 
-#: ../src/roster_window.py:2394
+#: ../src/roster_window.py:3160
 #, python-format
 msgid "If \"%s\" accepts this request you will know his or her status."
 msgstr "Если \"%s\" примет ваш запрос, вы будете знать его или её статус"
 
-#: ../src/roster_window.py:2406
+#: ../src/roster_window.py:3172
 msgid "Authorization has been removed"
 msgstr "Авторизация была удалена"
 
-#: ../src/roster_window.py:2407
+#: ../src/roster_window.py:3173
 #, python-format
 msgid "Now \"%s\" will always see you as offline."
 msgstr "Теперь \"%s\" всегда будет видеть вас в оффлайне."
 
-#: ../src/roster_window.py:2615
+#: ../src/roster_window.py:3407
 #, python-format
 msgid "Contact \"%s\" will be removed from your roster"
 msgstr "Контакт \"%s\" будет удален из вашего ростера"
 
-#: ../src/roster_window.py:2619
+#: ../src/roster_window.py:3411
 msgid ""
 "By removing this contact you also remove authorization resulting in him or "
 "her always seeing you as offline."
@@ -5052,7 +6114,7 @@ msgstr ""
 "Удаляя контакт, вы одновременно удалите авторизацию, и этот человек больше "
 "не сможет видеть ваш статус."
 
-#: ../src/roster_window.py:2624
+#: ../src/roster_window.py:3416
 msgid ""
 "By removing this contact you also by default remove authorization resulting "
 "in him or her always seeing you as offline."
@@ -5060,16 +6122,16 @@ msgstr ""
 "Если вы удалите контакт, вы так же удалите и авторизацию. Вы будете видеть "
 "его или её всегда в оффлайне."
 
-#: ../src/roster_window.py:2627
+#: ../src/roster_window.py:3419
 msgid "I want this contact to know my status after removal"
 msgstr "Я хочу, чтобы этот контакт видел мой статус после удаления"
 
 #. several contact to remove at the same time
-#: ../src/roster_window.py:2631
+#: ../src/roster_window.py:3423
 msgid "Contacts will be removed from your roster"
 msgstr "Контакты будут удалены из вашего ростера"
 
-#: ../src/roster_window.py:2635
+#: ../src/roster_window.py:3427
 #, python-format
 msgid ""
 "By removing these contacts:%s\n"
@@ -5079,40 +6141,28 @@ msgstr ""
 "Одновременно вы удалите и авторизацию, то есть они всегда будут видеть вас в "
 "оффлайне."
 
-#. TODO: make this string translatable
+#: ../src/roster_window.py:3454
+msgid ""
+"Gnome Keyring is installed but not correctly started (environment variable "
+"probably not correctly set)"
+msgstr ""
+
+#: ../src/roster_window.py:3473
+msgid "GPG is not usable"
+msgstr ""
+
 #. %s is the account name here
-#: ../src/roster_window.py:2693 ../src/common/connection.py:587
-#: ../src/common/zeroconf/connection_zeroconf.py:158
+#: ../src/roster_window.py:3474 ../src/common/connection_handlers.py:2157
+#: ../src/common/zeroconf/connection_zeroconf.py:170
 #, python-format
 msgid "You will be connected to %s without OpenPGP."
 msgstr "Вы будете подключены к %s без использования OpenPGP."
 
-#: ../src/roster_window.py:2710
-msgid "Passphrase Required"
-msgstr "Требуется парольная фраза"
-
-#: ../src/roster_window.py:2711
-#, python-format
-msgid "Enter GPG key passphrase for account %s."
-msgstr "Введите парольную фразу GPG для учетной записи %s"
-
-#: ../src/roster_window.py:2716
-msgid "Save passphrase"
-msgstr "Сохранить парольную фразу (небезопасно)"
-
-#: ../src/roster_window.py:2724
-msgid "Wrong Passphrase"
-msgstr "Неверная парольная фраза"
-
-#: ../src/roster_window.py:2725
-msgid "Please retype your GPG passphrase or press Cancel."
-msgstr "Пожалуйста, введите парольную фразу для GPG еще раз или нажмите Отмена."
-
-#: ../src/roster_window.py:2782 ../src/roster_window.py:2842
+#: ../src/roster_window.py:3545 ../src/roster_window.py:3623
 msgid "You are participating in one or more group chats"
 msgstr "Вы находитесь в одной или более комнатах"
 
-#: ../src/roster_window.py:2783 ../src/roster_window.py:2843
+#: ../src/roster_window.py:3546 ../src/roster_window.py:3624
 msgid ""
 "Changing your status to invisible will result in disconnection from those "
 "group chats. Are you sure you want to go invisible?"
@@ -5120,20 +6170,21 @@ msgstr ""
 "Переход в состояние невидимости приведет к выходу из этих комнат. Вы точно "
 "хотите стать невидимым?"
 
-#: ../src/roster_window.py:2800
+#: ../src/roster_window.py:3580
 msgid "No account available"
 msgstr "Нет доступной учетной записи"
 
-#: ../src/roster_window.py:2801
+#: ../src/roster_window.py:3581
 msgid "You must create an account before you can chat with other contacts."
-msgstr "Для начала беседы с другими людьми прежде необходимо создать учетную запись."
+msgstr ""
+"Для начала беседы с другими людьми прежде необходимо создать учетную запись."
 
-#: ../src/roster_window.py:2899
+#: ../src/roster_window.py:3730
 #, python-format
 msgid "\"%(title)s\" by %(artist)s"
 msgstr "%(artist)s \"%(title)s\""
 
-#: ../src/roster_window.py:3327 ../src/roster_window.py:3334
+#: ../src/roster_window.py:4218 ../src/roster_window.py:4225
 msgid ""
 "Messages will only be available for reading them later if you have history "
 "enabled."
@@ -5141,133 +6192,193 @@ msgstr ""
 "Сообщения будут доступны для чтения позже если у вас активирована опция "
 "истории."
 
-#: ../src/roster_window.py:3912
+#: ../src/roster_window.py:4849
 msgid "Metacontacts storage not supported by your server"
 msgstr "Сервер не умеет хранить метаконтакты"
 
-#: ../src/roster_window.py:3914
+#: ../src/roster_window.py:4851
 msgid ""
 "Your server does not support storing metacontacts information. So those "
-"information will not be save on next reconnection."
+"information will not be saved on next reconnection."
 msgstr ""
 "Ваш сервер не умеет хранить данные о метаконтактах. Они будут утеряны при "
 "следующем подключении."
 
-#: ../src/roster_window.py:3956
-msgid "You are about to create a metacontact. Are you sure you want to continue?"
+#: ../src/roster_window.py:4896
+msgid ""
+"You are about to create a metacontact. Are you sure you want to continue?"
 msgstr "Вы хотите создать метаконтакт?"
 
-#: ../src/roster_window.py:3958
+#: ../src/roster_window.py:4898
 msgid ""
-"Metacontacts are a way to regroup several contacts in one line. Generaly it "
+"Metacontacts are a way to regroup several contacts in one line. Generally it "
 "is used when the same person has several Jabber accounts or transport "
 "accounts."
-msgstr "Метаконтакты это метод группировки нескольких контактов в одну запись. Обычно это используется когда один и тот же человек имеет несколько аккаунтов в Jabber или на транспортах."
+msgstr ""
+"Метаконтакты это метод группировки нескольких контактов в одну запись. "
+"Обычно это используется когда один и тот же человек имеет несколько "
+"аккаунтов в Jabber или на транспортах."
+
+#: ../src/roster_window.py:4993
+msgid "Invalid file URI:"
+msgstr "Неверный файл:"
+
+#: ../src/roster_window.py:5004
+#, fuzzy, python-format
+msgid "Do you want to send this file to %s:"
+msgid_plural "Do you want to send those files to %s:"
+msgstr[0] "%s хочет отправить вам файл:"
+msgstr[1] "%s хочет отправить вам файл:"
+msgstr[2] "%s хочет отправить вам файл:"
+
+#: ../src/roster_window.py:5332
+msgid "Change Status Message..."
+msgstr "Изменить сообщение о статусе..."
 
-#: ../src/roster_window.py:4125
-#, python-format
-msgid "Drop %s in group %s"
-msgstr "Сбросить %s в группе %s"
+#: ../src/search_window.py:91
+msgid "Waiting for results"
+msgstr ""
 
-#: ../src/roster_window.py:4132
-#, python-format
-msgid "Make %s and %s metacontacts"
-msgstr "Сделать %s и %s метаконтактами"
+#: ../src/search_window.py:131 ../src/search_window.py:209
+msgid "Error in received dataform"
+msgstr ""
 
-#: ../src/roster_window.py:4319
-msgid "Change Status Message..."
-msgstr "Изменить сообщение о статусе..."
+#. No result
+#: ../src/search_window.py:165 ../src/search_window.py:201
+msgid "No result"
+msgstr ""
+
+#: ../src/secrets.py:45
+msgid ""
+"To continue, Gajim needs to access your stored secrets. Enter your passphrase"
+msgstr ""
+
+#: ../src/secrets.py:89
+msgid "Confirm Passphrase"
+msgstr "Подтверждение парольной фразы"
+
+#: ../src/secrets.py:90
+msgid "Enter your new passphrase again for confirmation"
+msgstr "Введите снова для подтверждения"
+
+#: ../src/secrets.py:95 ../src/secrets.py:107
+msgid "Create Passphrase"
+msgstr "Создать парольную фразу"
 
-#: ../src/systray.py:144
+#: ../src/secrets.py:96
+msgid "Passphrases did not match.\n"
+msgstr "Пароли не совпадают.\n"
+
+#: ../src/secrets.py:97 ../src/secrets.py:108
+msgid "Gajim needs you to create a passphrase to encrypt stored secrets"
+msgstr ""
+
+#: ../src/systray.py:169
 msgid "_Change Status Message..."
 msgstr "_Изменить сообщение о статусе..."
 
-#: ../src/systray.py:234
+#: ../src/systray.py:254
 msgid "Hide this menu"
 msgstr "Скрыть это меню"
 
-#: ../src/tooltips.py:309 ../src/tooltips.py:492
+#: ../src/tooltips.py:316 ../src/tooltips.py:509
 msgid "Jabber ID: "
 msgstr "Jabber ID: "
 
-#: ../src/tooltips.py:312 ../src/tooltips.py:496
+#: ../src/tooltips.py:319 ../src/tooltips.py:513
 msgid "Resource: "
 msgstr "Ресурс: "
 
-#: ../src/tooltips.py:317
+#: ../src/tooltips.py:324
 #, python-format
 msgid "%(owner_or_admin_or_member)s of this group chat"
 msgstr "%(owner_or_admin_or_member)s этой комнаты"
 
-#: ../src/tooltips.py:430 ../src/tooltips.py:610
+#: ../src/tooltips.py:422
+msgid " [blocked]"
+msgstr ""
+
+#: ../src/tooltips.py:426
+msgid " [minimized]"
+msgstr ""
+
+#: ../src/tooltips.py:441 ../src/tooltips.py:629
 msgid "Status: "
 msgstr "Статус: "
 
-#: ../src/tooltips.py:461
+#: ../src/tooltips.py:471
 #, python-format
 msgid "Last status: %s"
 msgstr "Последний статус: %s"
 
-#: ../src/tooltips.py:463
+#: ../src/tooltips.py:473
 #, python-format
 msgid " since %s"
 msgstr " с %s"
 
+#: ../src/tooltips.py:491
+msgid "Connected"
+msgstr "Соединение"
+
+#: ../src/tooltips.py:493
+msgid "Disconnected"
+msgstr "Контакт отключился"
+
 #. ('both' is the normal sub so we don't show it)
-#: ../src/tooltips.py:502
+#: ../src/tooltips.py:520
 msgid "Subscription: "
 msgstr "Подписка: "
 
-#: ../src/tooltips.py:512
+#: ../src/tooltips.py:530
 msgid "OpenPGP: "
 msgstr "OpenPGP: "
 
-#: ../src/tooltips.py:566
+#: ../src/tooltips.py:585
 msgid "Download"
 msgstr "Загрузить"
 
-#: ../src/tooltips.py:572
+#: ../src/tooltips.py:591
 msgid "Upload"
 msgstr "Upload"
 
-#: ../src/tooltips.py:579
+#: ../src/tooltips.py:598
 msgid "Type: "
 msgstr "Тип: "
 
-#: ../src/tooltips.py:585
+#: ../src/tooltips.py:604
 msgid "Transferred: "
 msgstr "Передано: "
 
-#: ../src/tooltips.py:588 ../src/tooltips.py:609
+#: ../src/tooltips.py:607 ../src/tooltips.py:628
 msgid "Not started"
 msgstr "Не начато"
 
-#: ../src/tooltips.py:592
+#: ../src/tooltips.py:611
 msgid "Stopped"
 msgstr "Остановлено"
 
-#: ../src/tooltips.py:594 ../src/tooltips.py:597
+#: ../src/tooltips.py:613 ../src/tooltips.py:616
 msgid "Completed"
 msgstr "Завершено"
 
-#: ../src/tooltips.py:601
+#: ../src/tooltips.py:620
 msgid "?transfer status:Paused"
 msgstr "Приостановлено"
 
 #. stalled is not paused. it is like 'frozen' it stopped alone
-#: ../src/tooltips.py:605
+#: ../src/tooltips.py:624
 msgid "Stalled"
 msgstr "Ожидание"
 
-#: ../src/tooltips.py:607
+#: ../src/tooltips.py:626
 msgid "Transferring"
 msgstr "Передается"
 
-#: ../src/tooltips.py:639
+#: ../src/tooltips.py:662
 msgid "This service has not yet responded with detailed information"
 msgstr "Этот сервис еще не сообщил информацию о себе"
 
-#: ../src/tooltips.py:642
+#: ../src/tooltips.py:665
 msgid ""
 "This service could not respond with detailed information.\n"
 "It is most likely legacy or broken"
@@ -5275,24 +6386,24 @@ msgstr ""
 "Этот сервис не может предоставить информацию о себе . \n"
 "Похоже что он или неверно настроен или сломан"
 
-#: ../src/vcard.py:217
+#: ../src/vcard.py:245
 msgid "?Client:Unknown"
 msgstr "Неизвестен"
 
-#: ../src/vcard.py:219
+#: ../src/vcard.py:247
 msgid "?OS:Unknown"
 msgstr "Неизвестна"
 
-#: ../src/vcard.py:247 ../src/vcard.py:449
+#: ../src/vcard.py:272 ../src/vcard.py:282 ../src/vcard.py:472
 #, python-format
 msgid "since %s"
 msgstr "с %s"
 
-#: ../src/vcard.py:277
+#: ../src/vcard.py:311
 msgid "Affiliation:"
 msgstr "Ранг:"
 
-#: ../src/vcard.py:285
+#: ../src/vcard.py:319
 msgid ""
 "This contact is interested in your presence information, but you are not "
 "interested in his/her presence"
@@ -5300,7 +6411,7 @@ msgstr ""
 "Этот контакт хочет знать о вашем присутствии, но вам информация о его или её "
 "присутствии не интересна"
 
-#: ../src/vcard.py:287
+#: ../src/vcard.py:321
 msgid ""
 "You are interested in the contact's presence information, but he/she is not "
 "interested in yours"
@@ -5308,83 +6419,155 @@ msgstr ""
 "Вам хочется получать информацию о присутствии контакта, но он или она не "
 "заинтересована в вашей."
 
-#: ../src/vcard.py:289
+#: ../src/vcard.py:323
 msgid "You and the contact are interested in each other's presence information"
 msgstr "Вы и контакт оба желаете знать о присутствии друг друга"
 
 #. None
-#: ../src/vcard.py:291
+#: ../src/vcard.py:325
 msgid ""
 "You are not interested in the contact's presence, and neither he/she is "
 "interested in yours"
 msgstr "Ни вы, ни ваш контакт не желаете знать о присутствии друг друга"
 
-#: ../src/vcard.py:299
+#: ../src/vcard.py:333
 msgid "You are waiting contact's answer about your subscription request"
 msgstr "Вы ожидаете ответа контакта на запрос на подписку"
 
-#: ../src/vcard.py:311 ../src/vcard.py:338 ../src/vcard.py:482
+#: ../src/vcard.py:337 ../src/vcard.py:374 ../src/vcard.py:497
 msgid " resource with priority "
 msgstr " ресурс с приоритетом "
 
-#: ../src/common/check_paths.py:33
+#: ../src/common/check_paths.py:38
 msgid "creating logs database"
 msgstr "создается БД истории"
 
-#: ../src/common/check_paths.py:89 ../src/common/check_paths.py:100
-#: ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:101 ../src/common/check_paths.py:112
+#: ../src/common/check_paths.py:119
 #, python-format
-msgid "%s is file but it should be a directory"
+msgid "%s is a file but it should be a directory"
 msgstr "%s должен быть директорией, а не файлом"
 
-#: ../src/common/check_paths.py:90 ../src/common/check_paths.py:101
-#: ../src/common/check_paths.py:108 ../src/common/check_paths.py:116
+#: ../src/common/check_paths.py:102 ../src/common/check_paths.py:113
+#: ../src/common/check_paths.py:120 ../src/common/check_paths.py:128
 msgid "Gajim will now exit"
 msgstr "Закончить работу"
 
-#: ../src/common/check_paths.py:115
+#: ../src/common/check_paths.py:127
 #, python-format
-msgid "%s is directory but should be file"
+msgid "%s is a directory but should be a file"
 msgstr "%s должен быть файлом, а не директорией"
 
-#: ../src/common/check_paths.py:131
+#: ../src/common/check_paths.py:143
 #, python-format
 msgid "creating %s directory"
 msgstr "создается директория %s"
 
-#: ../src/common/config.py:55
+#: ../src/common/commands.py:74
+msgid "Change status information"
+msgstr "Изменить информацию о статусе"
+
+#: ../src/common/commands.py:87
+msgid "Change status"
+msgstr "Контакт изменит статус"
+
+#: ../src/common/commands.py:88
+msgid "Set the presence type and description"
+msgstr "Установка статуса и статусного сообщения"
+
+#: ../src/common/commands.py:94
+msgid "Free for chat"
+msgstr "Готов поболтать"
+
+#: ../src/common/commands.py:95
+msgid "Online"
+msgstr "В сети"
+
+#: ../src/common/commands.py:97
+msgid "Extended away"
+msgstr ""
+
+#: ../src/common/commands.py:98
+msgid "Do not disturb"
+msgstr "Не беспокоить."
+
+#: ../src/common/commands.py:99
+msgid "Offline - disconnect"
+msgstr ""
+
+#: ../src/common/commands.py:104
+#, fuzzy
+msgid "Presence description:"
+msgstr "Описание ошибки..."
+
+#: ../src/common/commands.py:139
+msgid "The status has been changed."
+msgstr "Статус изменён."
+
+#: ../src/common/commands.py:170 ../src/common/commands.py:194
+msgid "Leave Groupchats"
+msgstr "Покинуть конференции"
+
+#: ../src/common/commands.py:184
+#, python-format
+msgid "%(nickname)s on %(room_jid)s"
+msgstr "%(nickname)s из комнаты %(room_jid)s"
+
+#: ../src/common/commands.py:188
+msgid "You have not joined a groupchat."
+msgstr "Вы не вошли в комнату."
+
+#: ../src/common/commands.py:195
+msgid "Choose the groupchats you want to leave"
+msgstr "Выберите конференции которые вы хотите покинуть"
+
+#: ../src/common/commands.py:235
+msgid "You left the following groupchats:"
+msgstr "Вы покинули следующие комнаты:"
+
+#: ../src/common/commands.py:247
+msgid "Forward unread messages"
+msgstr "Переслать непрочитанные сообщения"
+
+#: ../src/common/commands.py:267
+msgid "All unread messages have been forwarded."
+msgstr "Все непрочитанные сообщения отправлены."
+
+#: ../src/common/config.py:74
 msgid "Use D-Bus and Notification-Daemon to show notifications"
 msgstr "Использовать DBus и Notification Daemon для показа уведомлений"
 
-#: ../src/common/config.py:60
+#: ../src/common/config.py:79
 msgid "Time in minutes, after which your status changes to away."
 msgstr "Время в минутах, после которого ваш статус изменится на Отошел."
 
-#: ../src/common/config.py:61
+#: ../src/common/config.py:80
 msgid "Away as a result of being idle"
 msgstr "Автостатус 'Отошел' из-за бездействия пользователя."
 
-#: ../src/common/config.py:63
+#: ../src/common/config.py:82
 msgid "Time in minutes, after which your status changes to not available."
 msgstr "Время в минутах, после которого ваш статус изменится на Недоступен."
 
-#: ../src/common/config.py:64
+#: ../src/common/config.py:83
 msgid "Not available as a result of being idle"
 msgstr "Автостатус 'Недоступен' из-за бездействия пользователя."
 
-#: ../src/common/config.py:82
-msgid "List (space separated) of rows (accounts and groups) that are collapsed."
-msgstr "Список (через пробел) строк (учётных записей и групп), которые свёрнуты."
+#: ../src/common/config.py:101
+msgid ""
+"List (space separated) of rows (accounts and groups) that are collapsed."
+msgstr ""
+"Список (через пробел) строк (учётных записей и групп), которые свёрнуты."
 
-#: ../src/common/config.py:87
+#: ../src/common/config.py:106
 msgid "Enable link-local/zeroconf messaging"
 msgstr ""
 
-#: ../src/common/config.py:90
+#: ../src/common/config.py:109
 msgid "Language used by speller"
 msgstr "Язык, используемый при проверке правописания"
 
-#: ../src/common/config.py:91
+#: ../src/common/config.py:110
 msgid ""
 "'always' - print time for every message.\n"
 "'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
@@ -5394,46 +6577,87 @@ msgstr ""
 "\"иногда\" - печатать время каждые несколько минут.\n"
 "\"никогда\" - не печатать время."
 
-#: ../src/common/config.py:92
+#: ../src/common/config.py:111
 msgid ""
 "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
-"to disable fuzzyclock. 1 is the most precise clock, 4 the less precise one. "
+"to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
 "This is used only if print_time is 'sometimes'."
-msgstr "Печатать время в беседе как в неточных часах. Степень неточности может быть от 1 до 4, 0 отключает эту функцию. 1 самые точные часы, 4 самые неточные. Используется только если режим печати времени установлен на \"иногда\"."
+msgstr ""
+"Печатать время в беседе как в неточных часах. Степень неточности может быть "
+"от 1 до 4, 0 отключает эту функцию. 1 самые точные часы, 4 самые неточные. "
+"Используется только если режим печати времени установлен на \"иногда\"."
 
-#: ../src/common/config.py:95
+#: ../src/common/config.py:114
 msgid "Treat * / _ pairs as possible formatting characters."
 msgstr "Обрабатывать пары * / _ как возможные форматирующие символы."
 
-#: ../src/common/config.py:96
-msgid "If True, do not remove */_ . So *abc* will be bold but with * * not removed."
+#: ../src/common/config.py:115
+msgid ""
+"If True, do not remove */_ . So *abc* will be bold but with * * not removed."
 msgstr ""
 "Если True, то не будут удаляться */_. Так что *фыва* будет написано "
 "полужирным шрифтом, но * * удалены не будут"
 
-#: ../src/common/config.py:99
+#: ../src/common/config.py:118
 msgid ""
-"Uses ReStructured text markup for HTML, plus ascii formatting if selected. "
-"(If you want to use this, install docutils)"
+"Uses ReStructured text markup to send HTML, plus ascii formatting if "
+"selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
+"restructuredtext.html (If you want to use this, install docutils)"
 msgstr ""
 
-#: ../src/common/config.py:108
+#: ../src/common/config.py:127
+msgid ""
+"Character to add after nickname when using nick completion (tab) in group "
+"chat."
+msgstr ""
+"Символ, который нужно добавлять к нику, когда используется дополнение (tab) "
+"в комнате."
+
+#: ../src/common/config.py:128
+msgid ""
+"Character to propose to add after desired nickname when desired nickname is "
+"used by someone else in group chat."
+msgstr ""
+"Символ, который будет добавляться после ника, когда желаемый ник уже занят "
+"кем-нибудь в комнате."
+
+#: ../src/common/config.py:151
+msgid ""
+"This option let you customize timestamp that is printed in conversation. For "
+"exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
+"strftime for full documentation: http://docs.python.org/lib/module-time.html"
+msgstr ""
+"Эта опция позволяет настроить отпечаток времени, который печатается в чатах. "
+"К примеру \"[%H:%M]\" будет показано как \"[чч:мм]\". Смотрите дополнительно "
+"документацию python к strftime (http://docs.python.org/lib/module-time.html)"
+
+#: ../src/common/config.py:152
+msgid "Characters that are printed before the nickname in conversations"
+msgstr "Символы, которые будут отображаться перед никами в чате"
+
+#: ../src/common/config.py:153
+msgid "Characters that are printed after the nickname in conversations"
+msgstr "Символы, которые будут отображаться после ников в чате"
+
+#: ../src/common/config.py:156
 msgid ""
-"Character to add after nickname when using nick completion (tab) in group "
-"chat."
-msgstr "Символ, который нужно добавлять к нику, когда используется дополнение (tab) в комнате."
+"If checked, Gajim can regularly poll a Last.fm account and adjust the status "
+"message to reflect recently played songs. "
+"set_status_msg_from_current_music_track option must be False."
+msgstr ""
+"Если включено, Gajim будет проверять аккаунт на Last.fm и менять ваш статус "
+"на имя проигрываемого трека. set_status_msg_from_current_music_track опция "
+"должна быть  False."
 
-#: ../src/common/config.py:109
-msgid ""
-"Character to propose to add after desired nickname when desired nickname is "
-"used by someone else in group chat."
-msgstr "Символ, который будет добавляться после ника, когда желаемый ник уже занят кем-нибудь в комнате."
+#: ../src/common/config.py:157
+msgid "The username used to identify the Last.fm account."
+msgstr "Имя пользователя на Last.fm."
 
-#: ../src/common/config.py:142
+#: ../src/common/config.py:161
 msgid "Add * and [n] in roster title?"
 msgstr "Добавлять * и [n] в окно ростера?"
 
-#: ../src/common/config.py:143
+#: ../src/common/config.py:162
 msgid ""
 "How many lines to remember from previous conversation when a chat tab/window "
 "is reopened."
@@ -5441,11 +6665,11 @@ msgstr ""
 "Сколько строк из предыдущей беседы выводить, когда вкладка/окно открываются "
 "вновь."
 
-#: ../src/common/config.py:144
+#: ../src/common/config.py:163
 msgid "How many minutes should last lines from previous conversation last."
 msgstr "Сколько минут должны оставаться последние строки из предыдущей беседы."
 
-#: ../src/common/config.py:145
+#: ../src/common/config.py:164
 msgid ""
 "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
 "Client default behaviour)."
@@ -5453,11 +6677,11 @@ msgstr ""
 "Оправлять сообщения по Ctrl+Enter и Enter создает новую строку (как в "
 "Mirabilis ICQ)"
 
-#: ../src/common/config.py:147
+#: ../src/common/config.py:166
 msgid "How many lines to store for Ctrl+KeyUP."
 msgstr "Сколько строк хранить для Ctrl+Стрелка вверх"
 
-#: ../src/common/config.py:150
+#: ../src/common/config.py:169
 #, python-format
 msgid ""
 "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' "
@@ -5466,49 +6690,61 @@ msgstr ""
 "Введите свою ссылку с %s, в которой %s подменяет слово/фразу или "
 "'WIKTIONARY', что значит: \"использовать wiktionary\"."
 
-#: ../src/common/config.py:153
+#: ../src/common/config.py:172
 msgid "If checked, Gajim can be controlled remotely using gajim-remote."
 msgstr ""
 "Если отмечено, то Gajim'ом можно будет управлять удаленно с использованием "
 "gajim-remote."
 
-#: ../src/common/config.py:154
+#: ../src/common/config.py:173
 msgid ""
 "If True, listen to D-Bus signals from NetworkManager and change the status "
 "of accounts (provided they do not have listen_to_network_manager set to "
 "False and they sync with global status) based upon the status of the network "
 "connection."
 msgstr ""
+"Если True, тогда \"слушать\" сообщения от NetworkManager по D-Bus и изменять "
+"статус аккаунтов в зависимости от состояния сетевого соединения (необходимо "
+"чтобы аккаунты не имели установленной в False опции "
+"listen_to_network_manager и они должны синхронизировать свой статус с "
+"глобальным)"
 
-#: ../src/common/config.py:155
-msgid "Sent chat state notifications. Can be one of all, composing_only, disabled."
-msgstr "Отсылать уведомления о состоянии беседы. Может быть одним из \"все\", \"только написание\", \"отключено\"."
+#: ../src/common/config.py:174
+msgid ""
+"Sent chat state notifications. Can be one of all, composing_only, disabled."
+msgstr ""
+"Отсылать уведомления о состоянии беседы. Может быть одним из \"все\", "
+"\"только печать\", \"отключено\"."
 
-#: ../src/common/config.py:156
+#: ../src/common/config.py:175
 msgid ""
 "Displayed chat state notifications in chat windows. Can be one of all, "
 "composing_only, disabled."
-msgstr "Отображать состояния беседы в окне беседы. Может быть одним из \"все\", \"только написание\", \"отключено\"."
+msgstr ""
+"Отображать состояния беседы в окне беседы. Может быть одним из \"все\", "
+"\"только написание\", \"отключено\"."
 
-#: ../src/common/config.py:158
+#: ../src/common/config.py:177
 msgid ""
 "When not printing time for every message (print_time==sometimes), print it "
 "every x minutes."
-msgstr "Есди отключена печать времени для каждого сообщения, то печатать его каждые X минут."
+msgstr ""
+"Есди отключена печать времени для каждого сообщения, то печатать его каждые "
+"X минут."
 
-#: ../src/common/config.py:159
+#: ../src/common/config.py:178
 msgid "Ask before closing a group chat tab/window."
 msgstr "Спрашивать перед закрытием окна/вкладки комнаты."
 
-#: ../src/common/config.py:160
+#: ../src/common/config.py:179
 msgid ""
 "Always ask before closing group chat tab/window in this space separated list "
 "of group chat jids."
 msgstr ""
-"Всегда спрашивать перед закрытием окна/вкладки комнаты из этом списка. "
+"Всегда спрашивать перед закрытием окна/вкладки комнаты из этого списка. "
 "Комнаты в списке разделяются пробелом."
 
-#: ../src/common/config.py:161
+#: ../src/common/config.py:180
 msgid ""
 "Never ask before closing group chat tab/window in this space separated list "
 "of group chat jids."
@@ -5516,39 +6752,61 @@ msgstr ""
 "Никогда не спрашивать перед закрытием окна/вкладки комнаты из этого списка. "
 "Комнаты в списке разделяются пробелом."
 
-#: ../src/common/config.py:164
+#: ../src/common/config.py:183
 msgid ""
-"Overrides the host we send for File Transfer in case of address translation/"
-"port forwarding."
+"Comma separated list of hosts that we send, in addition of local interfaces, "
+"for File Transfer in case of address translation/port forwarding."
 msgstr ""
 "Указвает имя хоста, которое мы отсылаем при передаче файлов, в случае если "
 "мы за NAT или используется проброс портов."
 
-#: ../src/common/config.py:166
+#: ../src/common/config.py:185
 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
-msgstr "IEC утверждает что KiB = 1024 байт, KB = 1000 байт"
+msgstr "IEC стандарт утверждает, что KiB = 1024 байт, KB = 1000 байт"
 
-#: ../src/common/config.py:168
+#: ../src/common/config.py:187
 msgid "Notify of events in the system trayicon."
 msgstr "Уведомлять о событиях в системном лотке."
 
-#: ../src/common/config.py:174
+#: ../src/common/config.py:193
 msgid "Show tab when only one conversation?"
-msgstr "Показывать вкладку при одной беседе?"
+msgstr "Показывать вкладку при одном чат-окне?"
 
-#: ../src/common/config.py:175
+#: ../src/common/config.py:194
 msgid "Show tabbed notebook border in chat windows?"
-msgstr "Показывать границу вкладки в окне беседы?"
+msgstr "Показывать границу вкладки в окне чата?"
 
-#: ../src/common/config.py:176
+#: ../src/common/config.py:195
 msgid "Show close button in tab?"
 msgstr "Показывать кнопку закрытия на вкладке?"
 
-#: ../src/common/config.py:189
-msgid "A semicolon-separated list of words that will be highlighted in group chats."
-msgstr "Список слов (через точку с запятой), которые будут подсвечиваться в комнатах."
+#: ../src/common/config.py:196
+msgid ""
+"When negotiating an encrypted session, should Gajim assume you want your "
+"messages to be logged?"
+msgstr ""
+"Когда устанавливается зашифрованная сессия, дожен ли Gajim предположить,  "
+"что Вы хотите сохранить историю сообщений?"
+
+#: ../src/common/config.py:197
+msgid ""
+"When negotiating an encrypted session, should Gajim prefer to use public "
+"keys for identification?"
+msgstr ""
+"Когда устанавливается зашифрованная сессия, дожен ли Gajim предпочитать "
+"использовать открытый ключ для идентификации?"
+
+#: ../src/common/config.py:206
+msgid "Preview new messages in notification popup?"
+msgstr "Предпросмотр новых сообщений во всплывающем окне?"
+
+#: ../src/common/config.py:211
+msgid ""
+"A semicolon-separated list of words that will be highlighted in group chats."
+msgstr ""
+"Список слов (через точку с запятой), которые будут подсвечиваться в комнатах."
 
-#: ../src/common/config.py:190
+#: ../src/common/config.py:212
 msgid ""
 "If True, quits Gajim when X button of Window Manager is clicked. This "
 "setting is taken into account only if trayicon is used."
@@ -5556,11 +6814,14 @@ msgstr ""
 "Если True, то Gajim будет завершаться при нажатии на кнопку закрытия окна. "
 "Эта опция учитывается только если используется иконка для трея."
 
-#: ../src/common/config.py:191
-msgid "If True, Gajim registers for xmpp:// on each startup."
-msgstr "Если True, то Gajim будет регистрировать xmpp:// при каждом запуске"
+#: ../src/common/config.py:213
+msgid ""
+"If True, Gajim will check if it's the default jabber client on each startup."
+msgstr ""
+"Если True, то Gajim будет проверять при запуске,является ли он jabber-"
+"клиентом по умолчанию."
 
-#: ../src/common/config.py:192
+#: ../src/common/config.py:214
 msgid ""
 "If True, Gajim will display an icon on each tab containing unread messages. "
 "Depending on the theme, this icon may be animated."
@@ -5568,7 +6829,7 @@ msgstr ""
 "Если True, то Gajim иконку на каждой вкладке, которая содержит непрочитанные "
 "сообщения. В зависимости от темы, она может быть анимированной."
 
-#: ../src/common/config.py:193
+#: ../src/common/config.py:215
 msgid ""
 "If True, Gajim will display the status message, if not empty, for every "
 "contact under the contact name in roster window."
@@ -5576,7 +6837,7 @@ msgstr ""
 "Если True, то Gajim будет отображать сообщение о статусе, если оно не "
 "пустое, для каждого контакта под именем контакта в окне ростера"
 
-#: ../src/common/config.py:195
+#: ../src/common/config.py:217
 msgid ""
 "If True, Gajim will ask for avatar each contact that did not have an avatar "
 "last time or has one cached that is too old."
@@ -5584,44 +6845,52 @@ msgstr ""
 "Если True, то Gajim будет запрашивать аватару для каждого контакта, у "
 "которого её не было в последний раз или она уже слишком старая."
 
-#: ../src/common/config.py:196
+#: ../src/common/config.py:218
 msgid ""
 "If False, Gajim will no longer print status line in chats when a contact "
 "changes his or her status and/or his or her status message."
 msgstr ""
-"Если отключено, то Gajim больше не будет показывать статусную строку в окне беседы, "
-"когда контакт меняет его или её статус и/или сообщение о статусе."
+"Если отключено, то Gajim больше не будет показывать статусную строку в окне "
+"беседы, когда контакт меняет его или её статус и/или сообщение о статусе."
 
-#: ../src/common/config.py:197
+#: ../src/common/config.py:219
 msgid ""
 "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
 "longer print status line in groupchats when a member changes his or her "
 "status and/or his or her status message. If \"all\" Gajim will print all "
-"status messages. If \"in_and_out\", gajim will only print FOO enters/leaves "
+"status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves "
 "group chat."
-msgstr "может быть \"нет\", \"все\" или \"вход и выход\". Если установлено \"нет\", то Gajim больше не будет выводить сообщения о статусе в комнатах когда участник или участница меняет свой статус или сообщение о статусе. Если установлено в \"все\", то Gajim будет выводить все сообщения о статусе. Если установлено в \"вход и выход\", то Gajim будет выводить сообщение только когда кто-то входит или выходит из комнаты."
+msgstr ""
+"может быть \"none\", \"all\" или \"in_and_out\". Если установлено \"none\", "
+"то Gajim больше не будет выводить сообщения о статусе в комнатах когда "
+"участник меняет свой статус или сообщение о статусе. Если установлено в \"all"
+"\", то Gajim будет выводить все сообщения о статусе. Если установлено в "
+"\"in_and_out\", то Gajim будет выводить сообщение только когда кто-то входит "
+"или выходит из комнаты."
 
-#: ../src/common/config.py:199
+#: ../src/common/config.py:221
 msgid "Background color of contacts when they just signed in."
 msgstr "Фоновый цвет контакта, который только что вошел."
 
-#: ../src/common/config.py:200
+#: ../src/common/config.py:222
 msgid "Background color of contacts when they just signed out."
 msgstr "Фоновый цвет контакта, который только что вышел."
 
-#: ../src/common/config.py:202
-msgid "If True, restored messages will use a smaller font than the default one."
-msgstr "Если установлено, то восстановленные сообщения будут иметь меньший шрифт."
+#: ../src/common/config.py:224
+msgid ""
+"If True, restored messages will use a smaller font than the default one."
+msgstr ""
+"Если установлено, то восстановленные сообщения будут иметь меньший шрифт."
 
-#: ../src/common/config.py:203
+#: ../src/common/config.py:225
 msgid "Don't show avatar for the transport itself."
 msgstr "Не показывать аватар для транспорта."
 
-#: ../src/common/config.py:204
+#: ../src/common/config.py:226
 msgid "Don't show roster in the system taskbar."
 msgstr "Не показывать ростер в панели задач."
 
-#: ../src/common/config.py:205
+#: ../src/common/config.py:227
 msgid ""
 "If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
 "window flash (the default behaviour in most Window Managers) when holding "
@@ -5631,7 +6900,7 @@ msgstr ""
 "(поведение по умолчанию для большинства менеджеров окон) когда присутствуют "
 "не просмотренные события."
 
-#: ../src/common/config.py:207
+#: ../src/common/config.py:229
 msgid ""
 "Jabberd1.4 does not like sha info when one join a password protected group "
 "chat. Turn this option to False to stop sending sha info in group chat "
@@ -5642,7 +6911,7 @@ msgstr ""
 "информации для комнат"
 
 #. always, never, peracct, pertype should not be translated
-#: ../src/common/config.py:210
+#: ../src/common/config.py:232
 msgid ""
 "Controls the window where new messages are placed.\n"
 "'always' - All messages are sent to a single window.\n"
@@ -5660,77 +6929,153 @@ msgstr ""
 "свое окно. Заметьте, что при изменении этого параметра требуется перезапуск "
 "Gajim, чтобы изменения вступили в силу."
 
-#: ../src/common/config.py:211
+#: ../src/common/config.py:233
 msgid "If False, you will no longer see the avatar in the chat window."
 msgstr "Если False, вы больше не будете видеть аватары в окне беседы."
 
-#: ../src/common/config.py:212
+#: ../src/common/config.py:234
 msgid "If True, pressing the escape key closes a tab/window."
 msgstr "Если True, то нажатие клавиши Escape будет закрывать вкладку/окно."
 
-#: ../src/common/config.py:213
-msgid "Hides the buttons in group chat window."
-msgstr "Скрывает кнопки окна комнаты."
-
-#: ../src/common/config.py:214
-msgid "Hides the buttons in two persons chat window."
-msgstr "Скрывает кнопки в окне беседы."
+#: ../src/common/config.py:235
+msgid "Hides the buttons in chat windows."
+msgstr "Скрывает кнопки в окнах чата."
 
-#: ../src/common/config.py:215
+#: ../src/common/config.py:236
 msgid "Hides the banner in a group chat window"
 msgstr "Скрывает баннер в окне комнаты"
 
-#: ../src/common/config.py:216
+#: ../src/common/config.py:237
 msgid "Hides the banner in two persons chat window"
-msgstr "Скрывает баннер в окне беседы"
+msgstr "Скрывает баннер в окне чата"
 
-#: ../src/common/config.py:217
+#: ../src/common/config.py:238
 msgid "Hides the group chat occupants list in group chat window."
 msgstr "Скрывает список посетителей в окне комнаты."
 
-#: ../src/common/config.py:218
+#: ../src/common/config.py:239
 msgid ""
 "In a chat, show the nickname at the beginning of a line only when it's not "
 "the same person talking than in previous message."
-msgstr "При беседе, показывать ник в начале строки только тогда, когда его произносит участник отличный от того, кто сказал предыдущее."
+msgstr ""
+"Показывать ник в начале строки в чате только если предыдущее сообщение было "
+"написано другим участником."
 
-#: ../src/common/config.py:219
-msgid "Indentation when using merge consecutive nickame."
+#: ../src/common/config.py:240
+msgid "Indentation when using merge consecutive nickname."
 msgstr ""
 
-#: ../src/common/config.py:220
+#: ../src/common/config.py:241
+msgid "Smooth scroll message in conversation window"
+msgstr "Плавно прокручивать сообщения в окне чата"
+
+#: ../src/common/config.py:242
 msgid "List of colors that will be used to color nicknames in group chats."
-msgstr "Список цветов, которые будут использоваться для раскраски ников в комнатах."
+msgstr ""
+"Список цветов, которые будут использоваться для раскраски ников в комнатах."
 
-#: ../src/common/config.py:221
+#: ../src/common/config.py:243
 msgid "Ctrl-Tab go to next composing tab when none is unread."
-msgstr "Использовать Ctrl-Tab чтобы перейти к следующей вкладке с составляемым сообщением, когда нет непрочитанных сообщений."
+msgstr ""
+"Использовать Ctrl-Tab чтобы перейти к следующей вкладке с составляемым "
+"сообщением, когда нет непрочитанных сообщений."
 
-#: ../src/common/config.py:222
+#: ../src/common/config.py:244
 msgid ""
 "Should we show the confirm metacontacts creation dialog or not? Empty string "
 "means we never show the dialog."
-msgstr "А нам надо показывать диалог подтверждения о создании метаконтакта? Если тут пустая строка, то сообщение не будет показываться вообще."
+msgstr ""
+"А нам надо показывать диалог подтверждения о создании метаконтакта? Если тут "
+"пустая строка, то сообщение не будет показываться вообще."
 
-#: ../src/common/config.py:223
+#: ../src/common/config.py:245
 msgid ""
 "If True, you will be able to set a negative priority to your account in "
-"account modification window. BE CAREFULL, when you are logged in with a "
+"account modification window. BE CAREFUL, when you are logged in with a "
 "negative priority, you will NOT receive any message from your server."
-msgstr "Если установлено, то у вас появится возможность назначить для аккаунта приоритет меньше нуля в окне настройки аккаунта. БУДЬТЕ ОСТОРОЖНЫ, если вы подключитесь еще раз с отрицательным приоритетом, то вы НЕ получите никаких сообщений от сервера."
+msgstr ""
+"Если установлено, то у вас появится возможность назначить для аккаунта "
+"приоритет меньше нуля в окне настройки аккаунта. БУДЬТЕ ОСТОРОЖНЫ, если вы "
+"подключитесь еще раз с отрицательным приоритетом, то вы НЕ получите никаких "
+"сообщений от сервера."
 
-#: ../src/common/config.py:234
+#: ../src/common/config.py:246
+msgid ""
+"If True, Gajim will use Gnome Keyring (if available) to store account "
+"passwords."
+msgstr ""
+"Если активно, Gajim будет использовать (если возможно) Gnome Keyring для "
+"хранения паролей учетных записей."
+
+#: ../src/common/config.py:247
+msgid ""
+"If True, Gajim will show number of online and total contacts in account and "
+"group rows."
+msgstr ""
+"Если активно, Gajim будет показывать количество контактов онлайн/всего в "
+"строках с названием аккаунта и групп."
+
+#: ../src/common/config.py:248
+msgid ""
+"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
+"as if they were of this type"
+msgstr ""
+"Может быть пусто, 'chat' или 'normal'. Если не пусто - обрабатывать все "
+"входящие сообщения так, как будто бы они были этого типа."
+
+#: ../src/common/config.py:249
+msgid ""
+"If True, Gajim will scroll and select the contact who sent you the last "
+"message, if chat window is not already opened."
+msgstr ""
+"Если активно, Gajim прокрутит ростер и выделит контакт, который написал Вам "
+"сообщение последним, если окно чата еще небыло открыто."
+
+#: ../src/common/config.py:250
+msgid ""
+"If True, Gajim will convert string between $$ and $$ to an image using dvips "
+"and convert before insterting it in chat window."
+msgstr ""
+"Если активно, Gajim будет конвертировать строку между $$ и $$ в изображение, "
+"используя dvips и конвертировать до вставки его в чат-окно."
+
+#: ../src/common/config.py:251
+msgid "Time of inactivity needed before the change status window closes down."
+msgstr "Время не активности прежде чем окно изменения статуса закроется."
+
+#: ../src/common/config.py:252
+msgid ""
+"Maximum number of lines that are printed in conversations. Oldest lines are "
+"cleared."
+msgstr "Максимальное количество строк в окне.Старые строки будут удалены."
+
+#: ../src/common/config.py:253
+msgid ""
+"If True, notification windows from notification-daemon will be attached to "
+"systray icon."
+msgstr ""
+"Если активно, окно уведомления от notification-daemon будет присоединено к "
+"системному трею."
+
+#: ../src/common/config.py:264
 msgid ""
 "Priority will change automatically according to your status. Priorities are "
 "defined in autopriority_* options."
 msgstr ""
+"Приоритет будет изменятся автоматически согласно вашему статусу.Приоритеты "
+"для статусов задаются в пункте autopriority_* ."
+
+#: ../src/common/config.py:276
+msgid ""
+"If disabled, don't sign presences with GPG key, even if GPG is configured."
+msgstr ""
 
 #. yes, no, ask
-#: ../src/common/config.py:263
+#: ../src/common/config.py:294
 msgid "Jabberd2 workaround"
 msgstr "Костыль для jabberd2"
 
-#: ../src/common/config.py:267
+#: ../src/common/config.py:298
 msgid ""
 "If checked, Gajim will use your IP and proxies defined in "
 "file_transfer_proxies option for file transfer."
@@ -5738,101 +7083,101 @@ msgstr ""
 "Если отмечено, Gajim будет использовать ваш IP и прокси, определенные в "
 "параметре file_transfer_proxies для передачи файлов"
 
-#: ../src/common/config.py:326
+#: ../src/common/config.py:357
 msgid "Is OpenPGP enabled for this contact?"
 msgstr "Используется ли для этого контакта OpenPGP"
 
-#: ../src/common/config.py:327 ../src/common/config.py:330
+#: ../src/common/config.py:358 ../src/common/config.py:361
 msgid "Language for which we want to check misspelled words"
 msgstr "Язык, который используется при проверке правописания"
 
-#: ../src/common/config.py:336
+#: ../src/common/config.py:367
 msgid "all or space separated status"
 msgstr "все или статусы, разделенные пробелом"
 
-#: ../src/common/config.py:337
+#: ../src/common/config.py:368
 msgid "'yes', 'no', or 'both'"
 msgstr "\"да\", \"нет\" или \"оба\""
 
-#: ../src/common/config.py:338 ../src/common/config.py:340
-#: ../src/common/config.py:341 ../src/common/config.py:344
-#: ../src/common/config.py:345
+#: ../src/common/config.py:369 ../src/common/config.py:371
+#: ../src/common/config.py:372 ../src/common/config.py:375
+#: ../src/common/config.py:376
 msgid "'yes', 'no' or ''"
 msgstr "\"да\", \"нет\" или \"\""
 
-#: ../src/common/config.py:351
+#: ../src/common/config.py:382
 msgid "Sleeping"
 msgstr "Сплю"
 
-#: ../src/common/config.py:352
+#: ../src/common/config.py:383
 msgid "Back soon"
 msgstr "Скоро буду"
 
-#: ../src/common/config.py:352
+#: ../src/common/config.py:383
 msgid "Back in some minutes."
 msgstr "Вернусь через несколько минут"
 
-#: ../src/common/config.py:353
+#: ../src/common/config.py:384
 msgid "Eating"
 msgstr "Ем"
 
-#: ../src/common/config.py:353
+#: ../src/common/config.py:384
 msgid "I'm eating, so leave me a message."
 msgstr "Кушаю, так что оставьте сообщение секретарю."
 
-#: ../src/common/config.py:354
+#: ../src/common/config.py:385
 msgid "Movie"
 msgstr "В кино"
 
-#: ../src/common/config.py:354
+#: ../src/common/config.py:385
 msgid "I'm watching a movie."
 msgstr "Смотрю кино"
 
-#: ../src/common/config.py:355
+#: ../src/common/config.py:386
 msgid "Working"
 msgstr "Работаю"
 
-#: ../src/common/config.py:355
+#: ../src/common/config.py:386
 msgid "I'm working."
 msgstr "Работаю"
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:387
 msgid "Phone"
 msgstr "Телефон"
 
-#: ../src/common/config.py:356
+#: ../src/common/config.py:387
 msgid "I'm on the phone."
 msgstr "Говорю по телефону"
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:388
 msgid "Out"
 msgstr "Вышел"
 
-#: ../src/common/config.py:357
+#: ../src/common/config.py:388
 msgid "I'm out enjoying life."
 msgstr "Наслаждаюсь жизнью, чего и вам желаю."
 
-#: ../src/common/config.py:361
+#: ../src/common/config.py:392
 msgid "I'm available."
 msgstr "Я здесь."
 
-#: ../src/common/config.py:362
+#: ../src/common/config.py:393
 msgid "I'm free for chat."
 msgstr "Я готов поболтать."
 
-#: ../src/common/config.py:364
+#: ../src/common/config.py:395
 msgid "I'm not available."
 msgstr "Меня нет."
 
-#: ../src/common/config.py:365
+#: ../src/common/config.py:396
 msgid "Do not disturb."
 msgstr "Не беспокоить."
 
-#: ../src/common/config.py:366 ../src/common/config.py:367
+#: ../src/common/config.py:397 ../src/common/config.py:398
 msgid "Bye!"
 msgstr "Пока!"
 
-#: ../src/common/config.py:376
+#: ../src/common/config.py:407
 msgid ""
 "Sound to play when a group chat message contains one of the words in "
 "muc_highlight_words, or when a group chat message contains your nickname."
@@ -5841,198 +7186,373 @@ msgstr ""
 "содержит слово из списка muc_highlight_words, или когда сообщение содержит "
 "ваш ник."
 
-#: ../src/common/config.py:377
+#: ../src/common/config.py:408
 msgid "Sound to play when any MUC message arrives."
 msgstr "Звук, который нужно проигрывать, когда приходит любое сообщение MUC."
 
-#: ../src/common/config.py:386 ../src/common/optparser.py:197
+#: ../src/common/config.py:417 ../src/common/optparser.py:220
 msgid "green"
 msgstr "зеленый"
 
-#: ../src/common/config.py:390 ../src/common/optparser.py:183
+#: ../src/common/config.py:421 ../src/common/optparser.py:206
 msgid "grocery"
 msgstr "овощной"
 
-#: ../src/common/config.py:394
+#: ../src/common/config.py:425
 msgid "human"
 msgstr "телесный"
 
-#: ../src/common/config.py:398
+#: ../src/common/config.py:429
 msgid "marine"
 msgstr "морской"
 
-#: ../src/common/connection_handlers.py:52
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:44
+#: ../src/common/connection_handlers.py:61
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:49
 msgid "Unable to load idle module"
 msgstr "Не могу загрузить модуль \"idle\""
 
-#: ../src/common/connection_handlers.py:177
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233
+#: ../src/common/connection_handlers.py:219
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:243
 msgid "Wrong host"
 msgstr "Неверный хост"
 
-#: ../src/common/connection_handlers.py:177
-#: ../src/common/zeroconf/connection_handlers_zeroconf.py:233
-msgid ""
-"The host you configured as the ft_override_host_to_send advanced option is "
-"not valid, so ignored."
-msgstr ""
+#: ../src/common/connection_handlers.py:220
+msgid "Invalid local address? :-O"
+msgstr "Неправильный локальный адрес? :-O"
 
-#: ../src/common/connection_handlers.py:590
+#: ../src/common/connection_handlers.py:618
 #, python-format
 msgid "Registration information for transport %s has not arrived in time"
 msgstr "Данные о регистрации для транспорта %s не пришли вовремя."
 
-#: ../src/common/connection_handlers.py:1523
+#: ../src/common/connection_handlers.py:1806
 #, python-format
 msgid "Nickname not allowed: %s"
 msgstr "Ник недопустим: %s"
 
-#. password required to join
 #. we are banned
 #. group chat does not exist
-#: ../src/common/connection_handlers.py:1585
-#: ../src/common/connection_handlers.py:1588
-#: ../src/common/connection_handlers.py:1591
-#: ../src/common/connection_handlers.py:1594
-#: ../src/common/connection_handlers.py:1597
-#: ../src/common/connection_handlers.py:1600
-#: ../src/common/connection_handlers.py:1608
+#: ../src/common/connection_handlers.py:1876
+#: ../src/common/connection_handlers.py:1879
+#: ../src/common/connection_handlers.py:1882
+#: ../src/common/connection_handlers.py:1885
+#: ../src/common/connection_handlers.py:1889
+#: ../src/common/connection_handlers.py:1898
 msgid "Unable to join group chat"
 msgstr "Не получается войти в комнату"
 
-#: ../src/common/connection_handlers.py:1586
-msgid "A password is required to join this group chat."
-msgstr "Чтобы войти в эту комнату, нужен пароль."
-
-#: ../src/common/connection_handlers.py:1589
-msgid "You are banned from this group chat."
-msgstr "Вам запрещено входить в эту комнату."
+#: ../src/common/connection_handlers.py:1877
+#, python-format
+msgid "You are banned from group chat %s."
+msgstr "Вам запрещено входить в комнату %s."
 
-#: ../src/common/connection_handlers.py:1592
-msgid "Such group chat does not exist."
-msgstr "Такой комнаты нет."
+#: ../src/common/connection_handlers.py:1880
+#, python-format
+msgid "Group chat %s does not exist."
+msgstr "Комнаты %s не существует."
 
-#: ../src/common/connection_handlers.py:1595
+#: ../src/common/connection_handlers.py:1883
 msgid "Group chat creation is restricted."
 msgstr "Создание комнат запрещено."
 
-#: ../src/common/connection_handlers.py:1598
-msgid "Your registered nickname must be used."
-msgstr "Требуется использовать ваш зарегистрированный ник."
+#: ../src/common/connection_handlers.py:1886
+#, python-format
+msgid "Your registered nickname must be used in group chat %s."
+msgstr "Необходимо использовать Ваш зарегистрированный ник в комнате %s."
 
-#: ../src/common/connection_handlers.py:1601
-msgid "You are not in the members list."
-msgstr "Вас нет в списке членов комнаты."
+#: ../src/common/connection_handlers.py:1890
+#, python-format
+msgid "You are not in the members list in groupchat %s."
+msgstr "Вас нет в списке членов комнаты %s."
 
-#: ../src/common/connection_handlers.py:1609
+#: ../src/common/connection_handlers.py:1899
+#, python-format
 msgid ""
-"Your desired nickname is in use or registered by another occupant.\n"
+"Your desired nickname in group chat %s is in use or registered by another "
+"occupant.\n"
 "Please specify another nickname below:"
 msgstr ""
-"Тот ник что вы ввели уже используется или зарегистрирован другим пользователем.\n"
+"Тот ник что вы ввели в комнате %s уже используется или зарегистрирован "
+"другим пользователем.\n"
 "Пожалуйста укажите другой ник ниже:"
 
-#: ../src/common/connection_handlers.py:1659
+#. Room has been destroyed. see
+#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom
+#: ../src/common/connection_handlers.py:1930
+msgid "Room has been destroyed"
+msgstr "Комната была удалена"
+
+#: ../src/common/connection_handlers.py:1937
+#, python-format
+msgid "You can join this room instead: %s"
+msgstr ""
+
+#: ../src/common/connection_handlers.py:1964
 msgid "I would like to add you to my roster."
 msgstr "Вы не возражаете, если я добавлю Вас в свой ростер?"
 
 #. BE CAREFUL: no con.updateRosterItem() in a callback
-#: ../src/common/connection_handlers.py:1680
+#: ../src/common/connection_handlers.py:1985
 #, python-format
 msgid "we are now subscribed to %s"
 msgstr "теперь мы подписались на %s"
 
-#: ../src/common/connection_handlers.py:1682
+#: ../src/common/connection_handlers.py:1987
 #, python-format
 msgid "unsubscribe request from %s"
 msgstr "%s хочет отменить подписку"
 
-#: ../src/common/connection_handlers.py:1684
+#: ../src/common/connection_handlers.py:1989
 #, python-format
 msgid "we are now unsubscribed from %s"
 msgstr "теперь мы отписались от %s"
 
-#: ../src/common/connection_handlers.py:1854
+#: ../src/common/connection_handlers.py:2116
 #, python-format
 msgid ""
 "JID %s is not RFC compliant. It will not be added to your roster. Use roster "
 "management tools such as http://jru.jabberstudio.org/ to remove it"
-msgstr "JID %s не соответствует RFC. Он не будет добавлен в ваш ростер. Используйте средство управления ростера, например http://jru.jabberstudio.org/ чтобы удалить его"
+msgstr ""
+"JID %s не соответствует RFC. Он не будет добавлен в ваш ростер. Используйте "
+"средство управления ростера, например http://jru.jabberstudio.org/ чтобы "
+"удалить его"
+
+#. We didn't set a passphrase
+#: ../src/common/connection_handlers.py:2155
+#: ../src/common/zeroconf/connection_zeroconf.py:168
+msgid "OpenPGP passphrase was not given"
+msgstr "Не задана парольная фраза OpenPGP"
+
+#: ../src/common/connection.py:62
+msgid "Unable to get issuer certificate"
+msgstr ""
+
+#: ../src/common/connection.py:63
+msgid "Unable to get certificate CRL"
+msgstr ""
 
-#: ../src/common/connection.py:175
-#: ../src/common/zeroconf/connection_zeroconf.py:196
+#: ../src/common/connection.py:64
+msgid "Unable to decrypt certificate's signature"
+msgstr ""
+
+#: ../src/common/connection.py:65
+msgid "Unable to decrypt CRL's signature"
+msgstr ""
+
+#: ../src/common/connection.py:66
+#, fuzzy
+msgid "Unable to decode issuer public key"
+msgstr "Не могу загрузить модуль \"idle\""
+
+#: ../src/common/connection.py:67
+msgid "Certificate signature failure"
+msgstr ""
+
+#: ../src/common/connection.py:68
+msgid "CRL signature failure"
+msgstr ""
+
+#: ../src/common/connection.py:69
+msgid "Certificate is not yet valid"
+msgstr ""
+
+#: ../src/common/connection.py:70
+msgid "Certificate has expired"
+msgstr ""
+
+#: ../src/common/connection.py:71
+msgid "CRL is not yet valid"
+msgstr ""
+
+#: ../src/common/connection.py:72
+msgid "CRL has expired"
+msgstr ""
+
+#: ../src/common/connection.py:73
+msgid "Format error in certificate's notBefore field"
+msgstr ""
+
+#: ../src/common/connection.py:74
+msgid "Format error in certificate's notAfter field"
+msgstr ""
+
+#: ../src/common/connection.py:75
+msgid "Format error in CRL's lastUpdate field"
+msgstr ""
+
+#: ../src/common/connection.py:76
+msgid "Format error in CRL's nextUpdate field"
+msgstr ""
+
+#: ../src/common/connection.py:77
+msgid "Out of memory"
+msgstr ""
+
+#: ../src/common/connection.py:78
+msgid "Self signed certificate in certificate chain"
+msgstr ""
+
+#: ../src/common/connection.py:79
+msgid "Unable to get local issuer certificate"
+msgstr ""
+
+#: ../src/common/connection.py:80 ../src/common/connection.py:81
+msgid "Unable to verify the first certificate"
+msgstr ""
+
+#: ../src/common/connection.py:82
+msgid "Certificate chain too long"
+msgstr ""
+
+#: ../src/common/connection.py:83
+msgid "Certificate revoked"
+msgstr ""
+
+#: ../src/common/connection.py:84
+#, fuzzy
+msgid "Invalid CA certificate"
+msgstr "Неверное имя пользователя"
+
+#: ../src/common/connection.py:85
+msgid "Path length constraint exceeded"
+msgstr ""
+
+#: ../src/common/connection.py:86
+msgid "Unsupported certificate purpose"
+msgstr ""
+
+#: ../src/common/connection.py:87
+msgid "Certificate not trusted"
+msgstr ""
+
+#: ../src/common/connection.py:88
+msgid "Certificate rejected"
+msgstr ""
+
+#: ../src/common/connection.py:89
+msgid "Subject issuer mismatch"
+msgstr ""
+
+#: ../src/common/connection.py:90
+msgid "Authority and subject key identifier mismatch"
+msgstr ""
+
+#: ../src/common/connection.py:91
+msgid "Authority and issuer serial number mismatch"
+msgstr ""
+
+#: ../src/common/connection.py:92
+msgid "Key usage does not include certificate signing"
+msgstr ""
+
+#: ../src/common/connection.py:93
+msgid "Application verification failure"
+msgstr ""
+
+#: ../src/common/connection.py:246
+#: ../src/common/zeroconf/connection_zeroconf.py:208
 #, python-format
 msgid "Connection with account \"%s\" has been lost"
 msgstr "Связь с учетной записью \"%s\" была потеряна"
 
-#: ../src/common/connection.py:176
+#: ../src/common/connection.py:247
 msgid "Reconnect manually."
 msgstr "Переподключаться вручную."
 
-#: ../src/common/connection.py:187 ../src/common/connection.py:214
+#: ../src/common/connection.py:258
 #, python-format
-msgid "Transport %s answered wrongly to register request: %s"
-msgstr "Транспорт %s неверно ответил на запрос о регистрации: %s"
+msgid "Server %s answered wrongly to register request: %s"
+msgstr "Сервер %s неверно ответил на запрос о регистрации: %s"
+
+#: ../src/common/connection.py:291
+#, python-format
+msgid "Server %s provided a different registration form"
+msgstr ""
+
+#: ../src/common/connection.py:307
+#, python-format
+msgid "Unknown SSL error: %d"
+msgstr ""
 
 #. wrong answer
-#: ../src/common/connection.py:213
+#: ../src/common/connection.py:322
 msgid "Invalid answer"
 msgstr "Неверный ответ"
 
-#: ../src/common/connection.py:405 ../src/common/connection.py:440
-#: ../src/common/connection.py:889
-#: ../src/common/zeroconf/connection_zeroconf.py:217
+#: ../src/common/connection.py:323
+#, python-format
+msgid "Transport %s answered wrongly to register request: %s"
+msgstr "Транспорт %s неверно ответил на запрос о регистрации: %s"
+
+#: ../src/common/connection.py:469
+msgid "Connection to proxy failed"
+msgstr "Соединение с прокси разорвалось"
+
+#: ../src/common/connection.py:523 ../src/common/connection.py:585
+#: ../src/common/connection.py:1140
+#: ../src/common/zeroconf/connection_zeroconf.py:242
 #, python-format
 msgid "Could not connect to \"%s\""
 msgstr "Не могу соединиться с \"%s\""
 
-#: ../src/common/connection.py:419
+#: ../src/common/connection.py:537
 #, python-format
 msgid "Connected to server %s:%s with %s"
 msgstr "Подключен к серверу %s: %s с %s"
 
-#: ../src/common/connection.py:441
+#: ../src/common/connection.py:548
+#, python-format
+msgid "The authenticity of the %s certificate could be invalid."
+msgstr ""
+
+#: ../src/common/connection.py:551
+#, python-format
+msgid ""
+"\n"
+"SSL Error: %s"
+msgstr ""
+
+#: ../src/common/connection.py:553
+#, python-format
+msgid ""
+"\n"
+"Unknown SSL error: %d"
+msgstr ""
+
+#: ../src/common/connection.py:586
 msgid "Check your connection or try again later"
 msgstr "Проверьте настройки сети или попробуйте еще раз позже"
 
-#: ../src/common/connection.py:467
+#: ../src/common/connection.py:611
 #, python-format
 msgid "Authentication failed with \"%s\""
 msgstr "Ошибка аутентификации с \"%s\""
 
-#: ../src/common/connection.py:468
+#: ../src/common/connection.py:613
 msgid "Please check your login and password for correctness."
 msgstr "Пожалуйста, проверьте правильность логина и пароля."
 
-#. We didn't set a passphrase
-#: ../src/common/connection.py:585
-#: ../src/common/zeroconf/connection_zeroconf.py:156
-msgid "OpenPGP passphrase was not given"
-msgstr "Не задана парольная фраза OpenPGP"
-
-#. do not show I'm invisible!
-#: ../src/common/connection.py:627
-msgid "invisible"
-msgstr "невидимка"
+#: ../src/common/connection.py:656
+msgid "Error while removing privacy list"
+msgstr "Ошибка при удалении списка приватности"
 
-#: ../src/common/connection.py:628
-msgid "offline"
-msgstr "отключен"
-
-#: ../src/common/connection.py:629
+#: ../src/common/connection.py:657
 #, python-format
-msgid "I'm %s"
-msgstr "%s"
+msgid ""
+"Privacy list %s has not been removed. It is maybe active in one of your "
+"connected resources. Deactivate it and try again."
+msgstr ""
+"Список приватности %s не может быть удален.Возможно он используется одним из "
+"ваших активных ресурсов.Отключите ресурс и попробуйте снова."
 
 #. we're not english
 #. one  in locale and one en
-#: ../src/common/connection.py:720
+#: ../src/common/connection.py:933
 msgid "[This message is *encrypted* (See :JEP:`27`]"
 msgstr "[Это сообщение *зашифровано*, см. :JEP:`27`]"
 
-#: ../src/common/connection.py:776
-#: ../src/common/zeroconf/connection_zeroconf.py:397
+#: ../src/common/connection.py:1007
+#: ../src/common/zeroconf/connection_zeroconf.py:436
 #, python-format
 msgid ""
 "Subject: %s\n"
@@ -6041,34 +7561,38 @@ msgstr ""
 "Тема: %s\n"
 "%s"
 
-#: ../src/common/connection.py:915
+#: ../src/common/connection.py:1172
 msgid "Not fetched because of invisible status"
 msgstr "Нельзя получить из-за невидимости"
 
+#: ../src/common/contacts.py:299
+msgid "Not in roster"
+msgstr "Не в ростере"
+
 #. only say that to non Windows users
-#: ../src/common/dbus_support.py:33
+#: ../src/common/dbus_support.py:41
 msgid "D-Bus python bindings are missing in this computer"
 msgstr "На компьютере не установлена библиотека D-Bus для Python"
 
-#: ../src/common/dbus_support.py:34
+#: ../src/common/dbus_support.py:42
 msgid "D-Bus capabilities of Gajim cannot be used"
 msgstr "Возможности работы Gajim с D-Bus не могут быть использованы"
 
-#: ../src/common/exceptions.py:22
+#: ../src/common/exceptions.py:27
 msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
 msgstr "отсутствует библиотека pysqlite2 (или python-pysqlite2). Выход..."
 
-#: ../src/common/exceptions.py:30
+#: ../src/common/exceptions.py:44
 msgid "Service not available: Gajim is not running, or remote_control is False"
 msgstr ""
 "Сервис недоступен: Gajim не запущен или отключена функция удаленного "
 "управления"
 
-#: ../src/common/exceptions.py:38
+#: ../src/common/exceptions.py:52
 msgid "D-Bus is not present on this machine or python module is missing"
 msgstr "На машине отсутствует D-Bus или модуль питона для нее"
 
-#: ../src/common/exceptions.py:46
+#: ../src/common/exceptions.py:60
 msgid ""
 "Session bus is not available.\n"
 "Try reading http://trac.gajim.org/wiki/GajimDBus"
@@ -6076,483 +7600,490 @@ msgstr ""
 "Шина D-Bus не доступна.\n"
 "Попробуйте прочитать http://trac.gajim.org/wiki/GajimDBus"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "one"
 msgstr "один"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "two"
 msgstr "два"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "three"
 msgstr "три"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "four"
 msgstr "четыре"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "five"
 msgstr "пять"
 
-#: ../src/common/fuzzyclock.py:42
+#: ../src/common/fuzzyclock.py:47
 msgid "six"
 msgstr "шесть"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "seven"
 msgstr "семь"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "eight"
 msgstr "восемь"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "nine"
 msgstr "девять"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "ten"
 msgstr "десять"
 
-#: ../src/common/fuzzyclock.py:43
+#: ../src/common/fuzzyclock.py:48
 msgid "eleven"
 msgstr "одиннадцать"
 
-#: ../src/common/fuzzyclock.py:44
+#: ../src/common/fuzzyclock.py:49
 msgid "twelve"
 msgstr "двенадцать"
 
 #. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). '''
 #. A "singular-form". It is used when talking about hour 0
-#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
-msgid "%0 o'clock"
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+msgid "$0 o'clock"
 msgstr "%0"
 
-#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
-msgid "five past %0"
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+msgid "five past $0"
 msgstr "пять минут %1"
 
-#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:56
-msgid "ten past %0"
+#: ../src/common/fuzzyclock.py:53 ../src/common/fuzzyclock.py:61
+msgid "ten past $0"
 msgstr "десять минут %1"
 
-#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
-msgid "quarter past %0"
+#: ../src/common/fuzzyclock.py:53 ../src/common/fuzzyclock.py:61
+msgid "quarter past $0"
 msgstr "четверть %1"
 
-#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:57
-msgid "twenty past %0"
+#: ../src/common/fuzzyclock.py:54 ../src/common/fuzzyclock.py:62
+msgid "twenty past $0"
 msgstr "двадцать минут %1"
 
-#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
-msgid "twenty five past %0"
+#: ../src/common/fuzzyclock.py:54 ../src/common/fuzzyclock.py:62
+msgid "twenty five past $0"
 msgstr "двадцать пять минут %1"
 
-#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:58
-msgid "half past %0"
+#: ../src/common/fuzzyclock.py:55 ../src/common/fuzzyclock.py:63
+msgid "half past $0"
 msgstr "половина %1"
 
-#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
-msgid "twenty five to %1"
+#: ../src/common/fuzzyclock.py:55 ../src/common/fuzzyclock.py:63
+msgid "twenty five to $1"
 msgstr "без двадцати пяти %1"
 
-#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:59
-msgid "twenty to %1"
+#: ../src/common/fuzzyclock.py:56 ../src/common/fuzzyclock.py:64
+msgid "twenty to $1"
 msgstr "без двадцати %1"
 
-#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
-msgid "quarter to %1"
+#: ../src/common/fuzzyclock.py:56 ../src/common/fuzzyclock.py:64
+msgid "quarter to $1"
 msgstr "без четверти %1"
 
-#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:60
-msgid "ten to %1"
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:65
+msgid "ten to $1"
 msgstr "без десяти %1"
 
-#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:60
-msgid "five to %1"
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:65
+msgid "five to $1"
 msgstr "без пяти %1"
 
-#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
-msgid "%1 o'clock"
+#: ../src/common/fuzzyclock.py:57 ../src/common/fuzzyclock.py:66
+msgid "$1 o'clock"
 msgstr "%1"
 
-#: ../src/common/fuzzyclock.py:62
+#: ../src/common/fuzzyclock.py:69
 msgid "Night"
 msgstr "Ночь"
 
-#: ../src/common/fuzzyclock.py:62
+#: ../src/common/fuzzyclock.py:69
 msgid "Early morning"
 msgstr "Раннее утро"
 
-#: ../src/common/fuzzyclock.py:62
+#: ../src/common/fuzzyclock.py:69
 msgid "Morning"
 msgstr "Утро"
 
-#: ../src/common/fuzzyclock.py:62
+#: ../src/common/fuzzyclock.py:69
 msgid "Almost noon"
 msgstr "День"
 
-#: ../src/common/fuzzyclock.py:63
+#: ../src/common/fuzzyclock.py:70
 msgid "Noon"
 msgstr "Полдень"
 
-#: ../src/common/fuzzyclock.py:63
+#: ../src/common/fuzzyclock.py:70
 msgid "Afternoon"
 msgstr "День"
 
-#: ../src/common/fuzzyclock.py:63
+#: ../src/common/fuzzyclock.py:70
 msgid "Evening"
 msgstr "Вечер"
 
-#: ../src/common/fuzzyclock.py:63
+#: ../src/common/fuzzyclock.py:70
 msgid "Late evening"
 msgstr "Поздний вечер"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:72
 msgid "Start of week"
 msgstr "Начало недели"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:72
 msgid "Middle of week"
 msgstr "Середина недели"
 
-#: ../src/common/fuzzyclock.py:65
+#: ../src/common/fuzzyclock.py:72
 msgid "End of week"
 msgstr "Конец недели"
 
-#: ../src/common/fuzzyclock.py:66
+#: ../src/common/fuzzyclock.py:73
 msgid "Weekend!"
 msgstr "Выходные!"
 
-#: ../src/common/helpers.py:105
+#: ../src/common/helpers.py:124
 msgid "Invalid character in username."
 msgstr "Неверный символ в имени пользователя."
 
-#: ../src/common/helpers.py:110
+#: ../src/common/helpers.py:129
 msgid "Server address required."
 msgstr "Требуется адрес сервера."
 
-#: ../src/common/helpers.py:115
+#: ../src/common/helpers.py:134
 msgid "Invalid character in hostname."
 msgstr "Неверный символ в имени сервера"
 
-#: ../src/common/helpers.py:121
+#: ../src/common/helpers.py:140
 msgid "Invalid character in resource."
 msgstr "Неверный символ в ресурсе"
 
 #. GiB means gibibyte
-#: ../src/common/helpers.py:161
+#: ../src/common/helpers.py:180
 #, python-format
 msgid "%s GiB"
 msgstr "%s GiB"
 
 #. GB means gigabyte
-#: ../src/common/helpers.py:164
+#: ../src/common/helpers.py:183
 #, python-format
 msgid "%s GB"
 msgstr "%s GB"
 
 #. MiB means mibibyte
-#: ../src/common/helpers.py:168
+#: ../src/common/helpers.py:187
 #, python-format
 msgid "%s MiB"
 msgstr "%s MiB"
 
 #. MB means megabyte
-#: ../src/common/helpers.py:171
+#: ../src/common/helpers.py:190
 #, python-format
 msgid "%s MB"
 msgstr "%s MB"
 
 #. KiB means kibibyte
-#: ../src/common/helpers.py:175
+#: ../src/common/helpers.py:194
 #, python-format
 msgid "%s KiB"
 msgstr "%s KiB"
 
 #. KB means kilo bytes
-#: ../src/common/helpers.py:178
+#: ../src/common/helpers.py:197
 #, python-format
 msgid "%s KB"
 msgstr "%s KB"
 
 #. B means bytes
-#: ../src/common/helpers.py:181
+#: ../src/common/helpers.py:200
 #, python-format
 msgid "%s B"
 msgstr "%s B"
 
-#: ../src/common/helpers.py:210
+#: ../src/common/helpers.py:231
 msgid "_Busy"
 msgstr "_Занят"
 
-#: ../src/common/helpers.py:212
+#: ../src/common/helpers.py:233
 msgid "Busy"
 msgstr "Занят"
 
-#: ../src/common/helpers.py:215
+#: ../src/common/helpers.py:236
 msgid "_Not Available"
 msgstr "_Недоступен"
 
-#: ../src/common/helpers.py:220
+#: ../src/common/helpers.py:241
 msgid "_Free for Chat"
 msgstr "_Готов поболтать"
 
-#: ../src/common/helpers.py:222
+#: ../src/common/helpers.py:243
 msgid "Free for Chat"
 msgstr "Готов поболтать"
 
-#: ../src/common/helpers.py:225
+#: ../src/common/helpers.py:246
 msgid "_Available"
 msgstr "_Доступен"
 
-#: ../src/common/helpers.py:227
-msgid "Available"
-msgstr "Доступен"
-
-#: ../src/common/helpers.py:229
+#: ../src/common/helpers.py:250
 msgid "Connecting"
 msgstr "Соединяюсь"
 
-#: ../src/common/helpers.py:232
+#: ../src/common/helpers.py:253
 msgid "A_way"
 msgstr "_Ушел"
 
-#: ../src/common/helpers.py:237
+#: ../src/common/helpers.py:258
 msgid "_Offline"
 msgstr "_Отключен"
 
-#: ../src/common/helpers.py:239
+#: ../src/common/helpers.py:260
 msgid "Offline"
 msgstr "Отключен"
 
-#: ../src/common/helpers.py:242
+#: ../src/common/helpers.py:263
 msgid "_Invisible"
 msgstr "_Невидимка"
 
-#: ../src/common/helpers.py:248
+#: ../src/common/helpers.py:269
 msgid "?contact has status:Unknown"
 msgstr "Неизвестен"
 
-#: ../src/common/helpers.py:250
+#: ../src/common/helpers.py:271
 msgid "?contact has status:Has errors"
 msgstr "Ошибка"
 
-#: ../src/common/helpers.py:255
+#: ../src/common/helpers.py:276
 msgid "?Subscription we already have:None"
 msgstr "Нет"
 
-#: ../src/common/helpers.py:257
+#: ../src/common/helpers.py:278
 msgid "To"
 msgstr "К"
 
-#: ../src/common/helpers.py:261
+#: ../src/common/helpers.py:282
 msgid "Both"
 msgstr "Оба"
 
-#: ../src/common/helpers.py:269
+#: ../src/common/helpers.py:290
 msgid "?Ask (for Subscription):None"
 msgstr "Нет"
 
-#: ../src/common/helpers.py:271
+#: ../src/common/helpers.py:292
 msgid "Subscribe"
 msgstr "Подписаться"
 
-#: ../src/common/helpers.py:280
+#: ../src/common/helpers.py:301
 msgid "?Group Chat Contact Role:None"
 msgstr "Отсутствует"
 
-#: ../src/common/helpers.py:283
+#: ../src/common/helpers.py:304
 msgid "Moderators"
 msgstr "Модераторы"
 
-#: ../src/common/helpers.py:285
+#: ../src/common/helpers.py:306
 msgid "Moderator"
 msgstr "Модератор"
 
-#: ../src/common/helpers.py:288
+#: ../src/common/helpers.py:309
 msgid "Participants"
 msgstr "Участники"
 
-#: ../src/common/helpers.py:290
+#: ../src/common/helpers.py:311
 msgid "Participant"
 msgstr "Участник"
 
-#: ../src/common/helpers.py:293
+#: ../src/common/helpers.py:314
 msgid "Visitors"
 msgstr "Посетители"
 
-#: ../src/common/helpers.py:295
+#: ../src/common/helpers.py:316
 msgid "Visitor"
 msgstr "Посетитель"
 
-#: ../src/common/helpers.py:301
+#: ../src/common/helpers.py:322
 msgid "?Group Chat Contact Affiliation:None"
 msgstr "Отсутствует"
 
-#: ../src/common/helpers.py:303
+#: ../src/common/helpers.py:324
 msgid "Owner"
 msgstr "Владелец"
 
-#: ../src/common/helpers.py:305
+#: ../src/common/helpers.py:326
 msgid "Administrator"
 msgstr "Администратор"
 
-#: ../src/common/helpers.py:307
+#: ../src/common/helpers.py:328
 msgid "Member"
 msgstr "Участник"
 
-#: ../src/common/helpers.py:346
+#: ../src/common/helpers.py:367
 msgid "is paying attention to the conversation"
 msgstr "читает сообщение"
 
-#: ../src/common/helpers.py:348
+#: ../src/common/helpers.py:369
 msgid "is doing something else"
 msgstr "занят чем-то еще"
 
-#: ../src/common/helpers.py:350
+#: ../src/common/helpers.py:371
 msgid "is composing a message..."
 msgstr "печатает сообщение..."
 
-#. paused means he or she was compoing but has stopped for a while
-#: ../src/common/helpers.py:353
+#. paused means he or she was composing but has stopped for a while
+#: ../src/common/helpers.py:374
 msgid "paused composing a message"
 msgstr "перестал печатать сообщение"
 
-#: ../src/common/helpers.py:355
+#: ../src/common/helpers.py:376
 msgid "has closed the chat window or tab"
 msgstr "закрыл окно чата или вкладку"
 
-#: ../src/common/helpers.py:881
+#: ../src/common/helpers.py:947 ../src/common/helpers.py:954
+#, python-format
+msgid "%d message pending"
+msgid_plural "%d messages pending"
+msgstr[0] "%d пропущенное сообщение"
+msgstr[1] "%d пропущенных сообщения"
+msgstr[2] "%d пропущенных сообщений"
+
+#: ../src/common/helpers.py:960
 #, python-format
-msgid " %d unread message"
-msgid_plural " %d unread messages"
-msgstr[0] " %d непрочитанное сообщение"
-msgstr[1] " %d непрочитанных сообщения"
-msgstr[2] " %d непрочитанных сообщений"
+msgid " from room %s"
+msgstr " в комнате %s"
 
-#: ../src/common/helpers.py:887
+#: ../src/common/helpers.py:963 ../src/common/helpers.py:982
 #, python-format
-msgid " %d unread single message"
-msgid_plural " %d unread single messages"
-msgstr[0] " %d непрочитанное одиночное сообщение"
-msgstr[1] " %d непрочитанных одиночных сообщения"
-msgstr[2] " %d непрочитанных одиночных сообщений"
+msgid " from user %s"
+msgstr ""
 
-#: ../src/common/helpers.py:893
+#: ../src/common/helpers.py:965
 #, python-format
-msgid " %d unread group chat message"
-msgid_plural " %d unread group chat messages"
-msgstr[0] " %d непрочитанное сообщение в комнате"
-msgstr[1] " %d непрочитанных сообщения в комнате"
-msgstr[2] " %d непрочитанных сообщений в комнате"
+msgid " from %s"
+msgstr " от %s"
 
-#: ../src/common/helpers.py:899
+#: ../src/common/helpers.py:972 ../src/common/helpers.py:979
 #, python-format
-msgid " %d unread private message"
-msgid_plural " %d unread private messages"
-msgstr[0] " %d непрочитанное личное сообщение"
-msgstr[1] " %d непрочитанных личных сообщения"
-msgstr[2] " %d непрочитанных личных сообщения"
+msgid "%d event pending"
+msgid_plural "%d events pending"
+msgstr[0] "%d событие пропущено"
+msgstr[1] "%d события пропущено"
+msgstr[2] "%d событий пропущено"
 
-#: ../src/common/helpers.py:909 ../src/common/helpers.py:911
+#: ../src/common/helpers.py:1012
 #, python-format
 msgid "Gajim - %s"
 msgstr "Gajim - %s"
 
 #. we talk about a file
-#: ../src/common/optparser.py:60
+#: ../src/common/optparser.py:65
 #, python-format
 msgid "error: cannot open %s for reading"
 msgstr "ошибка: не могу открыть %s для чтения"
 
-#: ../src/common/optparser.py:183
-msgid "gtk+"
-msgstr "gtk+"
-
-#: ../src/common/optparser.py:192 ../src/common/optparser.py:193
+#: ../src/common/optparser.py:215 ../src/common/optparser.py:216
 msgid "cyan"
 msgstr "синий"
 
-#: ../src/common/optparser.py:302
-msgid "migrating logs database to indeces"
+#: ../src/common/optparser.py:332
+msgid "migrating logs database to indices"
 msgstr "переносим журнал на индексы"
 
-#: ../src/common/passwords.py:86
+#: ../src/common/passwords.py:88
 #, python-format
 msgid "Gajim account %s"
 msgstr "Учётная запись Gajim %s"
 
-#: ../src/common/zeroconf/client_zeroconf.py:189
-msgid "Connection to host could not be established: Incorrect answer from server."
-msgstr "Нельзя подключиться к хосту: Неверный ответ от сервера."
-
-#: ../src/common/zeroconf/client_zeroconf.py:205
+#: ../src/common/zeroconf/client_zeroconf.py:149
+#: ../src/common/zeroconf/client_zeroconf.py:232
 msgid "Connection to host could not be established"
 msgstr "Не удалось соединиться с хостом"
 
-#: ../src/common/zeroconf/client_zeroconf.py:334
-msgid "Connection to host could not be established: Timeout while sending data."
+#: ../src/common/zeroconf/client_zeroconf.py:206
+msgid ""
+"Connection to host could not be established: Incorrect answer from server."
+msgstr "Нельзя подключиться к хосту: Неверный ответ от сервера."
+
+#: ../src/common/zeroconf/client_zeroconf.py:366
+msgid ""
+"Connection to host could not be established: Timeout while sending data."
 msgstr "Не удалось соединиться с хостом: истекло время ожидания."
 
-#: ../src/common/zeroconf/client_zeroconf.py:629
+#: ../src/common/zeroconf/client_zeroconf.py:652
 msgid "Contact is offline. Your message could not be sent."
 msgstr "Контакт не в сети. Отправить сообщение не удалось."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:197
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:243
+#, fuzzy, python-format
+msgid ""
+"The host %s you configured as the ft_add_hosts_to_send advanced option is "
+"not valid, so ignored."
+msgstr ""
+"Хост %s, который настроен как расширеная настройка ft_add_hosts_to_send не "
+"действителен (не правилен?), поэтому игнорируется."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:209
 msgid "To continue sending and receiving messages, you will need to reconnect."
 msgstr "Требуется переподключение для продолжения приема и отправки сообщений."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:207
+#: ../src/common/zeroconf/connection_zeroconf.py:232
 msgid "Avahi error"
 msgstr "Ошибка Avahi"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:207
+#: ../src/common/zeroconf/connection_zeroconf.py:232
 #, python-format
 msgid ""
 "%s\n"
 "Link-local messaging might not work properly."
 msgstr ""
 
-#: ../src/common/zeroconf/connection_zeroconf.py:218
+#: ../src/common/zeroconf/connection_zeroconf.py:243
 msgid "Please check if Avahi is installed."
 msgstr "Пожалуйста, удостоверьтесь что Avahi установлен."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:227
-#: ../src/common/zeroconf/connection_zeroconf.py:231
+#: ../src/common/zeroconf/connection_zeroconf.py:252
+#: ../src/common/zeroconf/connection_zeroconf.py:256
 msgid "Could not start local service"
 msgstr "Не могу запустить локальный сервис"
 
-#: ../src/common/zeroconf/connection_zeroconf.py:228
+#: ../src/common/zeroconf/connection_zeroconf.py:253
 #, python-format
 msgid "Unable to bind to port %d."
 msgstr "Не могу использовать порт %d."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:232
-#: ../src/common/zeroconf/connection_zeroconf.py:325
+#: ../src/common/zeroconf/connection_zeroconf.py:257
+#: ../src/common/zeroconf/connection_zeroconf.py:352
 msgid "Please check if avahi-daemon is running."
 msgstr "Пожалуйста, удостоверьтесь что демон avahi запущен."
 
-#: ../src/common/zeroconf/connection_zeroconf.py:324
+#: ../src/common/zeroconf/connection_zeroconf.py:351
 #, python-format
 msgid "Could not change status of account \"%s\""
 msgstr "Не могу изменить статус учётной записи \"%s\""
 
-#: ../src/common/zeroconf/connection_zeroconf.py:341
+#: ../src/common/zeroconf/connection_zeroconf.py:368
 msgid ""
 "You are not connected or not visible to others. Your message could not be "
 "sent."
-msgstr "Вы не подключены или невидимы для других. Ваше сообщение нельзы отправить."
+msgstr ""
+"Вы не подключены или невидимы для других. Ваше сообщение нельзы отправить."
 
 #. we're not english
-#: ../src/common/zeroconf/connection_zeroconf.py:353
+#: ../src/common/zeroconf/connection_zeroconf.py:380
 msgid "[This message is encrypted]"
 msgstr "[Это сообщение зашифровано]"
 
-#: ../src/common/zeroconf/zeroconf.py:180
+#: ../src/common/zeroconf/zeroconf_avahi.py:183
+#: ../src/common/zeroconf/zeroconf_bonjour.py:194
 #, python-format
 msgid "Error while adding service. %s"
 msgstr "Ошибка при добавлении службы. %s"
 
+#~ msgid "Save passphrase"
+#~ msgstr "Сохранить парольную фразу (небезопасно)"
diff --git a/po/sr@Latn.po b/po/sr@Latn.po
new file mode 100644
index 0000000000000000000000000000000000000000..45007246e09d27926c7b8f65b52a992437cbe5eb
--- /dev/null
+++ b/po/sr@Latn.po
@@ -0,0 +1,7637 @@
+# translation of sr.po to
+# Serbian translations for gajim.
+# Copyright (C) 2006 RiLinux
+# This file is distributed under the same license as the gajim package.
+# B. Kokanovic <branko.kokanovic@gmail.com>, 2007.
+# Branko Kokanovic <baki@sr22.no-ip.info>, 2007.
+#
+#: ../src/gajim-remote.py:212 ../src/gajim-remote.py:219
+#: ../src/gajim-remote.py:245 ../src/gajim-remote.py:246
+#: ../src/gajim-remote.py:252 ../src/gajim-remote.py:253
+#: ../src/gajim-remote.py:254 ../src/gajim-remote.py:255
+msgid ""
+msgstr ""
+"Project-Id-Version: sr\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-09-12 09:53+0200\n"
+"PO-Revision-Date: 2007-09-09 21:30+0200\n"
+"Last-Translator: Branko Kokanovic\n"
+"Language-Team:  <sr@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: ../data/gajim.desktop.in.in.h:1
+msgid "A GTK+ Jabber client"
+msgstr "GTK+ Džaber klijent"
+
+#: ../data/gajim.desktop.in.in.h:2
+msgid "Gajim Instant Messenger"
+msgstr "Gajim Brze Poruke"
+
+#: ../data/gajim.desktop.in.in.h:3
+msgid "Jabber IM Client"
+msgstr "Džaber IM Klijent"
+
+#: ../data/glade/account_context_menu.glade.h:1
+#: ../data/glade/roster_window.glade.h:8
+#, fuzzy
+msgid "Join _Group Chat..."
+msgstr "Priključi se _grupnom razgovoru"
+
+#: ../data/glade/account_context_menu.glade.h:2
+msgid "_Add Contact..."
+msgstr "_Dodaj kontakt..."
+
+#: ../data/glade/account_context_menu.glade.h:3
+#: ../data/glade/roster_window.glade.h:15
+msgid "_Discover Services"
+msgstr "_Otkrivanje servisa"
+
+#: ../data/glade/account_context_menu.glade.h:4
+msgid "_Execute Command..."
+msgstr "_Izvrši naredbu..."
+
+#: ../data/glade/account_context_menu.glade.h:5
+#, fuzzy
+msgid "_Modify Account"
+msgstr "Izmeni nalog"
+
+#: ../data/glade/account_context_menu.glade.h:6
+msgid "_Open Gmail Inbox"
+msgstr "_Otvori Gmail dolaznu poštu"
+
+#: ../data/glade/account_context_menu.glade.h:7
+#: ../data/glade/roster_window.glade.h:22
+#, fuzzy
+msgid "_Start Chat..."
+msgstr "_Započni razgovor"
+
+#: ../data/glade/account_context_menu.glade.h:8
+#: ../data/glade/zeroconf_context_menu.glade.h:2
+msgid "_Status"
+msgstr "_Status"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:1
+#, fuzzy
+msgid ""
+"<b>Connecting to server</b>\n"
+"\n"
+"Please wait..."
+msgstr ""
+"<b>Korisnički nalog je u procesu stvaranja</b>\n"
+"\n"
+"Molimo pričekajte..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:4
+msgid "<b>Please choose one of the options below:</b>"
+msgstr "<b>Molimo odaberite jednu od opcija ispod:</b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:5
+msgid "<b>Please fill in the data for your new account</b>"
+msgstr "<b>Molimo popunimo podatke za Vaš novi korisnički nalog</b>"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:6
+msgid "<b>Please select a server</b>"
+msgstr ""
+
+#: ../data/glade/account_creation_wizard_window.glade.h:7
+msgid "Click to see features (like MSN, ICQ transports) of jabber servers"
+msgstr ""
+"Kliknite da vidite mogućnosti (kao što su MSN, ICQ transporti) džaber "
+"servera "
+
+#: ../data/glade/account_creation_wizard_window.glade.h:8
+msgid "Connect when I press Finish"
+msgstr "Poveži se kada pritisnem Završi"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:9
+msgid "Gajim: Account Creation Wizard"
+msgstr "Gajim: čarobnjak za kreiranje naloga"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:10
+#, fuzzy
+msgid "I already have an account I want to _use"
+msgstr "Već imam nalog koji želim da koristim"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:11
+msgid "I want to _register for a new account"
+msgstr "Želim da registrujem novi nalog"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:12
+#: ../data/glade/account_modification_window.glade.h:20
+#: ../data/glade/accounts_window.glade.h:22
+msgid "If checked, Gajim will remember the password for this account"
+msgstr "Ako je označeno, Gajim će pamtiti lozinku za ovaj nalog"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:13
+#: ../data/glade/account_modification_window.glade.h:26
+#: ../data/glade/accounts_window.glade.h:32
+msgid "Manage..."
+msgstr "Podesi..."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:14
+#, fuzzy
+msgid "Prox_y:"
+msgstr "Proksi:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:15
+#: ../data/glade/account_modification_window.glade.h:40
+#: ../data/glade/accounts_window.glade.h:48
+msgid "Save pass_word"
+msgstr "Snimi lozinku"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:16
+msgid "Servers Features"
+msgstr "Mogućnosti servera"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:17
+msgid "Set my profile when I connect"
+msgstr "Postavi moj profil pri povezivanju"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:18
+#: ../data/glade/account_modification_window.glade.h:45
+#: ../data/glade/accounts_window.glade.h:53
+msgid "Use custom hostname/port"
+msgstr "Koristi Vaše određeno ime hosta/port "
+
+#: ../data/glade/account_creation_wizard_window.glade.h:19
+msgid ""
+"You need to have an account in order to connect\n"
+"to the Jabber network."
+msgstr ""
+"Morate posedovati račun da biste se mogli povezati\n"
+"na džaber mrežu."
+
+#: ../data/glade/account_creation_wizard_window.glade.h:21
+msgid "Your JID:"
+msgstr "Vaš džaber ID:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:22
+#: ../data/glade/roster_window.glade.h:13
+msgid "_Advanced"
+msgstr "_Napredno"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:23
+msgid "_Finish"
+msgstr "_Završi"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:24
+#, fuzzy
+msgid "_Hostname:"
+msgstr "Ime hosta"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:25
+#: ../data/glade/account_modification_window.glade.h:50
+#: ../data/glade/accounts_window.glade.h:58
+msgid "_Password:"
+msgstr "_Lozinka:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:26
+#: ../data/glade/manage_proxies_window.glade.h:11
+msgid "_Port:"
+msgstr "_Port:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:27
+msgid "_Server:"
+msgstr "_Server:"
+
+#: ../data/glade/account_creation_wizard_window.glade.h:28
+#: ../data/glade/manage_proxies_window.glade.h:12
+msgid "_Username:"
+msgstr "_Korisničko ime:"
+
+#: ../data/glade/account_modification_window.glade.h:1
+#: ../data/glade/accounts_window.glade.h:1
+#: ../data/glade/preferences_window.glade.h:8
+msgid "<b>Miscellaneous</b>"
+msgstr "<b>Ostalo</b>"
+
+#: ../data/glade/account_modification_window.glade.h:2
+#: ../data/glade/accounts_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:1
+msgid "<b>OpenPGP</b>"
+msgstr "<b>OpenPGP</b>"
+
+#: ../data/glade/account_modification_window.glade.h:3
+#: ../data/glade/accounts_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:2
+msgid "<b>Personal Information</b>"
+msgstr "<b>Lične informacije</b>"
+
+#: ../data/glade/account_modification_window.glade.h:4
+#: ../data/glade/accounts_window.glade.h:4
+msgid "Account"
+msgstr "Nalog"
+
+#: ../data/glade/account_modification_window.glade.h:5
+msgid "Account Modification"
+msgstr "Izmena naloga"
+
+#: ../data/glade/account_modification_window.glade.h:6
+#: ../data/glade/accounts_window.glade.h:5
+#, fuzzy
+msgid "Administration operations"
+msgstr "Lista administratora"
+
+#: ../data/glade/account_modification_window.glade.h:7
+#: ../data/glade/accounts_window.glade.h:6
+msgid "Auto-reconnect when connection is lost"
+msgstr "Automatsko povezivanje kada se veza izgubi"
+
+#: ../data/glade/account_modification_window.glade.h:8
+#: ../data/glade/accounts_window.glade.h:7
+#: ../data/glade/zeroconf_properties_window.glade.h:3
+msgid "C_onnect on Gajim startup"
+msgstr "Po_veži se prilikom pokretanja Gajima"
+
+#: ../data/glade/account_modification_window.glade.h:9
+#: ../data/glade/accounts_window.glade.h:8
+msgid "Chan_ge Password"
+msgstr "I_zmeni lozinku"
+
+#: ../data/glade/account_modification_window.glade.h:10
+#: ../data/glade/accounts_window.glade.h:9
+msgid ""
+"Check this so Gajim will connect in port 5223 where legacy servers are "
+"expected to have SSL capabilities. Note that Gajim uses TLS encryption by "
+"default if broadcasted by the server, and with this option enabled TLS will "
+"be disabled"
+msgstr ""
+"Označite ovo da biste se povezali na port 5223 gde se predpostavlja da "
+"stariji serveri imaju SSL  mogućnosti. Primetite da Gajim koristi "
+"podrazumevano TLS enkripciju akoje server traži, a sa ovo opcijom "
+"omogućenom, TLS će biti isključen"
+
+#: ../data/glade/account_modification_window.glade.h:11
+#: ../data/glade/accounts_window.glade.h:10
+#: ../data/glade/zeroconf_properties_window.glade.h:4
+msgid "Choose _Key..."
+msgstr "Odaberite _Ključ"
+
+#: ../data/glade/account_modification_window.glade.h:12
+#: ../data/glade/accounts_window.glade.h:11
+msgid "Click to change account's password"
+msgstr "Kliknite za izmenu lozinke Vašeg naloga"
+
+#: ../data/glade/account_modification_window.glade.h:13
+#: ../data/glade/accounts_window.glade.h:12
+msgid "Click to request authorization to all contacts of another account"
+msgstr ""
+
+#: ../data/glade/account_modification_window.glade.h:14
+#: ../data/glade/accounts_window.glade.h:13
+msgid "Connection"
+msgstr "Veza"
+
+#: ../data/glade/account_modification_window.glade.h:15
+#: ../data/glade/accounts_window.glade.h:15
+msgid "Edit Personal Information..."
+msgstr "Izmeni lične informacije"
+
+#. No configured account
+#: ../data/glade/account_modification_window.glade.h:16
+#: ../data/glade/accounts_window.glade.h:18
+#: ../data/glade/roster_window.glade.h:6 ../src/notify.py:471
+#: ../src/notify.py:493 ../src/notify.py:505 ../src/common/helpers.py:964
+#: ../src/common/helpers.py:976
+msgid "Gajim"
+msgstr "Gajim"
+
+#. General group cannot be changed
+#: ../data/glade/account_modification_window.glade.h:17
+#: ../data/glade/accounts_window.glade.h:19
+#: ../data/glade/preferences_window.glade.h:45
+#: ../data/glade/zeroconf_properties_window.glade.h:7
+#: ../src/roster_window.py:359 ../src/roster_window.py:624
+#: ../src/roster_window.py:1360 ../src/roster_window.py:1728
+#: ../src/roster_window.py:2112 ../src/roster_window.py:2628
+#: ../src/roster_window.py:2746 ../src/common/contacts.py:309
+msgid "General"
+msgstr "Opšte"
+
+#: ../data/glade/account_modification_window.glade.h:18
+#: ../data/glade/accounts_window.glade.h:20
+msgid "Hostname: "
+msgstr "Ime hosta"
+
+#: ../data/glade/account_modification_window.glade.h:19
+#: ../data/glade/accounts_window.glade.h:21
+msgid ""
+"If checked, Gajim will also broadcast some more IPs except from just your "
+"IP, so file transfer has higher chances of working."
+msgstr ""
+"Ako je ovo označeno, Gajim će odašiljati još neke IP adrese pored Vaše,tako "
+"da prenos datoteka ima veće šanse da će raditi."
+
+#: ../data/glade/account_modification_window.glade.h:21
+#: ../data/glade/accounts_window.glade.h:23
+msgid ""
+"If checked, Gajim will send keep-alive packets to prevent connection timeout "
+"which results in disconnection"
+msgstr ""
+"Ako je ovo označeno, Gajim će slati poruke da je prisutan kako bi sprečio "
+"prekid veze zbog duge neaktivnosti"
+
+#: ../data/glade/account_modification_window.glade.h:22
+#: ../data/glade/accounts_window.glade.h:24
+#: ../data/glade/zeroconf_properties_window.glade.h:8
+msgid ""
+"If checked, Gajim will store the password in ~/.gajim/config with 'read' "
+"permission only for you"
+msgstr ""
+"Ako je ovo označeno, Gajim će čuvati lozinke u ~/.gajim/config sa 'čitaj' "
+"privilegijom samo za Vas"
+
+#: ../data/glade/account_modification_window.glade.h:23
+#: ../data/glade/accounts_window.glade.h:25
+#: ../data/glade/zeroconf_properties_window.glade.h:9
+msgid ""
+"If checked, Gajim, when launched, will automatically connect to jabber using "
+"this account"
+msgstr ""
+"Ako je ovo označeno, Gajim će se pri svakom pokretanju automatski povezati "
+"na džaber koristeći ovaj nalog"
+
+#: ../data/glade/account_modification_window.glade.h:24
+#: ../data/glade/accounts_window.glade.h:26
+#: ../data/glade/zeroconf_properties_window.glade.h:10
+msgid ""
+"If checked, any change to the global status (handled by the combobox at the "
+"bottom of the roster window) will change the status of this account "
+"accordingly"
+msgstr ""
+"Ako je ovo označeno, svaka promena globalnog statusa (koji se menja iz "
+"padajućeg menija na dnu prozora kontakt liste) će promeniti i status ovog "
+"naloga "
+
+#: ../data/glade/account_modification_window.glade.h:25
+#: ../data/glade/accounts_window.glade.h:29
+msgid "Information about you, as stored in the server"
+msgstr "Informacije o Vama, kako su uskladištene na serveru"
+
+#: ../data/glade/account_modification_window.glade.h:27
+#: ../data/glade/accounts_window.glade.h:34
+#: ../data/glade/zeroconf_properties_window.glade.h:16 ../src/config.py:1524
+#: ../src/config.py:2010
+msgid "No key selected"
+msgstr "Nije odabran nijedan ključ"
+
+#. None means no proxy profile selected
+#. GPG Key
+#: ../data/glade/account_modification_window.glade.h:29
+#: ../data/glade/accounts_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:32 ../src/config.py:1110
+#: ../src/config.py:1181 ../src/config.py:1430 ../src/config.py:1435
+#: ../src/config.py:1906 ../src/config.py:1993 ../src/config.py:2009
+#: ../src/config.py:3109 ../src/config.py:3155 ../src/dialogs.py:286
+#: ../src/dialogs.py:288 ../src/roster_window.py:1832
+#: ../src/roster_window.py:1839 ../src/roster_window.py:1846
+msgid "None"
+msgstr "Ništa"
+
+#: ../data/glade/account_modification_window.glade.h:30
+#: ../data/glade/accounts_window.glade.h:37
+#: ../data/glade/profile_window.glade.h:26
+#: ../data/glade/zeroconf_properties_window.glade.h:17
+msgid "Personal Information"
+msgstr "Lične Informacije"
+
+#: ../data/glade/account_modification_window.glade.h:31
+#: ../data/glade/accounts_window.glade.h:38
+msgid "Port: "
+msgstr "Port:"
+
+#: ../data/glade/account_modification_window.glade.h:32
+#: ../data/glade/accounts_window.glade.h:39
+msgid "Priori_ty:"
+msgstr "Priori_tet"
+
+#: ../data/glade/account_modification_window.glade.h:33
+#: ../data/glade/accounts_window.glade.h:40
+msgid ""
+"Priority is used in Jabber to determine who gets the events from the jabber "
+"server when two or more clients are connected using the same account; The "
+"client with the highest priority gets the events"
+msgstr ""
+"Prioritet se u džaberu koristi da odredi ko dobija događaje sa servera u "
+"slučaju da su dva ili više klijenata povezana na njega; klijent sa najvećim "
+"prioritetomdobija događaje"
+
+#: ../data/glade/account_modification_window.glade.h:34
+#: ../data/glade/accounts_window.glade.h:41
+msgid "Priority will change automatically according to your status."
+msgstr "Prioritet će biti automatski promenjen prema Vašem statusu."
+
+#: ../data/glade/account_modification_window.glade.h:35
+#: ../data/glade/accounts_window.glade.h:42
+msgid "Proxy:"
+msgstr "Proksi:"
+
+#: ../data/glade/account_modification_window.glade.h:36
+#: ../data/glade/accounts_window.glade.h:44
+msgid "Resour_ce:"
+msgstr "Resur_s"
+
+#: ../data/glade/account_modification_window.glade.h:37
+#: ../data/glade/accounts_window.glade.h:45
+msgid ""
+"Resource is sent to the Jabber server in order to separate the same JID in "
+"two or more parts depending on the number of the clients connected in the "
+"same server with the same account. So you might be connected in the same "
+"account with resource 'Home' and 'Work' at the same time. The resource which "
+"has the highest priority will get the events. (see below)"
+msgstr ""
+"Resurs se šalje Džaber serveru kako bi se razlikovao isti džaber ID kod 2 "
+"ili više klijenata spojena u isto vreme na isti server sa istim računom. "
+"Dakle, možete biti spojeni sa resursom 'Posao' ili 'Kuća', klijent sa "
+"najvišim prioritetom će dobijati obaveštenja o događajima"
+
+#: ../data/glade/account_modification_window.glade.h:38
+#: ../data/glade/accounts_window.glade.h:46
+#: ../data/glade/zeroconf_properties_window.glade.h:18
+msgid "Save _passphrase (insecure)"
+msgstr "Snimi _lozinku (nesigurno)"
+
+#: ../data/glade/account_modification_window.glade.h:39
+#: ../data/glade/accounts_window.glade.h:47
+#: ../data/glade/zeroconf_properties_window.glade.h:19
+msgid "Save conversation _logs for all contacts"
+msgstr "Sni_mi dnevnik razgovora za sve kontakte"
+
+#: ../data/glade/account_modification_window.glade.h:41
+#: ../data/glade/accounts_window.glade.h:49
+msgid "Send keep-alive packets"
+msgstr "Šalji podatke o živosti"
+
+#: ../data/glade/account_modification_window.glade.h:42
+#: ../data/glade/accounts_window.glade.h:50
+#: ../data/glade/zeroconf_properties_window.glade.h:20
+msgid "Synch_ronize account status with global status"
+msgstr "Sinhroniziraj status naloga sa globalnim statusom"
+
+#: ../data/glade/account_modification_window.glade.h:43
+#: ../data/glade/accounts_window.glade.h:51
+#, fuzzy
+msgid "Synchronise contacts"
+msgstr "Prikaži kontakte koji nisu na vezi"
+
+#: ../data/glade/account_modification_window.glade.h:44
+#: ../data/glade/accounts_window.glade.h:52
+msgid "Use _SSL (legacy)"
+msgstr "Koristi _SSL (zastarelo)"
+
+#: ../data/glade/account_modification_window.glade.h:46
+#: ../data/glade/accounts_window.glade.h:55
+msgid "Use file transfer proxies"
+msgstr "Koristi proksi za prenos datoteka"
+
+#: ../data/glade/account_modification_window.glade.h:47
+#: ../data/glade/accounts_window.glade.h:56
+msgid "_Adjust to status"
+msgstr "_Podesi prema statusu"
+
+#: ../data/glade/account_modification_window.glade.h:48
+#: ../data/glade/accounts_window.glade.h:57
+msgid "_Jabber ID:"
+msgstr "_Džaber ID:"
+
+#: ../data/glade/account_modification_window.glade.h:49
+msgid "_Name:"
+msgstr "_Ime:"
+
+#: ../data/glade/accounts_window.glade.h:14
+#: ../data/glade/profile_window.glade.h:11
+#: ../data/glade/vcard_information_window.glade.h:16
+#: ../data/glade/zeroconf_information_window.glade.h:2
+#: ../data/glade/zeroconf_properties_window.glade.h:5
+msgid "E-Mail:"
+msgstr "E-mejl:"
+
+#. XML Console enable checkbutton
+#: ../data/glade/accounts_window.glade.h:16
+#: ../data/glade/xml_console_window.glade.h:4
+msgid "Enable"
+msgstr "Omogući"
+
+#: ../data/glade/accounts_window.glade.h:17
+#: ../data/glade/zeroconf_information_window.glade.h:3
+#: ../data/glade/zeroconf_properties_window.glade.h:6
+msgid "First Name:"
+msgstr "Ime:"
+
+#: ../data/glade/accounts_window.glade.h:27
+#: ../data/glade/zeroconf_properties_window.glade.h:11
+msgid ""
+"If the default port that is used for incoming messages is unfitting for your "
+"setup you can select another one here.\n"
+"You might consider to change possible firewall settings."
+msgstr ""
+"Ako je podrazumevani port koji se koristi za dolazne poruke neodgovarajući "
+"za Vaša podešavanja, ovde možete odabrati neki drugi.\n"
+"Mogli biste uzeti u obzir i mogućnost izmene podešavanja firewall-a."
+
+#: ../data/glade/accounts_window.glade.h:30
+#: ../data/glade/vcard_information_window.glade.h:26
+#: ../data/glade/zeroconf_information_window.glade.h:4
+#: ../data/glade/zeroconf_properties_window.glade.h:13 ../src/dialogs.py:453
+msgid "Jabber ID:"
+msgstr "Džaber ID:"
+
+#: ../data/glade/accounts_window.glade.h:31
+#: ../data/glade/zeroconf_information_window.glade.h:5
+#: ../data/glade/zeroconf_properties_window.glade.h:14
+msgid "Last Name:"
+msgstr "Prezime:"
+
+#: ../data/glade/accounts_window.glade.h:33
+msgid "Mer_ge accounts"
+msgstr "_Spoji naloge"
+
+#. Rename
+#: ../data/glade/accounts_window.glade.h:43 ../src/roster_window.py:2698
+msgid "Re_name"
+msgstr "Prei_menuj"
+
+#: ../data/glade/accounts_window.glade.h:54
+#: ../data/glade/zeroconf_properties_window.glade.h:21
+msgid "Use custom port:"
+msgstr "Koristi svoj port:"
+
+#: ../data/glade/accounts_window.glade.h:59
+msgid "gtk-add"
+msgstr ""
+
+#: ../data/glade/accounts_window.glade.h:60
+msgid "gtk-close"
+msgstr ""
+
+#: ../data/glade/accounts_window.glade.h:61
+msgid "gtk-remove"
+msgstr ""
+
+#: ../data/glade/add_new_contact_window.glade.h:1
+msgid "A_ccount:"
+msgstr "_Nalog:"
+
+#: ../data/glade/add_new_contact_window.glade.h:2
+msgid "A_llow this contact to view my status"
+msgstr "Dozvo_li ovom kontaktu da vidi moj status"
+
+#: ../data/glade/add_new_contact_window.glade.h:3
+msgid "Add New Contact"
+msgstr "Dodaj novi kontakt"
+
+#: ../data/glade/add_new_contact_window.glade.h:4
+msgid "I would like to add you to my contact list."
+msgstr "Želio bih da Vas dodam na listu mojih kontakata."
+
+#: ../data/glade/add_new_contact_window.glade.h:5
+msgid ""
+"You have to register with this transport\n"
+"to be able to add a contact from this\n"
+"protocol. Click on register button to\n"
+"proceed."
+msgstr ""
+"Morate se registrovati na ovaj transport\n"
+"kako biste mogli dodati kontakte sa ovog\n"
+"protokola. Kliknite na dugme za registraciju\n"
+"za nastavak"
+
+#: ../data/glade/add_new_contact_window.glade.h:9
+msgid ""
+"You must be connected to the transport to be able\n"
+"to add a contact from this protocol."
+msgstr ""
+"Morate biti povezani na transport da biste mogli\n"
+"dodavati kontakte sa ovog protokola."
+
+#: ../data/glade/add_new_contact_window.glade.h:11
+msgid "_Group:"
+msgstr "_Grupa:"
+
+#: ../data/glade/add_new_contact_window.glade.h:12
+msgid "_Nickname:"
+msgstr "_Nadimak:"
+
+#: ../data/glade/add_new_contact_window.glade.h:13
+msgid "_Protocol:"
+msgstr "_Protokol:"
+
+#: ../data/glade/add_new_contact_window.glade.h:14
+msgid "_Register"
+msgstr "_Registracija"
+
+#: ../data/glade/add_new_contact_window.glade.h:15
+msgid "_User ID:"
+msgstr "_ID korisnika:"
+
+#: ../data/glade/adhoc_commands_window.glade.h:1
+msgid "<b>An error has occurred:</b>"
+msgstr "<b>Dogodila se greška:</b>"
+
+#: ../data/glade/adhoc_commands_window.glade.h:2
+msgid "<b>Choose command to execute:</b>"
+msgstr "<b>Odaberite komandu za izvršenje:</b>"
+
+#: ../data/glade/adhoc_commands_window.glade.h:3
+msgid "Ad-hoc Commands - Gajim"
+msgstr "Ad-hok komande - Gajim"
+
+#: ../data/glade/adhoc_commands_window.glade.h:4
+msgid "Check once more"
+msgstr "Označite još jednom"
+
+#: ../data/glade/adhoc_commands_window.glade.h:5
+msgid "Error description..."
+msgstr "Opis greške"
+
+#: ../data/glade/adhoc_commands_window.glade.h:6
+msgid "Please wait while retrieving command list..."
+msgstr "Molimo sačekajte dok se dobavlja lista komandi..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:7
+msgid "Please wait while the command is sending..."
+msgstr "Molimo sačekajte dok se komanda šalje..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:8
+msgid "Please wait..."
+msgstr "Molimo sačekajte..."
+
+#: ../data/glade/adhoc_commands_window.glade.h:9
+msgid "This jabber entity does not expose any commands."
+msgstr "Ovaj džaber izvor ne izlaže nijednu komandu."
+
+#: ../data/glade/advanced_configuration_window.glade.h:1
+msgid "<b>Description</b>"
+msgstr "<b>Opis</b>"
+
+#: ../data/glade/advanced_configuration_window.glade.h:2
+msgid "<b>NOTE:</b> You should restart Gajim for some settings to take effect"
+msgstr ""
+"<b>NAPOMENA:</b> Trebalo bi da ponovo pokrenete Gajim da bi neke izmene "
+"podešavanja postale primenjene"
+
+#: ../data/glade/advanced_configuration_window.glade.h:3
+msgid "Advanced Configuration Editor"
+msgstr "Napredna izmena konfiguracije"
+
+#: ../data/glade/advanced_configuration_window.glade.h:4
+msgid "Filter:"
+msgstr "Filter:"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:1
+msgid "Delete MOTD"
+msgstr "Izbriši poruku dana"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:2
+msgid "Deletes Message of the Day"
+msgstr "Briše poruku dana"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:3
+#, fuzzy
+msgid "Edit _Privacy Lists..."
+msgstr "Liste _privatnosti"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:4
+msgid "Sends a message to users currently connected to this server"
+msgstr "Å alje poruku trenutno povezanim korisnicima ovog servera"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:5
+#, fuzzy
+msgid "Set MOTD..."
+msgstr "Postavi poruku dana"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:6
+msgid "Sets Message of the Day"
+msgstr "Postavlja poruku dana"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:7
+msgid "Show _XML Console"
+msgstr "Prikaži _XML Konzolu"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:8
+#, fuzzy
+msgid "Update MOTD..."
+msgstr "Osveži poruku dana"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:9
+msgid "Updates Message of the Day"
+msgstr "Osvežava poruku dana"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:10
+msgid "_Administrator"
+msgstr "_Administrator"
+
+#: ../data/glade/advanced_menuitem_menu.glade.h:11
+#, fuzzy
+msgid "_Send Server Message..."
+msgstr "_Pošalji serversku poruku"
+
+#: ../data/glade/advanced_notifications_window.glade.h:1
+msgid " a window/tab opened with that contact "
+msgstr " otvaranje prozora/jezička sa tim kontaktom "
+
+#: ../data/glade/advanced_notifications_window.glade.h:2
+msgid "<b>Actions</b>"
+msgstr "<b>Akcije</b>"
+
+#: ../data/glade/advanced_notifications_window.glade.h:3
+msgid "<b>Conditions</b>"
+msgstr "<b>Uslovi</b>"
+
+#: ../data/glade/advanced_notifications_window.glade.h:4
+#: ../data/glade/preferences_window.glade.h:12
+msgid "<b>Sounds</b>"
+msgstr "<b>Zvukovi</b>"
+
+#: ../data/glade/advanced_notifications_window.glade.h:5
+msgid "Advanced Actions"
+msgstr "Napredne Akcije"
+
+#: ../data/glade/advanced_notifications_window.glade.h:6
+msgid "Advanced Notifications Control"
+msgstr "Napredna kontrola obaveštavanja"
+
+#: ../data/glade/advanced_notifications_window.glade.h:7
+msgid "All statuses"
+msgstr "Svi statusi"
+
+#: ../data/glade/advanced_notifications_window.glade.h:8
+#: ../src/common/commands.py:91 ../src/common/helpers.py:246
+msgid "Away"
+msgstr "Odsutan"
+
+#: ../data/glade/advanced_notifications_window.glade.h:9
+msgid "Busy "
+msgstr "Zaposlen"
+
+#: ../data/glade/advanced_notifications_window.glade.h:10
+msgid "Don't have "
+msgstr "Nemam "
+
+#: ../data/glade/advanced_notifications_window.glade.h:11
+msgid "Have "
+msgstr "Imam "
+
+#: ../data/glade/advanced_notifications_window.glade.h:12
+#: ../src/common/helpers.py:256
+msgid "Invisible"
+msgstr "Nevidljiv"
+
+#: ../data/glade/advanced_notifications_window.glade.h:13
+msgid "Launch a command"
+msgstr "Pokrenite komandu"
+
+#: ../data/glade/advanced_notifications_window.glade.h:14
+#: ../src/common/helpers.py:229
+msgid "Not Available"
+msgstr "Nedostupan"
+
+#: ../data/glade/advanced_notifications_window.glade.h:15
+msgid "One or more special statuses..."
+msgstr "Jedan ili više posebnih statusa..."
+
+#: ../data/glade/advanced_notifications_window.glade.h:16
+msgid "Online / Free For Chat"
+msgstr "Na vezi / Slobodan za razgovor"
+
+#: ../data/glade/advanced_notifications_window.glade.h:17
+msgid "Play a sound"
+msgstr "Puštanje zvukove"
+
+#: ../data/glade/advanced_notifications_window.glade.h:18
+msgid ""
+"Receive a Message\n"
+"Contact Disconnected \n"
+"Contact Change Status \n"
+"Group Chat Message Highlight \n"
+"Group Chat Message Received \n"
+"File Transfer Request \n"
+"File Transfer Started \n"
+"File Transfer Finished"
+msgstr ""
+"Primljena poruka\n"
+"Kontakt na vezi\n"
+"Kontakt otišao sa veze\n"
+"Kontakt promenio status\n"
+"Obojena poruka na grupnom razgovoru\n"
+"Primljena poruka sa grupnog razgovora\n"
+"Zahtev za prenos datoteke\n"
+"Počeo prenos datoteke\n"
+"Završen prenos datoteke"
+
+#: ../data/glade/advanced_notifications_window.glade.h:26
+msgid "When "
+msgstr "Kada "
+
+#: ../data/glade/advanced_notifications_window.glade.h:27
+msgid ""
+"_Activate window manager's UrgencyHint to make chat window in taskbar flash"
+msgstr ""
+"_Aktiviranje upravnika prozora za bljeskanje prozora razgovora u panelu"
+
+#: ../data/glade/advanced_notifications_window.glade.h:28
+msgid "_Disable auto opening chat window"
+msgstr "_Onemogući automatsko otvaranje prozora za razgovor"
+
+#: ../data/glade/advanced_notifications_window.glade.h:29
+msgid "_Disable existing popup window"
+msgstr "_Onemogući postojeći iskačući prozor"
+
+#: ../data/glade/advanced_notifications_window.glade.h:30
+msgid "_Disable existing sound for this event"
+msgstr "_Onemogući postojeći zvuk za ovaj događaj"
+
+#: ../data/glade/advanced_notifications_window.glade.h:31
+msgid "_Disable showing event in roster"
+msgstr "_Onemogući prikazivanje događaja u listi kontakata"
+
+#: ../data/glade/advanced_notifications_window.glade.h:32
+msgid "_Disable showing event in systray"
+msgstr "_Onemogući prikazivanje događaja u sistemskoj kaseti"
+
+#: ../data/glade/advanced_notifications_window.glade.h:33
+msgid "_Inform me with a popup window"
+msgstr "_Obavesti me iskačućim prozorom"
+
+#: ../data/glade/advanced_notifications_window.glade.h:34
+msgid "_Open chat window with user"
+msgstr "_Otvori prozor za razgovor sa korisnikom"
+
+#: ../data/glade/advanced_notifications_window.glade.h:35
+msgid "_Show event in roster"
+msgstr "Prikaži događaj u listi kontakata"
+
+#: ../data/glade/advanced_notifications_window.glade.h:36
+msgid "_Show event in systray"
+msgstr "Prikaži događaj u sistemskoj kaseti"
+
+#: ../data/glade/advanced_notifications_window.glade.h:37
+msgid "and I "
+msgstr "i ja "
+
+#: ../data/glade/advanced_notifications_window.glade.h:38
+msgid ""
+"contact(s)\n"
+"group(s)\n"
+"everybody"
+msgstr ""
+"kontakt(i)\n"
+"grupa/e\n"
+"svi"
+
+#: ../data/glade/advanced_notifications_window.glade.h:41
+msgid "for "
+msgstr "za"
+
+#: ../data/glade/advanced_notifications_window.glade.h:42
+msgid "when I'm in"
+msgstr "kada sam u"
+
+#: ../data/glade/atom_entry_window.glade.h:1
+msgid "Entry:"
+msgstr "Unos:"
+
+#: ../data/glade/atom_entry_window.glade.h:2
+msgid "Feed name:"
+msgstr "Ime teme:"
+
+#: ../data/glade/atom_entry_window.glade.h:3
+msgid "Last modified:"
+msgstr "Zadnji put izmenjeno:"
+
+#: ../data/glade/atom_entry_window.glade.h:4
+msgid "New entry received"
+msgstr "Nov događaj primljen"
+
+#: ../data/glade/atom_entry_window.glade.h:5
+msgid "You have received new entry:"
+msgstr "Primili ste novi unos:"
+
+#: ../data/glade/change_password_dialog.glade.h:1
+msgid "Change Password"
+msgstr "Izmeni lozinku"
+
+#: ../data/glade/change_password_dialog.glade.h:2
+msgid "Enter it again for confirmation:"
+msgstr "Unesite ponovo kao potvrdu:"
+
+#: ../data/glade/change_password_dialog.glade.h:3
+msgid "Enter new password:"
+msgstr "Unesite novu lozinku:"
+
+#: ../data/glade/change_status_message_dialog.glade.h:1
+msgid "<b>Type your new status message</b>"
+msgstr "<b>Upišite Vašu novu statusnu poruku</b>"
+
+#: ../data/glade/change_status_message_dialog.glade.h:2
+msgid "Preset messages:"
+msgstr "Već postavljene poruke:"
+
+#: ../data/glade/change_status_message_dialog.glade.h:3
+msgid "Save as Preset..."
+msgstr "Snimi kao već postavljenu..."
+
+#: ../data/glade/chat_context_menu.glade.h:1
+msgid "Join _Group Chat"
+msgstr "Priključi se _grupnom razgovoru"
+
+#: ../data/glade/chat_context_menu.glade.h:2
+#: ../data/glade/roster_contact_context_menu.glade.h:12
+#, fuzzy
+msgid "_Add to Roster..."
+msgstr "_Dodaj na listu kontakata"
+
+#: ../data/glade/chat_context_menu.glade.h:3
+msgid "_Copy JID/Email Address"
+msgstr "_Kopiraj džaber ID/e-mejl adresu"
+
+#: ../data/glade/chat_context_menu.glade.h:4
+msgid "_Copy Link Location"
+msgstr "_Kopiraj lokaciju veze"
+
+#: ../data/glade/chat_context_menu.glade.h:5
+msgid "_Open Email Composer"
+msgstr "_Otvori sastavljač e-mejla"
+
+#: ../data/glade/chat_context_menu.glade.h:6
+msgid "_Open Link in Browser"
+msgstr "_Otvori vezu u internet pregledaču"
+
+#: ../data/glade/chat_context_menu.glade.h:7
+#: ../data/glade/subscription_request_popup_menu.glade.h:1
+#: ../data/glade/systray_context_menu.glade.h:7
+msgid "_Start Chat"
+msgstr "_Započni razgovor"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:1
+msgid "Click to see past conversations with this contact"
+msgstr "Kliknite za pregled prošlih razgovora sa ovim kontaktom"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:2
+msgid "Invite _Friends"
+msgstr ""
+
+#: ../data/glade/chat_control_popup_menu.glade.h:3
+#: ../data/glade/gc_occupants_menu.glade.h:3
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:4
+msgid "Send _File"
+msgstr "Pošalji _datoteku"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:4
+#, fuzzy
+msgid "Toggle End to End Encryption"
+msgstr "Uključi/isključi Open_PGP enkripciju"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:5
+msgid "Toggle Open_PGP Encryption"
+msgstr "Uključi/isključi Open_PGP enkripciju"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:6
+#: ../data/glade/gc_occupants_menu.glade.h:4
+msgid "_Add to Roster"
+msgstr "_Dodaj na listu kontakata"
+
+#: ../data/glade/chat_control_popup_menu.glade.h:7
+#: ../data/glade/gc_control_popup_menu.glade.h:7
+#: ../data/glade/gc_occupants_menu.glade.h:7
+#: ../data/glade/roster_contact_context_menu.glade.h:16
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2567
+msgid "_History"
+msgstr "_Istorijat"
+
+#: ../data/glade/data_form_window.glade.h:1
+msgid "Fill in the form."
+msgstr "Popunite formular."
+
+#: ../data/glade/data_form_window.glade.h:2
+msgid "Room Configuration"
+msgstr "Konfiguracija sobe"
+
+#: ../data/glade/edit_groups_dialog.glade.h:1
+msgid "Edit Groups"
+msgstr "Izmeni grupe"
+
+#: ../data/glade/filetransfers.glade.h:1
+msgid "A list of active, completed and stopped file transfers"
+msgstr "Lista prenosa aktivnih, završenih i zaustavljenih datoteka"
+
+#: ../data/glade/filetransfers.glade.h:2
+msgid "Cancel file transfer"
+msgstr "Prekini prenos datoteke"
+
+#: ../data/glade/filetransfers.glade.h:3
+msgid "Cancels the selected file transfer"
+msgstr "Prekini prenos označene datoteke"
+
+#: ../data/glade/filetransfers.glade.h:4
+msgid "Cancels the selected file transfer and removes incomplete file"
+msgstr "Prekini prenos označene datoteke i izbriši nedovršenu datoteku"
+
+#: ../data/glade/filetransfers.glade.h:5
+msgid "Clean _up"
+msgstr "_Počisti"
+
+#: ../data/glade/filetransfers.glade.h:6
+msgid "File Transfers"
+msgstr "Prenosi datoteka"
+
+#: ../data/glade/filetransfers.glade.h:7
+msgid "Hides the window"
+msgstr "Sakriva prozor"
+
+#: ../data/glade/filetransfers.glade.h:8
+msgid "Remove file transfer from the list."
+msgstr "Ukloni prenos datoteka sa liste"
+
+#: ../data/glade/filetransfers.glade.h:9
+msgid "Removes completed, cancelled and failed file transfers from the list"
+msgstr "Ukloni završene, prekinute i neuspele prenose datoteka iz liste"
+
+#: ../data/glade/filetransfers.glade.h:10
+msgid "Shows a list of file transfers between you and others"
+msgstr "Prikazuje listu prenosa datoteka između Vas i ostalih"
+
+#: ../data/glade/filetransfers.glade.h:11
+msgid ""
+"This action removes single file transfer from the list. If the transfer is "
+"active, it is first stopped and then removed"
+msgstr ""
+"Ova akcija uklanja prenos datoteke sa liste. Ako je prenos aktivan, prvo se "
+"zaustavlja, pa onda uklanja"
+
+#: ../data/glade/filetransfers.glade.h:12
+msgid "When a file transfer is complete show a popup notification"
+msgstr "Prikaži iskačuće obaveštenje kada se završi prenos datoteke"
+
+#: ../data/glade/filetransfers.glade.h:13 ../src/filetransfers_window.py:774
+msgid "_Continue"
+msgstr "_Nastavi"
+
+#: ../data/glade/filetransfers.glade.h:14
+msgid "_Notify me when a file transfer is complete"
+msgstr "_Obavesti me kada se završi prenos datoteke"
+
+#: ../data/glade/filetransfers.glade.h:15 ../src/filetransfers_window.py:186
+msgid "_Open Containing Folder"
+msgstr "_Otvori sadržavajuću fasciklu"
+
+#: ../data/glade/filetransfers.glade.h:16
+msgid "_Pause"
+msgstr "_Pauziraj"
+
+#: ../data/glade/filetransfers.glade.h:17
+msgid "file transfers list"
+msgstr "lista prenosa datoteka"
+
+#: ../data/glade/gajim_themes_window.glade.h:1
+msgid "<b>Chatstate Tab Colors</b>"
+msgstr "<b>Boje jezičaka statusa razgovora</b>"
+
+#: ../data/glade/gajim_themes_window.glade.h:2
+msgid ""
+"Account row\n"
+"Group row\n"
+"Contact row\n"
+"Chat Banner"
+msgstr ""
+"Red naloga\n"
+"Red grupa\n"
+"Red kontakata\n"
+"Baner razgovora"
+
+#: ../data/glade/gajim_themes_window.glade.h:6
+msgid "Bold"
+msgstr "Podebljano"
+
+#: ../data/glade/gajim_themes_window.glade.h:7
+msgid "Composing"
+msgstr "Sastavljanje"
+
+#: ../data/glade/gajim_themes_window.glade.h:8
+msgid "Font style:"
+msgstr "Izgled fonta:"
+
+#: ../data/glade/gajim_themes_window.glade.h:9
+msgid "Gajim Themes Customization"
+msgstr "Personalizacija Gajim tema"
+
+#: ../data/glade/gajim_themes_window.glade.h:10
+msgid "Gone"
+msgstr "Otišao"
+
+#: ../data/glade/gajim_themes_window.glade.h:11
+msgid "Inactive"
+msgstr "Neaktivno"
+
+#: ../data/glade/gajim_themes_window.glade.h:12
+msgid "Italic"
+msgstr "Kurziv"
+
+#: ../data/glade/gajim_themes_window.glade.h:13
+msgid ""
+"MUC\n"
+"Messages"
+msgstr ""
+"Poruke\n"
+"višekorisničkog razgovora"
+
+#: ../data/glade/gajim_themes_window.glade.h:15
+msgid ""
+"MUC Directed\n"
+"Messages"
+msgstr ""
+"Usmerene poruke\n"
+"višekorisničkog razgovora"
+
+#: ../data/glade/gajim_themes_window.glade.h:17
+msgid "Paused"
+msgstr "Pauzirano"
+
+#: ../data/glade/gajim_themes_window.glade.h:18
+msgid "Text _color:"
+msgstr "Boja tekst_a:"
+
+#: ../data/glade/gajim_themes_window.glade.h:19
+msgid "Text _font:"
+msgstr "_Font teksta:"
+
+#: ../data/glade/gajim_themes_window.glade.h:20
+msgid "_Background:"
+msgstr "_Pozadina:"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:1
+#, fuzzy
+msgid "Change _Nickname..."
+msgstr "Promeni _nadimak"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:2
+#, fuzzy
+msgid "Change _Subject..."
+msgstr "Promeni _temu"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:3
+msgid "Click to see past conversation in this room"
+msgstr "Kliknite da pogledate prethodni razgovor u ovoj sobi"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:4
+#, fuzzy
+msgid "Configure _Room..."
+msgstr "Podešavanja _sobe"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:5
+#, fuzzy
+msgid "_Bookmark"
+msgstr "_Markiraj ovu so_bu"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:6
+msgid "_Destroy Room"
+msgstr ""
+
+#: ../data/glade/gc_control_popup_menu.glade.h:8
+#, fuzzy
+msgid "_Manage Room"
+msgstr "Podešavanje markera"
+
+#: ../data/glade/gc_control_popup_menu.glade.h:9
+msgid "_Minimize on close"
+msgstr ""
+
+#: ../data/glade/gc_occupants_menu.glade.h:1
+msgid "Mo_derator"
+msgstr "Mo_derator"
+
+#: ../data/glade/gc_occupants_menu.glade.h:2
+#, fuzzy
+msgid "Occupant Actions"
+msgstr "_Akcije prisutnih"
+
+#: ../data/glade/gc_occupants_menu.glade.h:5
+msgid "_Admin"
+msgstr "_Admin"
+
+#: ../data/glade/gc_occupants_menu.glade.h:6
+msgid "_Ban"
+msgstr "_Zabrani"
+
+#: ../data/glade/gc_occupants_menu.glade.h:8
+msgid "_Kick"
+msgstr "_Izbaci"
+
+#: ../data/glade/gc_occupants_menu.glade.h:9
+msgid "_Member"
+msgstr "_ÄŒlan"
+
+#: ../data/glade/gc_occupants_menu.glade.h:10
+msgid "_Owner"
+msgstr "_Vlasnik"
+
+#: ../data/glade/gc_occupants_menu.glade.h:11
+msgid "_Send Private Message"
+msgstr "_Pošalji privatnu poruku"
+
+#: ../data/glade/gc_occupants_menu.glade.h:12
+msgid "_Voice"
+msgstr "_Glas"
+
+#: ../data/glade/groups_post_window.glade.h:1
+msgid "Create new post"
+msgstr "Napravi novu objavu"
+
+#: ../data/glade/groups_post_window.glade.h:2 ../src/common/helpers.py:271
+msgid "From"
+msgstr "Od"
+
+#. holds subject
+#: ../data/glade/groups_post_window.glade.h:3 ../src/history_manager.py:142
+#: ../src/history_manager.py:173
+msgid "Subject"
+msgstr "Tema"
+
+#: ../data/glade/history_manager.glade.h:1
+msgid ""
+"<big><b>Welcome to Gajim History Logs Manager</b></big>\n"
+"\n"
+"You can select logs from the left and/or search database from below.\n"
+"\n"
+"<b>WARNING:</b>\n"
+"If you plan to do massive deletions, please make sure Gajim is not running. "
+"Generally avoid deletions with contacts you currently chat with."
+msgstr ""
+"<big><b>Dobrodošli u Gajimov menadžer dnevnika istorijata</b></big>\n"
+"\n"
+"Sa leve strane možete odabrati dnevnike i/ili niže pretražiti bazu "
+"podataka.\n"
+"\n"
+"<b>UPOZORENJE:</b>\n"
+"Ako planirate da radite veća uklanjanja, potrudite se da Gajim nije "
+"pokrenut. Uopšte, izbegavakte uklanjanja vezana za kontakte sa kojima "
+"trenutno razgovorate."
+
+#: ../data/glade/history_manager.glade.h:7
+msgid "Delete"
+msgstr "Obriši"
+
+#: ../data/glade/history_manager.glade.h:8
+msgid "Export"
+msgstr "Izvezi"
+
+#: ../data/glade/history_manager.glade.h:9
+msgid "Gajim History Logs Manager"
+msgstr "Gajim menadžer dnevnika istorijata"
+
+#: ../data/glade/history_manager.glade.h:10
+msgid "_Search Database"
+msgstr "_Pretraži bazu podataka"
+
+#: ../data/glade/history_window.glade.h:1
+#, fuzzy
+msgid "<b>History Viewer</b>"
+msgstr "<b>Lista pravila</b>"
+
+#: ../data/glade/history_window.glade.h:2
+#, fuzzy
+msgid "<b>JID Selection</b>"
+msgstr "<b>Opis</b>"
+
+#: ../data/glade/history_window.glade.h:3
+msgid "Build custom query"
+msgstr "Izgradi prilagođen upit"
+
+#: ../data/glade/history_window.glade.h:4 ../src/history_window.py:199
+msgid "Conversation History"
+msgstr "Istorijat razgovora"
+
+#: ../data/glade/history_window.glade.h:5
+msgid ""
+"Enter a contact jid or MUC jid here to view its history.\n"
+"If a contact is connected you can even enter his nick name.\n"
+msgstr ""
+
+#: ../data/glade/history_window.glade.h:8
+msgid "Query Builder..."
+msgstr "Graditelj upita..."
+
+#: ../data/glade/history_window.glade.h:9
+msgid "Search"
+msgstr "Pretraga"
+
+#: ../data/glade/history_window.glade.h:10
+#: ../data/glade/zeroconf_information_window.glade.h:10
+msgid "_Log conversation history"
+msgstr "_Pamti u dnevniku istorijat razgovora"
+
+#: ../data/glade/history_window.glade.h:11 ../src/disco.py:1172
+msgid "_Search"
+msgstr "_Pretraga"
+
+#: ../data/glade/invitation_received_dialog.glade.h:1
+msgid "Accept"
+msgstr "Prihvati"
+
+#: ../data/glade/invitation_received_dialog.glade.h:2
+#: ../data/glade/privacy_list_window.glade.h:8
+msgid "Deny"
+msgstr "Odbij"
+
+#: ../data/glade/invitation_received_dialog.glade.h:3
+msgid "Invitation Received"
+msgstr "Primljena pozivnica"
+
+#: ../data/glade/join_groupchat_window.glade.h:1 ../src/dialogs.py:1265
+msgid "Join Group Chat"
+msgstr "Pridruži se grupnom razgovoru"
+
+#: ../data/glade/join_groupchat_window.glade.h:2
+msgid "Join this room automatically when I connect"
+msgstr "Pristupi ovoj sobi automatski kada se povežem"
+
+#: ../data/glade/join_groupchat_window.glade.h:3
+#: ../data/glade/manage_bookmarks_window.glade.h:5
+#: ../data/glade/profile_window.glade.h:24
+#: ../data/glade/vcard_information_window.glade.h:31
+msgid "Nickname:"
+msgstr "Nadimak:"
+
+#: ../data/glade/join_groupchat_window.glade.h:4
+#: ../data/glade/manage_bookmarks_window.glade.h:6
+msgid "Password:"
+msgstr "Lozinka:"
+
+#: ../data/glade/join_groupchat_window.glade.h:5
+msgid "Recently:"
+msgstr "Nedavno:"
+
+#: ../data/glade/join_groupchat_window.glade.h:6
+#: ../data/glade/manage_bookmarks_window.glade.h:8
+msgid "Room:"
+msgstr "Soba:"
+
+#: ../data/glade/join_groupchat_window.glade.h:7 ../src/disco.py:1160
+#: ../src/disco.py:1615
+msgid "_Join"
+msgstr "_Pridruži se"
+
+#: ../data/glade/manage_accounts_window.glade.h:1
+msgid "Manage Accounts"
+msgstr "Podešavanje naloga"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:1
+msgid "Auto join"
+msgstr "Automatsko povezivanje"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:2
+msgid "If checked, Gajim will join this group chat on startup"
+msgstr ""
+"Ako je označeno, Gajim će se pridružiti ovom grupnom razgovoru pri pokretanju"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:3
+msgid "Manage Bookmarks"
+msgstr "Podešavanje markera"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:4
+msgid "Minimize on Auto Join"
+msgstr ""
+
+#: ../data/glade/manage_bookmarks_window.glade.h:7
+msgid "Print status:"
+msgstr "Ispis statusa:"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:9
+msgid "Server:"
+msgstr "Server:"
+
+#: ../data/glade/manage_bookmarks_window.glade.h:10
+msgid "Title:"
+msgstr "Naslov:"
+
+#: ../data/glade/manage_proxies_window.glade.h:1
+msgid "<b>Properties</b>"
+msgstr "<b>Karakteristike</b>"
+
+#: ../data/glade/manage_proxies_window.glade.h:2
+msgid "<b>Settings</b>"
+msgstr "<b>Podešavanja</b>"
+
+#: ../data/glade/manage_proxies_window.glade.h:3
+#, fuzzy
+msgid ""
+"HTTP Connect\n"
+"SOCKS5"
+msgstr "HTTP spoj"
+
+#: ../data/glade/manage_proxies_window.glade.h:5
+msgid "Manage Proxy Profiles"
+msgstr "Podešavanje proksi profila"
+
+#: ../data/glade/manage_proxies_window.glade.h:6
+#: ../data/glade/profile_window.glade.h:23
+#: ../data/glade/vcard_information_window.glade.h:30
+msgid "Name:"
+msgstr "Ime:"
+
+#: ../data/glade/manage_proxies_window.glade.h:7
+msgid "Pass_word:"
+msgstr "Lozinka:"
+
+#: ../data/glade/manage_proxies_window.glade.h:8
+msgid "Type:"
+msgstr "Vrsta:"
+
+#: ../data/glade/manage_proxies_window.glade.h:9
+msgid "Use authentication"
+msgstr "Koristi autentikaciju"
+
+#: ../data/glade/manage_proxies_window.glade.h:10
+msgid "_Host:"
+msgstr "_Host:"
+
+#: ../data/glade/message_window.glade.h:1
+msgid "Click to insert an emoticon (Alt+M)"
+msgstr "Kliknite da ubacite smajli (Alt+M)"
+
+#: ../data/glade/message_window.glade.h:2 ../src/chat_control.py:1213
+msgid "OpenPGP Encryption"
+msgstr "OpenPGP enkripcija"
+
+#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
+#: ../data/glade/message_window.glade.h:4
+#: ../data/glade/roster_window.glade.h:12
+#: ../data/glade/subscription_request_window.glade.h:6
+msgid "_Actions"
+msgstr "_Akcije"
+
+#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector)
+#: ../data/glade/message_window.glade.h:6
+#: ../data/glade/xml_console_window.glade.h:11
+#: ../src/filetransfers_window.py:243
+msgid "_Send"
+msgstr "_Pošalji"
+
+#: ../data/glade/passphrase_dialog.glade.h:1
+msgid "Passphrase"
+msgstr "Lozinka"
+
+#: ../data/glade/preferences_window.glade.h:1
+msgid "<b>Advanced Configuration Editor</b>"
+msgstr "<b>Napredna izmena konfiguracije</b>"
+
+#: ../data/glade/preferences_window.glade.h:2
+msgid "<b>Applications</b>"
+msgstr "<b>Aplikacije</b>"
+
+#: ../data/glade/preferences_window.glade.h:3
+#, fuzzy
+msgid "<b>Chat Appearance</b>"
+msgstr "<b>Izmeni pravilo</b>"
+
+#. a header for custom browser/client/file manager. so translate sth like: Custom Settings
+#: ../data/glade/preferences_window.glade.h:5
+msgid "<b>Custom</b>"
+msgstr "<b>Personalni</b>"
+
+#: ../data/glade/preferences_window.glade.h:6
+msgid "<b>Format of a line</b>"
+msgstr "<b>Format linije</b>"
+
+#: ../data/glade/preferences_window.glade.h:7
+msgid "<b>GMail Options</b>"
+msgstr "<b>Gmail Opcije</b>"
+
+#: ../data/glade/preferences_window.glade.h:9
+msgid "<b>Preset Status Messages</b>"
+msgstr "<b>Već postavljene statusne poruke</b>"
+
+#: ../data/glade/preferences_window.glade.h:10
+#, fuzzy
+msgid "<b>Privacy</b>"
+msgstr "<i>Lista privatnosti</i>"
+
+#: ../data/glade/preferences_window.glade.h:11
+msgid "<b>Roster Appearance</b>"
+msgstr ""
+
+#: ../data/glade/preferences_window.glade.h:13
+#, fuzzy
+msgid "<b>Themes</b>"
+msgstr "<b>Karakteristike</b>"
+
+#: ../data/glade/preferences_window.glade.h:14
+msgid "<b>Visual Notifications</b>"
+msgstr "<b>Vizualna obaveštenja</b>"
+
+#: ../data/glade/preferences_window.glade.h:15
+msgid "Advanced"
+msgstr "Napredno"
+
+#: ../data/glade/preferences_window.glade.h:16
+msgid ""
+"All chat states\n"
+"Composing only\n"
+"Disabled"
+msgstr ""
+"Stanja svih razgovora\n"
+"Samo sastavljanje\n"
+"Onemogućeno"
+
+#: ../data/glade/preferences_window.glade.h:19
+msgid "Allow _OS information to be sent"
+msgstr "Dozvoli slanje podataka o OS-u"
+
+#: ../data/glade/preferences_window.glade.h:20
+msgid "Allow popup/notifications when I'm _away/na/busy/invisible"
+msgstr ""
+"Omogući iskačuće prozore/obaveštenja kada sam _odsutan/nedostupan/zaposlen/"
+"nevidljiv"
+
+#: ../data/glade/preferences_window.glade.h:21
+msgid "Always check to see if Gajim is the _default Jabber client on startup"
+msgstr "Proveri pri startu _da li je Gajim podrazumevani Džaber klijent"
+
+#: ../data/glade/preferences_window.glade.h:22
+msgid ""
+"An example: If you have enabled status message for away, Gajim won't ask you "
+"anymore for a status message when you change your status to away; it will "
+"use the default one set here"
+msgstr ""
+"Primer: Ako ste omogućili statusnu poruku za odsutnost, Gajim Vas neće više "
+"pitati za statusnu poruku kada promenite Vaš status u odsutnost, već će "
+"korisiti onu postavljenu ovde"
+
+#: ../data/glade/preferences_window.glade.h:23
+msgid "Ask status message when I:"
+msgstr "Pitaj za statusnu poruku pri:"
+
+#: ../data/glade/preferences_window.glade.h:24
+msgid "Auto _away after:"
+msgstr "Autom_atski odsutan nakon:"
+
+#: ../data/glade/preferences_window.glade.h:25
+msgid "Auto _not available after:"
+msgstr "Automatski _nedostupan nakon:"
+
+#: ../data/glade/preferences_window.glade.h:26
+msgid ""
+"Autodetect on every Gajim startup\n"
+"Always use GNOME default applications\n"
+"Always use KDE default applications\n"
+"Always use XFCE4 default applications\n"
+"Custom"
+msgstr ""
+"Automatski prepoznaj pri svakom pokretanju Gajima\n"
+"Uvek koristi predefinisane GNOM aplikacije\n"
+"Uvek koristi predefinisane KDE aplikacije\n"
+"Uvek koristi predefinisane HFCE4 aplikacije\n"
+"Prilagođeno"
+
+#: ../data/glade/preferences_window.glade.h:31
+msgid ""
+"Check this option, only if someone you don't have in the roster spams/annoys "
+"you. Use with caution, because it blocks all messages from any contact that "
+"is not in the roster"
+msgstr ""
+"Označite ovu opciju samo ako Vas neko van Vaše liste spamuje/uznemirava. "
+"Koristite sa oprezom, blokiraće sve poruke koje dolaze od ljudi van Vaše "
+"liste kontakata"
+
+#: ../data/glade/preferences_window.glade.h:32
+msgid "Configure color and font of the interface"
+msgstr "Konfigurisanje boje i fonta interfejsa"
+
+#: ../data/glade/preferences_window.glade.h:33
+msgid "Default Status Messages"
+msgstr "Podrazumevane statusne poruke"
+
+#: ../data/glade/preferences_window.glade.h:34
+msgid ""
+"Determined by sender\n"
+"Chat message\n"
+"Single message"
+msgstr ""
+"Određuje pošaljilac\n"
+"Poruka iz razgovora\n"
+"Samostalna poruka"
+
+#: ../data/glade/preferences_window.glade.h:37
+msgid "Display _extra email details"
+msgstr "Prikaži dodatne e-mejl detalje"
+
+#: ../data/glade/preferences_window.glade.h:38
+msgid "Display a_vatars of contacts in roster"
+msgstr "Prikaži avatare kontakata na listi"
+
+#: ../data/glade/preferences_window.glade.h:39
+msgid "Display status _messages of contacts in roster"
+msgstr "Prikaži statusne poruke kontakata na listi"
+
+#: ../data/glade/preferences_window.glade.h:40
+msgid "Emoticons:"
+msgstr "Smajliji:"
+
+#: ../data/glade/preferences_window.glade.h:41
+msgid "Events"
+msgstr "Događaji"
+
+#: ../data/glade/preferences_window.glade.h:42
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"display in chat windows."
+msgstr ""
+"Gajim može primati i slati meta-informacije vezane za razgovor koji vodite "
+"sa kontaktom. Ovde možete odrediti koja stanja razgovora će se prikazivati u "
+"prozorima razgovora."
+
+#: ../data/glade/preferences_window.glade.h:43
+msgid ""
+"Gajim can send and receive meta-information related to a conversation you "
+"may have with a contact. Here you can specify which chatstates you want to "
+"send to the other party."
+msgstr ""
+"Gajim može primati i slati meta-informacije vezane za razgovor koji vodite "
+"sa kontaktom. Ovde možete odrediti koja stanja razgovora će se slati drugoj "
+"osobi."
+
+#: ../data/glade/preferences_window.glade.h:44
+msgid ""
+"Gajim will notify you via a popup window in the bottom right of the screen "
+"about contacts that just signed out"
+msgstr ""
+"Gajim će Vas obavestiti o kontaktima koji su se upravo odjavili sa iskačućim "
+"prozorom u donjem desnom uglu ekrana"
+
+#: ../data/glade/preferences_window.glade.h:46
+#, fuzzy
+msgid "Hides buttons in chatwindows to "
+msgstr "Sakriva dugmad u prozoru grupnog razgovora."
+
+#: ../data/glade/preferences_window.glade.h:47
+msgid ""
+"If checked, Gajim will also include information about the sender of the new "
+"emails"
+msgstr ""
+"Ako je označeno, Gajim će ujedno uključiti i informacije o pošiljaocu novih "
+"e-mejlova"
+
+#: ../data/glade/preferences_window.glade.h:48
+msgid ""
+"If checked, Gajim will display avatars of contacts in roster window and in "
+"group chats"
+msgstr ""
+"Ako je označeno, Gajim će prikazivati avatare kontakata u listi kontakata i "
+"u grupnim razgovorima"
+
+#: ../data/glade/preferences_window.glade.h:49
+msgid ""
+"If checked, Gajim will display status messages of contacts under the contact "
+"name in roster window and in group chats"
+msgstr ""
+"Ako je označeno, Gajim će prikazivati statusne poruke kontakata ispod imena "
+"kontakta u listi kontakata i u grupnim razgovorima"
+
+#: ../data/glade/preferences_window.glade.h:50
+msgid ""
+"If checked, Gajim will use protocol-specific status icons. (eg. A contact "
+"from MSN will have the equivalent msn icon for status online, away, busy, "
+"etc...)"
+msgstr ""
+"Ako je označeno, Gajim će koristiti statusne ikone specifične za protokol. "
+"(npr. kontakt sa MSN-a će imati msn ikone za svoje statuse)"
+
+#: ../data/glade/preferences_window.glade.h:51
+msgid ""
+"If not disabled, Gajim will replace ascii smilies like ':)' with equivalent "
+"animated or static graphical emoticons"
+msgstr ""
+"Ako nije onemogućeno, Gajim će zameniti ascii smajlije kao npr. ':)' sa "
+"ekvivalentnim animiranim ili statičnim grafičkim smajlijima"
+
+#: ../data/glade/preferences_window.glade.h:52
+msgid "Ignore rich content in incoming messages"
+msgstr "Ignoriši bogato formatirani sadržaj u pristiglim porukama"
+
+#: ../data/glade/preferences_window.glade.h:53
+msgid "Ma_nage..."
+msgstr "Pode_si..."
+
+#: ../data/glade/preferences_window.glade.h:54
+msgid ""
+"Never\n"
+"Always\n"
+"Per account\n"
+"Per type"
+msgstr ""
+"Nikad\n"
+"Uvek\n"
+"U zavisnosti od naloga\n"
+"U zavisnosti od tipa"
+
+#: ../data/glade/preferences_window.glade.h:58
+#, fuzzy
+msgid "Notify me about contacts that sign _in"
+msgstr "Obavesti me o kontaktima koji:"
+
+#: ../data/glade/preferences_window.glade.h:59
+#, fuzzy
+msgid "Notify me about contacts that sign _out"
+msgstr "Obavesti me o kontaktima koji:"
+
+#: ../data/glade/preferences_window.glade.h:60
+msgid "Notify on new _GMail email"
+msgstr "Obavesti me o novopristigloj Gmail e-mejl pošti"
+
+#: ../data/glade/preferences_window.glade.h:61
+msgid "Play _sounds"
+msgstr "Puštaj zvukove"
+
+#: ../data/glade/preferences_window.glade.h:62
+msgid ""
+"Pop it up\n"
+"Notify me about it\n"
+"Show only in roster"
+msgstr ""
+
+#: ../data/glade/preferences_window.glade.h:65
+msgid "Preferences"
+msgstr "Podešavanja"
+
+#: ../data/glade/preferences_window.glade.h:66
+#, fuzzy
+msgid "Privacy"
+msgstr "Lista privatnosti"
+
+#: ../data/glade/preferences_window.glade.h:67
+msgid "Set status message to reflect currently playing _music track"
+msgstr ""
+"Postavi statusnu poruku da odražava ime trenutno puštene muzičke numere"
+
+#: ../data/glade/preferences_window.glade.h:68
+msgid "Sign _in"
+msgstr "Prijavljivanju"
+
+#: ../data/glade/preferences_window.glade.h:69
+msgid "Sign _out"
+msgstr "Odjavljivanju"
+
+#: ../data/glade/preferences_window.glade.h:70
+msgid ""
+"Some messages may include rich content (formatting, colors etc). If checked, "
+"Gajim will just display the raw message text."
+msgstr ""
+"Neke poruke mogu uključivati bogati sadržaj (formatiranje, boje itd.). Ako "
+"je označeno, Gajim će samo prikazivati sirovi tekst poruke."
+
+#: ../data/glade/preferences_window.glade.h:71
+msgid "Status"
+msgstr "Status"
+
+#: ../data/glade/preferences_window.glade.h:72
+#, fuzzy
+msgid "Status _iconset:"
+msgstr "Podrazumevani skup statusnih ikona"
+
+#: ../data/glade/preferences_window.glade.h:73
+msgid "T_heme:"
+msgstr "T_ema:"
+
+#: ../data/glade/preferences_window.glade.h:74
+msgid "The auto away status message"
+msgstr "Automatska statusna poruka odsutnosti"
+
+#: ../data/glade/preferences_window.glade.h:75
+msgid "The auto not available status message"
+msgstr "Automatska statusna poruka nedostupnosti"
+
+#: ../data/glade/preferences_window.glade.h:76
+msgid "Treat all incoming messages as:"
+msgstr "Tretiraj sve dolazne poruke kao:"
+
+#: ../data/glade/preferences_window.glade.h:77
+msgid "Use _transports iconsets"
+msgstr "Koristi skup ikona za transportne kontakte"
+
+#: ../data/glade/preferences_window.glade.h:78
+#, fuzzy
+msgid "Use only one message _window:"
+msgstr "Prozor jedne _poruke:"
+
+#: ../data/glade/preferences_window.glade.h:79
+msgid "Use system _default"
+msgstr "Koristi sistemski podrazumevano"
+
+#: ../data/glade/preferences_window.glade.h:80
+#, fuzzy
+msgid "When new event is received:"
+msgstr "Kada se primi novi događaj"
+
+#: ../data/glade/preferences_window.glade.h:81
+msgid ""
+"Works for Rhythmbox and Muine players. For more players, please visit http://"
+"trac.gajim.org/wiki/GajimAndMusicPlayer"
+msgstr ""
+"Radi sa Rhytmbox i Muine puštačima muzike. Za ostale, molimo posetite http://"
+"trac.gajim.org/wiki/GajimAndMusicPlayer"
+
+#: ../data/glade/preferences_window.glade.h:82
+msgid "_Advanced Notifications Control..."
+msgstr "_Napredno upravljanje obaveštenjima..."
+
+#: ../data/glade/preferences_window.glade.h:83
+msgid "_Browser:"
+msgstr "_Internet pregledač:"
+
+#: ../data/glade/preferences_window.glade.h:84
+#, fuzzy
+msgid "_Display chat state notifications:"
+msgstr "Prikazana obaveštenja o stanju razgovora"
+
+#: ../data/glade/preferences_window.glade.h:85
+msgid "_File manager:"
+msgstr "_Pregledač datoteka:"
+
+#: ../data/glade/preferences_window.glade.h:86
+msgid "_Font:"
+msgstr "_Font:"
+
+#: ../data/glade/preferences_window.glade.h:87
+msgid "_Highlight misspelled words"
+msgstr "_Oboji pogrešno napisane reči"
+
+#: ../data/glade/preferences_window.glade.h:88
+msgid "_Ignore events from contacts not in the roster"
+msgstr "_Ignoriši događaje od kontakata koji nisu na listi"
+
+#: ../data/glade/preferences_window.glade.h:89
+msgid "_Incoming message:"
+msgstr "_Dolazna poruka:"
+
+#: ../data/glade/preferences_window.glade.h:90
+msgid "_Log status changes of contacts"
+msgstr "_Zapisuj u dnevnik statusne promene kontakata"
+
+#: ../data/glade/preferences_window.glade.h:91
+msgid "_Mail client:"
+msgstr "_E-mejl klijent:"
+
+#: ../data/glade/preferences_window.glade.h:92
+#, fuzzy
+msgid "_Make message windows compact"
+msgstr "Prozor jedne _poruke:"
+
+#: ../data/glade/preferences_window.glade.h:93
+msgid "_Open..."
+msgstr "_Otvori..."
+
+#: ../data/glade/preferences_window.glade.h:94
+msgid "_Outgoing message:"
+msgstr "_Odlazna poruka:"
+
+#: ../data/glade/preferences_window.glade.h:95
+msgid "_Player:"
+msgstr "_Puštač muzike:"
+
+#: ../data/glade/preferences_window.glade.h:96
+msgid "_Reset to Default Colors"
+msgstr "_Ponovo učitaj podrazumevane boje"
+
+#: ../data/glade/preferences_window.glade.h:97
+#, fuzzy
+msgid "_Send chat state notifications:"
+msgstr "Prikazana obaveštenja o stanju razgovora"
+
+#: ../data/glade/preferences_window.glade.h:98
+msgid "_Sort contacts by status"
+msgstr "_Sortiraj kontakte po statusu"
+
+#: ../data/glade/preferences_window.glade.h:99
+msgid "_Status message:"
+msgstr "_Statusna poruka:"
+
+#: ../data/glade/preferences_window.glade.h:100
+msgid "_URL:"
+msgstr "_URL:"
+
+#: ../data/glade/preferences_window.glade.h:101
+msgid "minutes"
+msgstr "minuta"
+
+#: ../data/glade/privacy_lists_window.glade.h:1
+msgid "Privacy Lists:"
+msgstr "Liste privatnosti:"
+
+#: ../data/glade/privacy_list_window.glade.h:1
+msgid "<b>Add / Edit a rule</b>"
+msgstr "<b>Dodaj / Izmeni pravilo</b>"
+
+#: ../data/glade/privacy_list_window.glade.h:2
+msgid "<b>List of rules</b>"
+msgstr "<b>Lista pravila</b>"
+
+#: ../data/glade/privacy_list_window.glade.h:3
+msgid "<i>Privacy List</i>"
+msgstr "<i>Lista privatnosti</i>"
+
+#: ../data/glade/privacy_list_window.glade.h:4
+msgid "Active for this session"
+msgstr "Aktivno za ovu sesiju"
+
+#: ../data/glade/privacy_list_window.glade.h:5
+msgid "Active on each startup"
+msgstr "Aktovno po svakom pokretanju"
+
+#: ../data/glade/privacy_list_window.glade.h:6
+msgid "All"
+msgstr "Svi"
+
+#: ../data/glade/privacy_list_window.glade.h:7
+msgid "Allow"
+msgstr "Dozvoli"
+
+#: ../data/glade/privacy_list_window.glade.h:9
+msgid "JabberID"
+msgstr "Džaber ID"
+
+#: ../data/glade/privacy_list_window.glade.h:10
+msgid "Order:"
+msgstr "Poredak:"
+
+#: ../data/glade/privacy_list_window.glade.h:11 ../src/dialogs.py:2104
+msgid "Privacy List"
+msgstr "Lista privatnosti"
+
+#: ../data/glade/privacy_list_window.glade.h:12
+msgid "all by subscription"
+msgstr "sve prema pretplati"
+
+#: ../data/glade/privacy_list_window.glade.h:13
+msgid "all in the group"
+msgstr "sve u grupi"
+
+#: ../data/glade/privacy_list_window.glade.h:14
+msgid ""
+"none\n"
+"both\n"
+"from\n"
+"to"
+msgstr ""
+"nijedna\n"
+"oboje\n"
+"od\n"
+"za"
+
+#: ../data/glade/privacy_list_window.glade.h:18
+msgid "to send me messages"
+msgstr "da mi Å¡alje poruke"
+
+#: ../data/glade/privacy_list_window.glade.h:19
+msgid "to send me queries"
+msgstr "da mi Å¡alje upite"
+
+#: ../data/glade/privacy_list_window.glade.h:20
+msgid "to send me status"
+msgstr "da mi pošalje status"
+
+#: ../data/glade/privacy_list_window.glade.h:21
+msgid "to view my status"
+msgstr "da vidi moj status"
+
+#. "About" is the text of a tab of vcard window
+#: ../data/glade/profile_window.glade.h:2
+#: ../data/glade/vcard_information_window.glade.h:2
+msgid "About"
+msgstr "O"
+
+#: ../data/glade/profile_window.glade.h:3
+#: ../data/glade/vcard_information_window.glade.h:3
+msgid "Address"
+msgstr "Adresa:"
+
+#: ../data/glade/profile_window.glade.h:4
+msgid "Avatar:"
+msgstr "Avatar:"
+
+#: ../data/glade/profile_window.glade.h:5
+#: ../data/glade/vcard_information_window.glade.h:6
+msgid "Birthday:"
+msgstr "Rođendan:"
+
+#: ../data/glade/profile_window.glade.h:6
+#: ../data/glade/vcard_information_window.glade.h:7
+msgid "City:"
+msgstr "Mesto:"
+
+#: ../data/glade/profile_window.glade.h:7
+msgid "Click to set your avatar"
+msgstr "Kliknite da biste postavili Vaš avatar"
+
+#: ../data/glade/profile_window.glade.h:8
+#: ../data/glade/vcard_information_window.glade.h:10
+msgid "Company:"
+msgstr "Preduzeće:"
+
+#: ../data/glade/profile_window.glade.h:9
+#: ../data/glade/vcard_information_window.glade.h:14
+msgid "Country:"
+msgstr "Država:"
+
+#: ../data/glade/profile_window.glade.h:10
+#: ../data/glade/vcard_information_window.glade.h:15
+msgid "Department:"
+msgstr "Odsek:"
+
+#: ../data/glade/profile_window.glade.h:12
+#: ../data/glade/vcard_information_window.glade.h:17
+msgid "Extra Address:"
+msgstr "Dodatna adresa:"
+
+#. Family Name
+#: ../data/glade/profile_window.glade.h:14
+#: ../data/glade/vcard_information_window.glade.h:19
+msgid "Family:"
+msgstr "Familija:"
+
+#. Do NOT change sequence. Just translate YYYY and MM and DD (from Year, Month, Day accordingly)
+#: ../data/glade/profile_window.glade.h:16
+#: ../data/glade/vcard_information_window.glade.h:21
+msgid "Format: YYYY-MM-DD"
+msgstr "Format: GGGG-MM-DD"
+
+#: ../data/glade/profile_window.glade.h:17
+#: ../data/glade/vcard_information_window.glade.h:22
+#, fuzzy
+msgid "Full Name"
+msgstr "Ime"
+
+#. Given Name
+#: ../data/glade/profile_window.glade.h:19
+#: ../data/glade/vcard_information_window.glade.h:24
+msgid "Given:"
+msgstr "Dato:"
+
+#: ../data/glade/profile_window.glade.h:20
+#: ../data/glade/vcard_information_window.glade.h:25
+msgid "Homepage:"
+msgstr "Lična strana:"
+
+#. Middle Name
+#: ../data/glade/profile_window.glade.h:22
+#: ../data/glade/vcard_information_window.glade.h:28
+msgid "Middle:"
+msgstr "Srednje:"
+
+#: ../data/glade/profile_window.glade.h:25
+#: ../data/glade/vcard_information_window.glade.h:34
+msgid "Personal Info"
+msgstr "Lične informacije"
+
+#: ../data/glade/profile_window.glade.h:27
+#: ../data/glade/vcard_information_window.glade.h:35
+msgid "Phone No.:"
+msgstr "Broj telefona:"
+
+#: ../data/glade/profile_window.glade.h:28
+#: ../data/glade/vcard_information_window.glade.h:36
+msgid "Position:"
+msgstr "Pozicija:"
+
+#: ../data/glade/profile_window.glade.h:29
+#: ../data/glade/vcard_information_window.glade.h:37
+msgid "Postal Code:"
+msgstr "Poštanski broj:"
+
+#. Prefix in Name
+#: ../data/glade/profile_window.glade.h:31
+#: ../data/glade/vcard_information_window.glade.h:39
+msgid "Prefix:"
+msgstr "Prefiks:"
+
+#: ../data/glade/profile_window.glade.h:32
+#: ../data/glade/vcard_information_window.glade.h:41 ../src/vcard.py:302
+msgid "Role:"
+msgstr "Uloga:"
+
+#: ../data/glade/profile_window.glade.h:33
+#: ../data/glade/vcard_information_window.glade.h:42
+msgid "State:"
+msgstr "Država:"
+
+#: ../data/glade/profile_window.glade.h:34
+#: ../data/glade/vcard_information_window.glade.h:44
+msgid "Street:"
+msgstr "Ulica:"
+
+#. Suffix in Name
+#: ../data/glade/profile_window.glade.h:36
+#: ../data/glade/vcard_information_window.glade.h:48
+msgid "Suffix:"
+msgstr "Sufiks:"
+
+#: ../data/glade/profile_window.glade.h:37
+#: ../data/glade/vcard_information_window.glade.h:50
+msgid "Work"
+msgstr "Posao"
+
+#: ../data/glade/remove_account_window.glade.h:1
+msgid "<b>What do you want to do?</b>"
+msgstr "<b>Šta želite da uradite?</b>"
+
+#: ../data/glade/remove_account_window.glade.h:2
+msgid "Remove account _only from Gajim"
+msgstr "Ukloni nalog samo iz Gajima"
+
+#: ../data/glade/remove_account_window.glade.h:3
+msgid "Remove account from Gajim and from _server"
+msgstr "Ukloni nalog i iz Gajima i sa servera"
+
+#. Remove
+#. Remove group
+#. Remove
+#: ../data/glade/remove_account_window.glade.h:4
+#: ../data/glade/roster_contact_context_menu.glade.h:18
+#: ../src/roster_window.py:2524 ../src/roster_window.py:2734
+#: ../src/roster_window.py:2870
+msgid "_Remove"
+msgstr "_Ukloni"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:1
+msgid "A_sk to see his/her status"
+msgstr "Traži njegov/njen status"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:2
+#, fuzzy
+msgid "Add Special _Notification..."
+msgstr "Dodaj poseb_no obaveštenje"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:3
+#, fuzzy
+msgid "Assign Open_PGP Key..."
+msgstr "Pridruži Open_PGP Ključ"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:4
+#, fuzzy
+msgid "Edit _Groups..."
+msgstr "Izmeni _grupe"
+
+#. Execute Command
+#: ../data/glade/roster_contact_context_menu.glade.h:5
+#: ../src/roster_window.py:2827
+msgid "Execute Command..."
+msgstr "Izvrši naredbu..."
+
+#. Invite to Groupchat
+#: ../data/glade/roster_contact_context_menu.glade.h:6
+#: ../src/roster_window.py:2440
+msgid "In_vite to"
+msgstr "Pozo_vi u"
+
+#. Send Custom Status
+#: ../data/glade/roster_contact_context_menu.glade.h:7
+#: ../src/roster_window.py:2664 ../src/roster_window.py:2798
+#, fuzzy
+msgid "Send Cus_tom Status"
+msgstr "Šalje korisnički definisan XML"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:8
+msgid "Send Single _Message..."
+msgstr "Pošalji jednu _poruku..."
+
+#: ../data/glade/roster_contact_context_menu.glade.h:9
+#, fuzzy
+msgid "Send _File..."
+msgstr "Pošalji _datoteku"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:10
+msgid "Set Custom _Avatar..."
+msgstr ""
+
+#: ../data/glade/roster_contact_context_menu.glade.h:11
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:5
+msgid "Start _Chat"
+msgstr "Započni ra_zgovor"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:13
+msgid "_Allow him/her to see my status"
+msgstr "_Dozvoli mu/joj da vidi moj status"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:14
+#: ../src/roster_window.py:2514 ../src/roster_window.py:2725
+msgid "_Block"
+msgstr ""
+
+#: ../data/glade/roster_contact_context_menu.glade.h:15
+msgid "_Forbid him/her to see my status"
+msgstr "_Zabrani mu/joj da vidi moj status"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:17
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:7
+#, fuzzy
+msgid "_Manage Contact"
+msgstr "Preimenuj kontakt"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:19
+#, fuzzy
+msgid "_Rename..."
+msgstr "_Preimenuj"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:20
+msgid "_Subscription"
+msgstr "_Pretplata"
+
+#: ../data/glade/roster_contact_context_menu.glade.h:21
+#: ../src/roster_window.py:2508 ../src/roster_window.py:2719
+msgid "_Unblock"
+msgstr ""
+
+#: ../data/glade/roster_window.glade.h:1
+msgid "A_ccounts"
+msgstr "Nalo_zi"
+
+#: ../data/glade/roster_window.glade.h:2
+#, fuzzy
+msgid "Add _Contact..."
+msgstr "_Dodaj kontakt..."
+
+#: ../data/glade/roster_window.glade.h:3
+#, fuzzy
+msgid "Fea_tures"
+msgstr "Mogućnosti servera"
+
+#: ../data/glade/roster_window.glade.h:4
+msgid "File _Transfers"
+msgstr "Prenosi da_toteka"
+
+#: ../data/glade/roster_window.glade.h:5
+msgid "Frequently Asked Questions (online)"
+msgstr "ÄŒesto postavljana pitanja (internet)"
+
+#: ../data/glade/roster_window.glade.h:7
+msgid "Help online"
+msgstr "Pomoć sa interneta"
+
+#: ../data/glade/roster_window.glade.h:9
+msgid "Profile, A_vatar"
+msgstr "Profil, A_vatar"
+
+#: ../data/glade/roster_window.glade.h:10
+msgid "Show Trans_ports"
+msgstr "Prikaži trans_porte"
+
+#: ../data/glade/roster_window.glade.h:11
+msgid "Show _Offline Contacts"
+msgstr "Prikaži kontakte koji nisu na vezi"
+
+#: ../data/glade/roster_window.glade.h:14
+msgid "_Contents"
+msgstr "_Sadržaj"
+
+#: ../data/glade/roster_window.glade.h:16 ../src/disco.py:1348
+msgid "_Edit"
+msgstr "_Izmeni"
+
+#: ../data/glade/roster_window.glade.h:17
+msgid "_FAQ"
+msgstr "_ÄŒPP"
+
+#: ../data/glade/roster_window.glade.h:18
+msgid "_Help"
+msgstr "_Pomoć"
+
+#: ../data/glade/roster_window.glade.h:19
+msgid "_Preferences"
+msgstr "_Podešavanja"
+
+#: ../data/glade/roster_window.glade.h:20
+msgid "_Quit"
+msgstr "_Izlaz"
+
+#: ../data/glade/roster_window.glade.h:21
+#, fuzzy
+msgid "_Send Single Message..."
+msgstr "Pošalji jednu _poruku..."
+
+#: ../data/glade/roster_window.glade.h:23
+msgid "_View"
+msgstr "_Prikaz"
+
+#: ../data/glade/service_discovery_window.glade.h:1
+msgid "G_o"
+msgstr "Kre_ni"
+
+#: ../data/glade/service_discovery_window.glade.h:2
+msgid "_Address:"
+msgstr "_Adresa:"
+
+#: ../data/glade/service_registration_window.glade.h:1
+msgid "Register to"
+msgstr "Registruj se na"
+
+#: ../data/glade/service_registration_window.glade.h:2
+msgid "_Cancel"
+msgstr "_Odustani"
+
+#: ../data/glade/service_registration_window.glade.h:3
+msgid "_OK"
+msgstr "_U redu"
+
+#: ../data/glade/single_message_window.glade.h:1
+msgid "0"
+msgstr "O"
+
+#: ../data/glade/single_message_window.glade.h:2
+msgid "From:"
+msgstr "Od:"
+
+#: ../data/glade/single_message_window.glade.h:3
+msgid "Reply to this message"
+msgstr "Odgovori na ovu poruku"
+
+#: ../data/glade/single_message_window.glade.h:4
+msgid "Sen_d"
+msgstr "P_ošalji"
+
+#: ../data/glade/single_message_window.glade.h:5
+msgid "Send message"
+msgstr "Pošalji poruku"
+
+#: ../data/glade/single_message_window.glade.h:6
+msgid "Send message and close window"
+msgstr "Pošalji poruku i zatvori prozor"
+
+#: ../data/glade/single_message_window.glade.h:7
+msgid "Subject:"
+msgstr "Tema:"
+
+#: ../data/glade/single_message_window.glade.h:8
+msgid "To:"
+msgstr "Za:"
+
+#: ../data/glade/single_message_window.glade.h:9
+msgid "_Reply"
+msgstr "_Odgovor"
+
+#: ../data/glade/single_message_window.glade.h:10
+msgid "_Send & Close"
+msgstr "_Pošalji i zatvori"
+
+#: ../data/glade/subscription_request_window.glade.h:1
+msgid "Au_thorize"
+msgstr "_Odobri autorizaciju"
+
+#: ../data/glade/subscription_request_window.glade.h:2
+msgid "Authorize contact so he or she can know when you're connected"
+msgstr "Autorizuj kontakt tako da on/ona može da vidi kada ste na vezi"
+
+#: ../data/glade/subscription_request_window.glade.h:3
+msgid ""
+"Deny authorization from contact so he or she cannot know when you're "
+"connected"
+msgstr ""
+"Odbij autorizaciju od kontakta tako da on/ona ne može da vidi kada ste na "
+"vezi"
+
+#: ../data/glade/subscription_request_window.glade.h:4
+msgid "Subscription Request"
+msgstr "Zahtev za pretplatom"
+
+#: ../data/glade/subscription_request_window.glade.h:7
+msgid "_Deny"
+msgstr "_Odbij"
+
+#: ../data/glade/systray_context_menu.glade.h:1
+msgid "Mute Sounds"
+msgstr "Ugasi zvukove"
+
+#: ../data/glade/systray_context_menu.glade.h:2
+msgid "Send Single _Message"
+msgstr "Pošalji _jednu poruku"
+
+#: ../data/glade/systray_context_menu.glade.h:3
+msgid "Show All Pending _Events"
+msgstr "Prikaži sv_e događaje na čekanju"
+
+#: ../data/glade/systray_context_menu.glade.h:4
+msgid "Show _Roster"
+msgstr "_Prikaži listu kontakata"
+
+#: ../data/glade/systray_context_menu.glade.h:5
+msgid "Sta_tus"
+msgstr "Sta_tus"
+
+#: ../data/glade/systray_context_menu.glade.h:6
+msgid "_Group Chat"
+msgstr "_Grupni razgovor"
+
+#. Given Name
+#: ../data/glade/vcard_information_window.glade.h:5
+msgid "Ask:"
+msgstr "Pitaj:"
+
+#: ../data/glade/vcard_information_window.glade.h:8
+msgid "Client:"
+msgstr "Klijent:"
+
+#: ../data/glade/vcard_information_window.glade.h:9
+msgid "Comments"
+msgstr "Komentari"
+
+#: ../data/glade/vcard_information_window.glade.h:11
+#, fuzzy
+msgid "Configured avatar:"
+msgstr "Podešavanja _sobe"
+
+#: ../data/glade/vcard_information_window.glade.h:12
+#: ../data/glade/zeroconf_information_window.glade.h:1
+msgid "Contact"
+msgstr "Kontakt"
+
+#: ../data/glade/vcard_information_window.glade.h:13
+msgid "Contact Information"
+msgstr "Informacije kontakta"
+
+#: ../data/glade/vcard_information_window.glade.h:29
+msgid "More"
+msgstr "Još"
+
+#: ../data/glade/vcard_information_window.glade.h:33
+msgid "OS:"
+msgstr "OS:"
+
+#: ../data/glade/vcard_information_window.glade.h:40
+#: ../data/glade/zeroconf_information_window.glade.h:8
+msgid "Resource:"
+msgstr "Resurs:"
+
+#: ../data/glade/vcard_information_window.glade.h:43
+#: ../data/glade/zeroconf_information_window.glade.h:9
+msgid "Status:"
+msgstr "Status:"
+
+#. Family Name
+#: ../data/glade/vcard_information_window.glade.h:46
+msgid "Subscription:"
+msgstr "Pretplata:"
+
+#: ../data/glade/vcard_information_window.glade.h:49
+#, fuzzy
+msgid "User avatar:"
+msgstr "Avatar:"
+
+#: ../data/glade/xml_console_window.glade.h:1
+msgid "<b>Jabber Traffic</b>"
+msgstr "<b>Džaber saobraćaj</b>"
+
+#: ../data/glade/xml_console_window.glade.h:2
+msgid "<b>XML Input</b>"
+msgstr "<b>XML Unos</b>"
+
+#. Info/Query make the "IQ" initials. So translate like this 'YourLang/YourLang (Info/Query)'. Thanks (it's a tooltip so width is not a problem)
+#: ../data/glade/xml_console_window.glade.h:6
+msgid "Info/Query"
+msgstr "Info/Upit"
+
+#. Info/Query: all(?) jabber xml start with <iq Leaving it _IQ is not a bad idea unless you are sure your lang has this somehow else translated (NOTE: xml still will still say <iq in your language (of course))
+#: ../data/glade/xml_console_window.glade.h:8
+msgid "_IQ"
+msgstr "_IU"
+
+#: ../data/glade/xml_console_window.glade.h:9
+msgid "_Message"
+msgstr "_Poruka"
+
+#: ../data/glade/xml_console_window.glade.h:10
+msgid "_Presence"
+msgstr "_Prisutnost"
+
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:1
+msgid "Add Special _Notification"
+msgstr "Dodaj poseb_no obaveštenje"
+
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:2
+msgid "Assign Open_PGP Key"
+msgstr "Pridruži Open_PGP Ključ"
+
+#. Edit Groups
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:3
+#: ../src/roster_window.py:2497
+msgid "Edit _Groups"
+msgstr "Izmeni _grupe"
+
+#. Rename
+#: ../data/glade/zeroconf_contact_context_menu.glade.h:8
+#: ../src/roster_window.py:2854
+msgid "_Rename"
+msgstr "_Preimenuj"
+
+#: ../data/glade/zeroconf_context_menu.glade.h:1
+msgid "_Modify Account..."
+msgstr "_Izmeni nalog..."
+
+#: ../data/glade/zeroconf_information_window.glade.h:6
+msgid "Local jid:"
+msgstr "Lokalni džaber ID:"
+
+#: ../data/glade/zeroconf_information_window.glade.h:7
+msgid "Personal"
+msgstr "Lično"
+
+#: ../data/glade/zeroconf_properties_window.glade.h:15
+msgid "Modify Account"
+msgstr "Izmeni nalog"
+
+#. For i18n
+#: ../src/advanced.py:51
+msgid "Activated"
+msgstr "Aktivirano"
+
+#: ../src/advanced.py:51
+msgid "Deactivated"
+msgstr "Deaktivirano"
+
+#: ../src/advanced.py:53
+msgid "Boolean"
+msgstr "Bulova vrednost"
+
+#: ../src/advanced.py:54
+msgid "Integer"
+msgstr "Ceo broj"
+
+#: ../src/advanced.py:55
+msgid "Text"
+msgstr "Tekst"
+
+#: ../src/advanced.py:56
+msgid "Color"
+msgstr "Boja"
+
+#: ../src/advanced.py:65
+msgid "Preference Name"
+msgstr "Ime postavke"
+
+#: ../src/advanced.py:71
+msgid "Value"
+msgstr "Vrednost"
+
+#: ../src/advanced.py:79
+msgid "Type"
+msgstr "Tip"
+
+#. we talk about option description in advanced configuration editor
+#: ../src/advanced.py:136
+msgid "(None)"
+msgstr "(ništa)"
+
+#. we talk about password
+#: ../src/advanced.py:239
+msgid "Hidden"
+msgstr "Skriven"
+
+#. the next script, executed in the "po" directory,
+#. generates the following list.
+#. #!/bin/sh
+#. LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
+#. echo "{_('en'):'en'",$LANG"}"
+#: ../src/chat_control.py:55
+msgid "English"
+msgstr "Engleski"
+
+#: ../src/chat_control.py:55
+msgid "Belarusian"
+msgstr "Beloruski"
+
+#: ../src/chat_control.py:55
+msgid "Bulgarian"
+msgstr "Bugarski"
+
+#: ../src/chat_control.py:55
+#, fuzzy
+msgid "Breton"
+msgstr "Britanski"
+
+#: ../src/chat_control.py:55
+msgid "Czech"
+msgstr "Češki"
+
+#: ../src/chat_control.py:55
+msgid "German"
+msgstr "Nemački"
+
+#: ../src/chat_control.py:55
+msgid "Greek"
+msgstr "Grčki"
+
+#: ../src/chat_control.py:55
+msgid "British"
+msgstr "Britanski"
+
+#: ../src/chat_control.py:55
+msgid "Esperanto"
+msgstr "Esperanto"
+
+#: ../src/chat_control.py:55
+msgid "Spanish"
+msgstr "Å panski"
+
+#: ../src/chat_control.py:55
+#, fuzzy
+msgid "Basque"
+msgstr "Baskijski"
+
+#: ../src/chat_control.py:55
+msgid "French"
+msgstr "Francuski"
+
+#: ../src/chat_control.py:55
+msgid "Croatian"
+msgstr "Hrvatski"
+
+#: ../src/chat_control.py:55
+msgid "Italian"
+msgstr "Italijanski"
+
+#: ../src/chat_control.py:55
+msgid "Norwegian (b)"
+msgstr "Norveški (b)"
+
+#: ../src/chat_control.py:55
+msgid "Dutch"
+msgstr "Holandski"
+
+#: ../src/chat_control.py:55
+msgid "Norwegian"
+msgstr "Norveški"
+
+#: ../src/chat_control.py:55
+msgid "Polish"
+msgstr "Poljski"
+
+#: ../src/chat_control.py:55
+msgid "Portuguese"
+msgstr "Portugalski"
+
+#: ../src/chat_control.py:55
+msgid "Brazilian Portuguese"
+msgstr "Brazilski portugalski"
+
+#: ../src/chat_control.py:55
+msgid "Russian"
+msgstr "Ruski"
+
+#: ../src/chat_control.py:55
+msgid "Serbian"
+msgstr "Srpski"
+
+#: ../src/chat_control.py:55
+msgid "Slovak"
+msgstr "Slovački"
+
+#: ../src/chat_control.py:55
+msgid "Swedish"
+msgstr "Å vedski"
+
+#: ../src/chat_control.py:55
+msgid "Chinese (Ch)"
+msgstr "Kineski (Ch)"
+
+#: ../src/chat_control.py:283
+msgid "Spelling language"
+msgstr "Jezik za pravopis"
+
+#. we are not connected
+#: ../src/chat_control.py:306 ../src/chat_control.py:512
+msgid "A connection is not available"
+msgstr "Veza nije dostupna"
+
+#: ../src/chat_control.py:307 ../src/chat_control.py:513
+msgid "Your message can not be sent until you are connected."
+msgstr "Vaša poruka ne može biti poslata ako niste povezani."
+
+#: ../src/chat_control.py:1139
+#, python-format
+msgid "%(nickname)s from group chat %(room_name)s"
+msgstr "%(nickname)s sa grupnog razgovora u sobi %(room_name)s"
+
+#. we talk about a contact here
+#: ../src/chat_control.py:1227
+#, python-format
+msgid "%s has not broadcast an OpenPGP key, nor has one been assigned"
+msgstr "%s nije emitovao OpenPGP ključ, niti mu je ijedan dodeljen"
+
+#: ../src/chat_control.py:1266 ../src/groupchat_control.py:1392
+#, python-format
+msgid "No such command: /%s (if you want to send this, prefix it with /say)"
+msgstr ""
+"Ne postoji komanda: /%s (ako želite da pošaljete to kao poruku, "
+"prefiksirajte je sa /say)"
+
+#: ../src/chat_control.py:1273 ../src/groupchat_control.py:1415
+#, python-format
+msgid "Commands: %s"
+msgstr "Komanda: %s"
+
+#: ../src/chat_control.py:1276 ../src/groupchat_control.py:1429
+#, python-format
+msgid "Usage: /%s, clears the text window."
+msgstr "Način korišćenja: /%s, prazni tekstualni prozor"
+
+#: ../src/chat_control.py:1279 ../src/groupchat_control.py:1434
+#, python-format
+msgid "Usage: /%s, hide the chat buttons."
+msgstr "Način korišćenja: /%s, sakriva dugmad."
+
+#: ../src/chat_control.py:1282 ../src/groupchat_control.py:1450
+#, python-format
+msgid ""
+"Usage: /%s <action>, sends action to the current group chat. Use third "
+"person. (e.g. /%s explodes.)"
+msgstr ""
+"Način korišćenja: /%s <akcija>, šalje akciju trenutnom grupnom razgovoru. "
+"Koristite treću osobu (npr. /%s eksplodira)."
+
+#: ../src/chat_control.py:1286
+#, python-format
+msgid "Usage: /%s, sends a ping to the contact"
+msgstr ""
+
+#: ../src/chat_control.py:1289
+#, fuzzy, python-format
+msgid "Usage: /%s, send the message to the contact"
+msgstr "Način korišćenja: /%s, sakriva dugmad."
+
+#: ../src/chat_control.py:1292 ../src/groupchat_control.py:1473
+#, python-format
+msgid "No help info for /%s"
+msgstr "Nema informacija ni pomoći za /%s"
+
+#: ../src/chat_control.py:1430 ../src/chat_control.py:1456
+msgid "Encryption enabled"
+msgstr "Enkripcija omogućena"
+
+#: ../src/chat_control.py:1435
+msgid "Session WILL be logged"
+msgstr ""
+
+#: ../src/chat_control.py:1437
+msgid "Session WILL NOT be logged"
+msgstr ""
+
+#: ../src/chat_control.py:1444
+#, fuzzy
+msgid "The following message was NOT encrypted"
+msgstr "[Ova poruka je Å¡ifrovana]"
+
+#: ../src/chat_control.py:1448 ../src/chat_control.py:1461
+#: ../src/chat_control.py:2090
+msgid "Encryption disabled"
+msgstr "Enkripcija onemogućena"
+
+#. add_to_roster_menuitem
+#: ../src/chat_control.py:1618 ../src/conversation_textview.py:562
+#: ../src/dialogs.py:674 ../src/gajim.py:894 ../src/gajim.py:895
+#: ../src/gajim.py:1364 ../src/roster_window.py:345
+#: ../src/roster_window.py:429 ../src/roster_window.py:1790
+#: ../src/roster_window.py:1800 ../src/roster_window.py:2039
+#: ../src/roster_window.py:2277 ../src/roster_window.py:3125
+#: ../src/roster_window.py:3332 ../src/roster_window.py:4692
+#: ../src/roster_window.py:4694 ../src/common/contacts.py:84
+#: ../src/common/helpers.py:44 ../src/common/helpers.py:258
+msgid "Not in Roster"
+msgstr "Nije na listi kontakata"
+
+#. %s is being replaced in the code with JID
+#: ../src/chat_control.py:1762
+#, python-format
+msgid "You just received a new message from \"%s\""
+msgstr "\"%s\" Vam je upravo poslao poruku"
+
+#: ../src/chat_control.py:1763
+msgid ""
+"If you close this tab and you have history disabled, this message will be "
+"lost."
+msgstr ""
+"Ako zatvorite ovaj jezičak, a istorijat razgovora nije omogućen, ova poruka "
+"će biti izgubljena."
+
+#: ../src/config.py:122 ../src/config.py:544
+msgid "Disabled"
+msgstr "Onemogućeno"
+
+#: ../src/config.py:288
+msgid "Active"
+msgstr "Aktivno"
+
+#: ../src/config.py:296
+msgid "Event"
+msgstr "događaj"
+
+#: ../src/config.py:617 ../src/dialogs.py:958
+#, python-format
+msgid "Dictionary for lang %s not available"
+msgstr "Rečnik za jezik %s nije dostupan"
+
+#: ../src/config.py:618
+#, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option."
+msgstr ""
+"Morate instalirati %s rečnik kako biste mogli koristiti proveru pravopisa, "
+"ili odaberite drugi jezik postavkom speller_language opcije."
+
+#: ../src/config.py:969
+msgid "status message title"
+msgstr "naslov statusne poruke"
+
+#: ../src/config.py:969
+msgid "status message text"
+msgstr "tekst statusne poruke"
+
+#: ../src/config.py:1005
+msgid "First Message Received"
+msgstr "Primljena Prva Poruka"
+
+#: ../src/config.py:1006
+msgid "Next Message Received"
+msgstr "Sledeća Primljena Poruka"
+
+#: ../src/config.py:1007
+msgid "Contact Connected"
+msgstr "Kontakt Na Vezi"
+
+#: ../src/config.py:1008
+msgid "Contact Disconnected"
+msgstr "Kontakt Otišao Sa Veze"
+
+#: ../src/config.py:1009
+msgid "Message Sent"
+msgstr "Poruka Poslata"
+
+#: ../src/config.py:1010
+msgid "Group Chat Message Highlight"
+msgstr "Bojenje Poruka Sa Grupnog Razgovora"
+
+#: ../src/config.py:1011
+msgid "Group Chat Message Received"
+msgstr "Primljena Poruka Sa Grupnog Razgovora"
+
+#: ../src/config.py:1018
+msgid "GMail Email Received"
+msgstr "Primljen Gmail e-mejl"
+
+#. Name column
+#: ../src/config.py:1287 ../src/dialogs.py:1397 ../src/dialogs.py:1461
+#: ../src/disco.py:736 ../src/disco.py:1559 ../src/disco.py:1805
+#: ../src/history_window.py:108
+msgid "Name"
+msgstr "Ime"
+
+#: ../src/config.py:1395 ../src/common/config.py:375
+msgid "Be right back."
+msgstr "Odmah se vraćam."
+
+#: ../src/config.py:1399
+msgid "Relogin now?"
+msgstr "Otići sa veze i povezati se odmah?"
+
+#: ../src/config.py:1400
+msgid "If you want all the changes to apply instantly, you must relogin."
+msgstr ""
+"Ako želite da se sve promene trenutno primene, morate da se ponovo povežete."
+
+#: ../src/config.py:1495 ../src/config.py:1594
+msgid "OpenPGP is not usable in this computer"
+msgstr "OpenPGP nije moguće koristiti na ovom računaru"
+
+#: ../src/config.py:1630 ../src/config.py:1674
+msgid "Unread events"
+msgstr "Nepročitani događaji"
+
+#: ../src/config.py:1631
+msgid "Read all pending events before removing this account."
+msgstr "Pročitajte sve događaje na čekanju pre uklanjanja naloga."
+
+#: ../src/config.py:1660
+#, python-format
+msgid "You have opened chat in account %s"
+msgstr "Otvorili ste razgovor u računu %s"
+
+#: ../src/config.py:1661
+msgid "All chat and groupchat windows will be closed. Do you want to continue?"
+msgstr ""
+"Prozori svih razgovora i grupnih razgovora će biti zatvoreni. Želite li da "
+"nastavite?"
+
+#: ../src/config.py:1670
+msgid "You are currently connected to the server"
+msgstr "Trenutno ste spojeni na server"
+
+#: ../src/config.py:1671
+msgid "To change the account name, you must be disconnected."
+msgstr "Za promenu imena naloga, morate otići sa veze."
+
+#: ../src/config.py:1675
+msgid "To change the account name, you must read all pending events."
+msgstr ""
+"Da biste promenili ime naloga, morate prvo pročitati sve događaje na čekanju."
+
+#: ../src/config.py:1681
+msgid "Account Name Already Used"
+msgstr "Ime Naloga Već U Upotrebi"
+
+#: ../src/config.py:1682
+msgid ""
+"This name is already used by another of your accounts. Please choose another "
+"name."
+msgstr ""
+"Ovo ime već koristi jedan od Vaših naloga. Molimo Vas, odaberite drugo ime."
+
+#: ../src/config.py:1686 ../src/config.py:1690
+msgid "Invalid account name"
+msgstr "Neispravno ime naloga"
+
+#: ../src/config.py:1687
+msgid "Account name cannot be empty."
+msgstr "Ime naloga ne može biti prazno."
+
+#: ../src/config.py:1691
+msgid "Account name cannot contain spaces."
+msgstr "Ime naloga ne može da sadrži beline."
+
+#: ../src/config.py:1755
+#, fuzzy
+msgid "Rename Account"
+msgstr "Podešavanje naloga"
+
+#: ../src/config.py:1756
+#, fuzzy, python-format
+msgid "Enter a new name for account %s"
+msgstr "Unesite novo ime za grupu %s"
+
+#: ../src/config.py:1774 ../src/config.py:1782 ../src/config.py:1822
+#: ../src/config.py:3048
+msgid "Invalid Jabber ID"
+msgstr "Neispravan džaber ID"
+
+#: ../src/config.py:1783
+msgid "A Jabber ID must be in the form \"user@servername\"."
+msgstr "Džaber ID mora biti oblika \"korisnik@server\"."
+
+#: ../src/config.py:1968 ../src/config.py:3119
+msgid "Invalid entry"
+msgstr "Neispravan unos"
+
+#: ../src/config.py:1969 ../src/config.py:3120
+msgid "Custom port must be a port number."
+msgstr "Vaš port mora biti broj porta."
+
+#: ../src/config.py:1990
+msgid "Failed to get secret keys"
+msgstr "Neuspelo uzimanje tajnih ključeva"
+
+#: ../src/config.py:1991
+msgid "There was a problem retrieving your OpenPGP secret keys."
+msgstr "Došlo je do problema u uzimanju Vaših OpenPGP tajnih ključeva."
+
+#: ../src/config.py:1994
+msgid "OpenPGP Key Selection"
+msgstr "Odabir OpenPGP Ključeva"
+
+#: ../src/config.py:1995
+msgid "Choose your OpenPGP key"
+msgstr "Odaberite Vaš OpenPGP ključ"
+
+#: ../src/config.py:2052
+msgid "No such account available"
+msgstr "Nije dostupan takav nalog"
+
+#: ../src/config.py:2053
+msgid "You must create your account before editing your personal information."
+msgstr "Morate napraviti Vaš nalog pre izmena ličnih informacija."
+
+#: ../src/config.py:2060 ../src/dialogs.py:1244 ../src/dialogs.py:1385
+#: ../src/dialogs.py:1565 ../src/disco.py:420 ../src/profile_window.py:325
+msgid "You are not connected to the server"
+msgstr "Niste povezani na server"
+
+#: ../src/config.py:2061
+msgid "Without a connection, you can not edit your personal information."
+msgstr "Bez veze sa serverom, nije moguća izmena ličnih informacija."
+
+#: ../src/config.py:2065
+msgid "Your server doesn't support Vcard"
+msgstr "Vaš server ne podržava Vcard"
+
+#: ../src/config.py:2066
+msgid "Your server can't save your personal information."
+msgstr "Vaš server ne može da sačuva Vaše lične informacije."
+
+#: ../src/config.py:2097
+msgid "Account Local already exists."
+msgstr "Račun lokal već postoji."
+
+#: ../src/config.py:2098
+msgid "Please rename or remove it before enabling link-local messaging."
+msgstr "Molimo Vas, preimenujte ili uklonite pre omogućavanja lokalnih poruka."
+
+#: ../src/config.py:2274
+#, python-format
+msgid "Edit %s"
+msgstr "Izmeni %s"
+
+#: ../src/config.py:2276
+#, python-format
+msgid "Register to %s"
+msgstr "Registruj se na %s"
+
+#. list at the beginning
+#: ../src/config.py:2312
+msgid "Ban List"
+msgstr "Lista zabrana"
+
+#: ../src/config.py:2313
+msgid "Member List"
+msgstr "Lista članova"
+
+#: ../src/config.py:2314
+msgid "Owner List"
+msgstr "Lista vlasnika"
+
+#: ../src/config.py:2315
+msgid "Administrator List"
+msgstr "Lista administratora"
+
+#. Address column
+#. holds JID (who said this)
+#: ../src/config.py:2364 ../src/disco.py:743 ../src/history_manager.py:155
+msgid "JID"
+msgstr "DŽID"
+
+#: ../src/config.py:2372
+msgid "Reason"
+msgstr "Razlog"
+
+#: ../src/config.py:2377
+msgid "Nick"
+msgstr "Nadimak"
+
+#: ../src/config.py:2381
+msgid "Role"
+msgstr "Uloga"
+
+#: ../src/config.py:2406
+msgid "Banning..."
+msgstr "Zabrana..."
+
+#. You can move '\n' before user@domain if that line is TOO BIG
+#: ../src/config.py:2408
+msgid ""
+"<b>Whom do you want to ban?</b>\n"
+"\n"
+msgstr ""
+"<b>Koga želite zabraniti?</b>\n"
+"\n"
+
+#: ../src/config.py:2410
+msgid "Adding Member..."
+msgstr "Dodavanje člana..."
+
+#: ../src/config.py:2411
+msgid ""
+"<b>Whom do you want to make a member?</b>\n"
+"\n"
+msgstr ""
+"<b>Koga želite da postavite članom?</b>\n"
+"\n"
+
+#: ../src/config.py:2413
+msgid "Adding Owner..."
+msgstr "Dodavanje vlasnika..."
+
+#: ../src/config.py:2414
+msgid ""
+"<b>Whom do you want to make an owner?</b>\n"
+"\n"
+msgstr ""
+"<b>Koga želite da postavite za vlasnika?</b>\n"
+"\n"
+
+#: ../src/config.py:2416
+msgid "Adding Administrator..."
+msgstr "Dodavanje administratora..."
+
+#: ../src/config.py:2417
+msgid ""
+"<b>Whom do you want to make an administrator?</b>\n"
+"\n"
+msgstr ""
+"<b>Koga želite da postavite za administratora?</b>\n"
+"\n"
+
+#: ../src/config.py:2418
+msgid ""
+"Can be one of the following:\n"
+"1. user@domain/resource (only that resource matches).\n"
+"2. user@domain (any resource matches).\n"
+"3. domain/resource (only that resource matches).\n"
+"4. domain (the domain itself matches, as does any user@domain,\n"
+"domain/resource, or address containing a subdomain."
+msgstr ""
+"Može biti jedno od sledećeg:\n"
+"1. korisnik@domen/resurs (poklapa se samo sa tim resursom).\n"
+"2. korisnik@domen (poklapa se sa bilo kojim resursom).\n"
+"3. domen/resurs (poklapa se samo sa tim resursom).\n"
+"4. domen (samo se domen poklapa, kao i bilo koji korisnik@domen,\n"
+"domen/resurs, ili adresa koja sadrži poddomen."
+
+#: ../src/config.py:2522
+#, python-format
+msgid "Removing %s account"
+msgstr "Uklanjanje računa %s"
+
+#: ../src/config.py:2539 ../src/gajim.py:1307 ../src/roster_window.py:3391
+msgid "Password Required"
+msgstr "Lozinka zahtevana"
+
+#: ../src/config.py:2540 ../src/roster_window.py:3387
+#, python-format
+msgid "Enter your password for account %s"
+msgstr "Unesite Vašu lozinku za račun %s"
+
+#: ../src/config.py:2541 ../src/roster_window.py:3392
+msgid "Save password"
+msgstr "Sačuvaj lozinku"
+
+#: ../src/config.py:2555
+#, python-format
+msgid "Account \"%s\" is connected to the server"
+msgstr "Račun \"%s\" je povezan na server"
+
+#: ../src/config.py:2556
+msgid "If you remove it, the connection will be lost."
+msgstr "Ukoliko ga uklonite, veza će biti izgubljena."
+
+#: ../src/config.py:2649
+msgid "Default"
+msgstr "Podrazumevano"
+
+#: ../src/config.py:2649
+msgid "?print_status:All"
+msgstr "?ispis statusa:Sve"
+
+#: ../src/config.py:2650
+msgid "Enter and leave only"
+msgstr "Samo ući i napustiti"
+
+#: ../src/config.py:2651
+msgid "?print_status:None"
+msgstr "?ispis statusa:Ništa"
+
+#: ../src/config.py:2720
+msgid "New Group Chat"
+msgstr "Novi grupni razgovor"
+
+#: ../src/config.py:2753
+msgid "This bookmark has invalid data"
+msgstr "Ovaj marker ima neispravne podatke"
+
+#: ../src/config.py:2754
+msgid ""
+"Please be sure to fill out server and room fields or remove this bookmark."
+msgstr ""
+"Molimo obavezno ispunite polja servera i sobe ili uklonite ovaj marker."
+
+#: ../src/config.py:3031
+msgid "Invalid username"
+msgstr "Neispravno korisničko ime"
+
+#: ../src/config.py:3033
+msgid "You must provide a username to configure this account."
+msgstr "Morate upisati korisničko ime da biste konfigurisali ovaj nalog."
+
+#: ../src/config.py:3059
+msgid "Duplicate Jabber ID"
+msgstr "Dupliraj Džaber ID"
+
+#: ../src/config.py:3060
+msgid "This account is already configured in Gajim."
+msgstr "Ovaj nalog je već konfigurisan u Gajimu."
+
+#: ../src/config.py:3077
+msgid "Account has been added successfully"
+msgstr "Nalog je uspešno dodat"
+
+#: ../src/config.py:3078 ../src/config.py:3223
+msgid ""
+"You can set advanced account options by pressing the Advanced button, or "
+"later by choosing the Accounts menuitem under the Edit menu from the main "
+"window."
+msgstr ""
+"Napredna podešavanja naloga možete podesiti pritiskom na dugme Napredno, ili "
+"kasnije klikom na stavku menija Nalozi pod menijem Uredi iz glavnog prozora."
+
+#: ../src/config.py:3095
+#, fuzzy
+msgid "Invalid server"
+msgstr "Neispravno korisničko ime"
+
+#: ../src/config.py:3096
+#, fuzzy
+msgid "Please provide a server on which you want to register."
+msgstr "Molimo odredite novi nadimak koji želite da koristite:"
+
+#: ../src/config.py:3202 ../src/config.py:3241
+msgid "An error occurred during account creation"
+msgstr "Pojavila se greška pri kreiranju naloga"
+
+#: ../src/config.py:3222
+msgid "Your new account has been created successfully"
+msgstr "Vaš novi nalog je uspešno napravljen"
+
+#: ../src/config.py:3327
+msgid "Account name is in use"
+msgstr "Ime naloga je već upotrebljeno"
+
+#: ../src/config.py:3328
+msgid "You already have an account using this name."
+msgstr "Već imate nalog sa tim imenom."
+
+#: ../src/conversation_textview.py:337
+msgid ""
+"Text below this line is what has been said since the last time you paid "
+"attention to this group chat"
+msgstr ""
+"Tekst ispod ove linije je ono što je rečeno od kada ste poslednji put "
+"obratili pažnju na ovaj grupni razgovor"
+
+#: ../src/conversation_textview.py:409
+#, python-format
+msgid "_Actions for \"%s\""
+msgstr "_Akcije za nalog \"%s\""
+
+#: ../src/conversation_textview.py:421
+msgid "Read _Wikipedia Article"
+msgstr "Pročitajte članak na _Vikipediji"
+
+#: ../src/conversation_textview.py:426
+msgid "Look it up in _Dictionary"
+msgstr "Potraži u Rečniku"
+
+#. we must have %s in the url if not WIKTIONARY
+#: ../src/conversation_textview.py:442
+#, python-format
+msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY"
+msgstr "URL-u Rečnika nedostaje \"%s\" i nije Viki rečnik"
+
+#. we must have %s in the url
+#: ../src/conversation_textview.py:455
+#, python-format
+msgid "Web Search URL is missing an \"%s\""
+msgstr "URL-u Veb pretrage nedostaje \"%s\""
+
+#: ../src/conversation_textview.py:458
+msgid "Web _Search for it"
+msgstr "_Pretraži Veb"
+
+#: ../src/conversation_textview.py:464
+msgid "Open as _Link"
+msgstr "Otvori kao _Vezu"
+
+#: ../src/conversation_textview.py:929
+msgid "Yesterday"
+msgstr "Juče"
+
+#. the number is >= 2
+#. %i is day in year (1-365), %d (1-31) we want %i
+#: ../src/conversation_textview.py:933
+#, python-format
+msgid "%i days ago"
+msgstr "Pre %i dana"
+
+#. if we have subject, show it too!
+#: ../src/conversation_textview.py:967
+#, python-format
+msgid "Subject: %s\n"
+msgstr "Tema: %s\n"
+
+#: ../src/dialogs.py:64
+#, python-format
+msgid "Contact name: <i>%s</i>"
+msgstr "Ime kontakta: <i>%s</i>"
+
+#: ../src/dialogs.py:66
+#, python-format
+msgid "Jabber ID: <i>%s</i>"
+msgstr "Džaber ID: <i>%s</i>"
+
+#: ../src/dialogs.py:216
+msgid "Group"
+msgstr "Grupa"
+
+#: ../src/dialogs.py:223
+msgid "In the group"
+msgstr "U grupi"
+
+#: ../src/dialogs.py:274
+msgid "KeyID"
+msgstr "ID Ključa"
+
+#: ../src/dialogs.py:277
+msgid "Contact name"
+msgstr "Ime kontakta"
+
+#: ../src/dialogs.py:323
+#, python-format
+msgid "%s Status Message"
+msgstr "%s Statusna poruka"
+
+#: ../src/dialogs.py:325
+msgid "Status Message"
+msgstr "Statusna poruka"
+
+#: ../src/dialogs.py:425
+msgid "Save as Preset Status Message"
+msgstr "Snimi kao već postavljenu statusnu poruku"
+
+#: ../src/dialogs.py:426
+msgid "Please type a name for this status message"
+msgstr "Molimo unesite ime za ovu statusnu poruku"
+
+#: ../src/dialogs.py:437
+msgid "Overwrite Status Message?"
+msgstr "Prebriši statusnu poruku?"
+
+#: ../src/dialogs.py:438
+msgid ""
+"This name is already used. Do you want to overwrite this status message?"
+msgstr ""
+"Ovo ime se već koristi. Da li želite da prebrišete ovu statusnu poruku?"
+
+#: ../src/dialogs.py:454
+msgid "AIM Address:"
+msgstr "AIM adresa:"
+
+#: ../src/dialogs.py:455
+msgid "GG Number:"
+msgstr "GG Broj:"
+
+#: ../src/dialogs.py:456
+msgid "ICQ Number:"
+msgstr "ICQ Broj:"
+
+#: ../src/dialogs.py:457
+msgid "MSN Address:"
+msgstr "MSN adresa:"
+
+#: ../src/dialogs.py:458
+msgid "Yahoo! Address:"
+msgstr "Yahoo! adresa:"
+
+#: ../src/dialogs.py:495
+#, python-format
+msgid "Please fill in the data of the contact you want to add in account %s"
+msgstr "Molimo Vas ispunite podatke za kontakt koga želite dodati na nalog %s"
+
+#: ../src/dialogs.py:497
+msgid "Please fill in the data of the contact you want to add"
+msgstr "Molimo Vas ispunite podatke za kontakt koga želite dodati"
+
+#: ../src/dialogs.py:654 ../src/dialogs.py:660
+msgid "Invalid User ID"
+msgstr "Neispravan korisnički ID"
+
+#: ../src/dialogs.py:661
+msgid "The user ID must not contain a resource."
+msgstr "ID korisnika ne sme sadržavati resurs."
+
+#: ../src/dialogs.py:675
+msgid "Contact already in roster"
+msgstr "Kontakt je već u listi"
+
+#: ../src/dialogs.py:676
+msgid "This contact is already listed in your roster."
+msgstr "Kontakt je već u listi kontakata."
+
+#: ../src/dialogs.py:712
+msgid "User ID:"
+msgstr "ID korisnika:"
+
+#: ../src/dialogs.py:774
+msgid "A GTK+ jabber client"
+msgstr "GTK+ džaber klijent"
+
+#: ../src/dialogs.py:775
+msgid "GTK+ Version:"
+msgstr "GTK+ verzija:"
+
+#: ../src/dialogs.py:776
+msgid "PyGTK Version:"
+msgstr "PyGTK verzija:"
+
+#: ../src/dialogs.py:790
+msgid "Current Developers:"
+msgstr "Trenutni programeri:"
+
+#: ../src/dialogs.py:792
+msgid "Past Developers:"
+msgstr "Prošli programeri:"
+
+#: ../src/dialogs.py:802
+msgid "THANKS:"
+msgstr "ZAHVALNICE:"
+
+#. remove one english sentence
+#. and add it manually as translatable
+#: ../src/dialogs.py:808
+msgid "Last but not least, we would like to thank all the package maintainers."
+msgstr ""
+"Poslednje, ali ne i najmanje važno, želeli bismo zahvaliti svim "
+"održavateljima paketa"
+
+#. here you write your name in the form Name FamilyName <someone@somewhere>
+#: ../src/dialogs.py:821
+msgid "translator-credits"
+msgstr "B. Kokanović. <branko.kokanovic@gmail.com>"
+
+#: ../src/dialogs.py:951
+#, python-format
+msgid "Unable to bind to port %s."
+msgstr "Ne mogu da se povežem na port %s."
+
+#: ../src/dialogs.py:952
+msgid ""
+"Maybe you have another running instance of Gajim. File Transfer will be "
+"cancelled."
+msgstr ""
+"Možda već imate pokrenutu instancu Gajima. Prenos datoteka će biti prekinut."
+
+#: ../src/dialogs.py:959
+#, fuzzy, python-format
+msgid ""
+"You have to install %s dictionary to use spellchecking, or choose another "
+"language by setting the speller_language option.\n"
+"\n"
+"Highlighting misspelled words feature will not be used"
+msgstr ""
+"Morate instalirati %s rečnik kako biste mogli koristiti proveru pravopisa, "
+"ili odaberite drugi jezik postavkom speller_language opcije."
+
+#: ../src/dialogs.py:1173
+#, python-format
+msgid "Subscription request for account %s from %s"
+msgstr "Zahtev pretplate na račun %s od %s"
+
+#: ../src/dialogs.py:1176
+#, python-format
+msgid "Subscription request from %s"
+msgstr "Zahtev pretplate od %s"
+
+#: ../src/dialogs.py:1237 ../src/roster_window.py:763
+#, python-format
+msgid "You are already in group chat %s"
+msgstr "Već ste u grupnom razgovoru %s"
+
+#: ../src/dialogs.py:1245
+msgid "You can not join a group chat unless you are connected."
+msgstr "Ne možete se priključiti grupnom razgovoru ako niste povezani."
+
+#: ../src/dialogs.py:1263
+#, python-format
+msgid "Join Group Chat with account %s"
+msgstr "Pridružite se grupnom razgovoru preko naloga %s"
+
+#: ../src/dialogs.py:1333 ../src/dialogs.py:1339
+#: ../src/groupchat_control.py:1643
+msgid "Invalid group chat Jabber ID"
+msgstr "Neispravan Džaber ID grupnog razgovora"
+
+#: ../src/dialogs.py:1334 ../src/dialogs.py:1340
+#: ../src/groupchat_control.py:1644
+msgid "The group chat Jabber ID has not allowed characters."
+msgstr "Džaber ID grupnog razgovora ima nedozvoljene znake."
+
+#: ../src/dialogs.py:1346
+msgid "This is not a group chat"
+msgstr "Ovo nije grupni razgovor"
+
+#: ../src/dialogs.py:1347
+#, python-format
+msgid "%s is not the name of a group chat."
+msgstr "%s nije ime grupnog razgovora."
+
+#: ../src/dialogs.py:1386
+#, fuzzy
+msgid "Without a connection, you can not synchronise your contacts."
+msgstr "Bez veze nije moguća promena lozinke."
+
+#: ../src/dialogs.py:1400
+msgid "Server"
+msgstr "Server"
+
+#: ../src/dialogs.py:1433
+#, fuzzy
+msgid "This account is not connected to the server"
+msgstr "Račun \"%s\" je povezan na server"
+
+#: ../src/dialogs.py:1434
+#, fuzzy
+msgid "You cannot synchronize with an account unless it is connected."
+msgstr "Ne možete se priključiti grupnom razgovoru ako niste povezani."
+
+#: ../src/dialogs.py:1458
+msgid "Synchronise"
+msgstr ""
+
+#: ../src/dialogs.py:1516
+#, python-format
+msgid "Start Chat with account %s"
+msgstr "Započni razgovor sa razunom %s"
+
+#: ../src/dialogs.py:1518
+msgid "Start Chat"
+msgstr "Započni razgovor"
+
+#: ../src/dialogs.py:1519
+msgid ""
+"Fill in the nickname or the Jabber ID of the contact you would like\n"
+"to send a chat message to:"
+msgstr ""
+"Ispunite džaber ID kontakta kome želite\n"
+"poslati poruku:"
+
+#. if offline or connecting
+#: ../src/dialogs.py:1544 ../src/dialogs.py:1891 ../src/dialogs.py:2027
+msgid "Connection not available"
+msgstr "Veza nije dostupna"
+
+#: ../src/dialogs.py:1545 ../src/dialogs.py:1892 ../src/dialogs.py:2028
+#, python-format
+msgid "Please make sure you are connected with \"%s\"."
+msgstr "Molimo potvrdite da ste spojeni na \"%s\"."
+
+#: ../src/dialogs.py:1554 ../src/dialogs.py:1557
+msgid "Invalid JID"
+msgstr "Neispravan džaber ID"
+
+#: ../src/dialogs.py:1557
+#, python-format
+msgid "Unable to parse \"%s\"."
+msgstr "Nije moguće razložiti \"%s\"."
+
+#: ../src/dialogs.py:1566
+msgid "Without a connection, you can not change your password."
+msgstr "Bez veze nije moguća promena lozinke."
+
+#: ../src/dialogs.py:1584
+msgid "Invalid password"
+msgstr "Neispravna lozinka"
+
+#: ../src/dialogs.py:1585
+msgid "You must enter a password."
+msgstr "Morate da unesete lozinku"
+
+#: ../src/dialogs.py:1589
+msgid "Passwords do not match"
+msgstr "Lozinke se ne poklapaju"
+
+#: ../src/dialogs.py:1590
+msgid "The passwords typed in both fields must be identical."
+msgstr "Lozinke upisane u oba polja moraju biti identične."
+
+#. img to display
+#. default value
+#: ../src/dialogs.py:1632 ../src/notify.py:219 ../src/notify.py:429
+msgid "Contact Signed In"
+msgstr "Kontakt je na vezi"
+
+#: ../src/dialogs.py:1634 ../src/notify.py:227 ../src/notify.py:431
+msgid "Contact Signed Out"
+msgstr "Kontakt je otišao sa veze"
+
+#. chat message
+#: ../src/dialogs.py:1636 ../src/notify.py:250 ../src/notify.py:433
+msgid "New Message"
+msgstr "Nova Poruka"
+
+#. single message
+#: ../src/dialogs.py:1636 ../src/notify.py:231 ../src/notify.py:433
+msgid "New Single Message"
+msgstr "Nova Samostalna Poruka"
+
+#. private message
+#: ../src/dialogs.py:1637 ../src/notify.py:238 ../src/notify.py:434
+msgid "New Private Message"
+msgstr "Nova Privatna Poruka"
+
+#: ../src/dialogs.py:1637 ../src/gajim.py:1460 ../src/notify.py:442
+msgid "New E-mail"
+msgstr "Novi E-mejl"
+
+#: ../src/dialogs.py:1639 ../src/gajim.py:1668 ../src/notify.py:436
+msgid "File Transfer Request"
+msgstr "Zahtev za prenosom datoteke"
+
+#: ../src/dialogs.py:1641 ../src/gajim.py:1432 ../src/gajim.py:1644
+#: ../src/notify.py:438
+msgid "File Transfer Error"
+msgstr "Greška pri prenosu datoteke"
+
+#: ../src/dialogs.py:1643 ../src/gajim.py:1707 ../src/gajim.py:1729
+#: ../src/gajim.py:1746 ../src/notify.py:440
+msgid "File Transfer Completed"
+msgstr "Prenos datoteke završen"
+
+#: ../src/dialogs.py:1644 ../src/gajim.py:1710 ../src/notify.py:440
+msgid "File Transfer Stopped"
+msgstr "Prenos datoteke zaustavljen"
+
+#: ../src/dialogs.py:1646 ../src/gajim.py:1328 ../src/notify.py:444
+msgid "Groupchat Invitation"
+msgstr "Poziv na grupni razgovor"
+
+#: ../src/dialogs.py:1648 ../src/notify.py:211 ../src/notify.py:446
+msgid "Contact Changed Status"
+msgstr "Kontakt promenio status"
+
+#: ../src/dialogs.py:1821
+#, python-format
+msgid "Single Message using account %s"
+msgstr "Samostalna poruka koristeći nalog %s"
+
+#: ../src/dialogs.py:1823
+#, python-format
+msgid "Single Message in account %s"
+msgstr "Samostalna poruka na nalogu %s"
+
+#: ../src/dialogs.py:1825
+msgid "Single Message"
+msgstr "Samostalna Poruka"
+
+#. prepare UI for Sending
+#: ../src/dialogs.py:1828
+#, python-format
+msgid "Send %s"
+msgstr "Poslate %s"
+
+#. prepare UI for Receiving
+#: ../src/dialogs.py:1851
+#, python-format
+msgid "Received %s"
+msgstr "Primljene %s"
+
+#. we create a new blank window to send and we preset RE: and to jid
+#: ../src/dialogs.py:1928
+#, python-format
+msgid "RE: %s"
+msgstr "RE: %s"
+
+#: ../src/dialogs.py:1929
+#, python-format
+msgid "%s wrote:\n"
+msgstr "%s piše:\n"
+
+#: ../src/dialogs.py:1973
+#, python-format
+msgid "XML Console for %s"
+msgstr "XML Konzola za %s"
+
+#: ../src/dialogs.py:1975
+msgid "XML Console"
+msgstr "XML Konzola"
+
+#: ../src/dialogs.py:2098
+#, python-format
+msgid "Privacy List <b><i>%s</i></b>"
+msgstr "Lista privatnosti <b><i>%s</i></b>"
+
+#: ../src/dialogs.py:2102
+#, python-format
+msgid "Privacy List for %s"
+msgstr "Lista privatnosti za %s"
+
+#: ../src/dialogs.py:2158
+#, python-format
+msgid "Order: %s, action: %s, type: %s, value: %s"
+msgstr "Redosled: %s, akcija: %s, tip: %s, vrednost: %s"
+
+#: ../src/dialogs.py:2161
+#, python-format
+msgid "Order: %s, action: %s"
+msgstr "Redosled: %s, akcija: %s"
+
+#: ../src/dialogs.py:2203
+msgid "<b>Edit a rule</b>"
+msgstr "<b>Izmeni pravilo</b>"
+
+#: ../src/dialogs.py:2290
+msgid "<b>Add a rule</b>"
+msgstr "<b>Dodaj pravilo</b>"
+
+#: ../src/dialogs.py:2386
+#, python-format
+msgid "Privacy Lists for %s"
+msgstr "Lista privatnosti za %s"
+
+#: ../src/dialogs.py:2388
+msgid "Privacy Lists"
+msgstr "Lista privatnosti"
+
+#: ../src/dialogs.py:2458
+msgid "Invalid List Name"
+msgstr "Neispravno ime liste"
+
+#: ../src/dialogs.py:2459
+msgid "You must enter a name to create a privacy list."
+msgstr "Morate uneti ime za kreiranje liste privatnosti"
+
+#: ../src/dialogs.py:2496
+#, fuzzy
+msgid "$Contact has invited you to join a discussion"
+msgstr "$Contact Vas je pozvao na grupni razgovor u sobu %(room_jid)s"
+
+#: ../src/dialogs.py:2498
+#, python-format
+msgid "$Contact has invited you to group chat %(room_jid)s"
+msgstr "$Contact Vas je pozvao na grupni razgovor u sobu %(room_jid)s"
+
+#. only if not None and not ''
+#: ../src/dialogs.py:2510
+#, python-format
+msgid "Comment: %s"
+msgstr "Komentar: %s"
+
+#: ../src/dialogs.py:2576
+msgid "Choose Sound"
+msgstr "Odaberite zvuk"
+
+#: ../src/dialogs.py:2586 ../src/dialogs.py:2634
+msgid "All files"
+msgstr "Sve datoteke"
+
+#: ../src/dialogs.py:2591
+msgid "Wav Sounds"
+msgstr "Wav Zvukovi"
+
+#: ../src/dialogs.py:2624
+msgid "Choose Image"
+msgstr "Odaberite sliku"
+
+#: ../src/dialogs.py:2639
+msgid "Images"
+msgstr "Slike"
+
+#: ../src/dialogs.py:2703
+#, python-format
+msgid "When %s becomes:"
+msgstr "Kad %s postane:"
+
+#: ../src/dialogs.py:2705
+#, python-format
+msgid "Adding Special Notification for %s"
+msgstr "Dodavanje posebnog obaveštenja za %s"
+
+#. # means number
+#: ../src/dialogs.py:2776
+msgid "#"
+msgstr "#"
+
+#: ../src/dialogs.py:2782
+msgid "Condition"
+msgstr "Uslov"
+
+#: ../src/dialogs.py:2900
+msgid "when I am "
+msgstr "kada sam "
+
+#: ../src/disco.py:104
+msgid "Others"
+msgstr "Ostali"
+
+#: ../src/disco.py:105 ../src/disco.py:106 ../src/disco.py:1345
+#: ../src/gajim.py:644 ../src/roster_window.py:282 ../src/roster_window.py:342
+#: ../src/roster_window.py:382 ../src/roster_window.py:490
+#: ../src/roster_window.py:522 ../src/roster_window.py:524
+#: ../src/roster_window.py:4688 ../src/roster_window.py:4690
+#: ../src/common/contacts.py:290 ../src/common/contacts.py:305
+#: ../src/common/helpers.py:44
+msgid "Transports"
+msgstr "Prenosi"
+
+#. conference is a category for listing mostly groupchats in service discovery
+#: ../src/disco.py:108
+msgid "Conference"
+msgstr "Konferencija"
+
+#: ../src/disco.py:421
+msgid "Without a connection, you can not browse available services"
+msgstr "Bez uspostavljene veze, ne možete razgledati dostupne usluge"
+
+#: ../src/disco.py:495
+#, python-format
+msgid "Service Discovery using account %s"
+msgstr "Otkrivanje usluga sa naloga %s"
+
+#: ../src/disco.py:497
+msgid "Service Discovery"
+msgstr "Otkrivanje Usluga"
+
+#: ../src/disco.py:637
+msgid "The service could not be found"
+msgstr "Usluga ne može biti nađena"
+
+#: ../src/disco.py:638
+msgid ""
+"There is no service at the address you entered, or it is not responding. "
+"Check the address and try again."
+msgstr ""
+"Na navedenoj adresi nema usuga, ili nema odgovora. Proverite adresu i "
+"pokušajte ponovo."
+
+#: ../src/disco.py:642 ../src/disco.py:923
+msgid "The service is not browsable"
+msgstr "Usluge nisu pretražive"
+
+#: ../src/disco.py:643
+msgid "This type of service does not contain any items to browse."
+msgstr "Ovaj tip usluge ne sadrži elemente za pretragu"
+
+#: ../src/disco.py:723
+#, python-format
+msgid "Browsing %s using account %s"
+msgstr "Pretraga %s koristeći račun %s"
+
+#: ../src/disco.py:762
+msgid "_Browse"
+msgstr "_Pregled"
+
+#: ../src/disco.py:924
+msgid "This service does not contain any items to browse."
+msgstr "Ova usluga ne sadrži elemente za pretragu"
+
+#: ../src/disco.py:1142
+#, fuzzy
+msgid "_Execute Command"
+msgstr "_Izvrši naredbu..."
+
+#: ../src/disco.py:1152 ../src/disco.py:1350
+msgid "Re_gister"
+msgstr "Re_gistracija"
+
+#: ../src/disco.py:1387
+#, python-format
+msgid "Scanning %d / %d.."
+msgstr "Skeniranje %d / %d.."
+
+#. Users column
+#: ../src/disco.py:1569
+msgid "Users"
+msgstr "Korisnici"
+
+#. Description column
+#: ../src/disco.py:1577
+msgid "Description"
+msgstr "Opis"
+
+#. Id column
+#: ../src/disco.py:1585
+msgid "Id"
+msgstr "Identifikacija"
+
+#: ../src/disco.py:1814
+msgid "Subscribed"
+msgstr "Pretplaćen"
+
+#: ../src/disco.py:1822
+#, fuzzy
+msgid "Node"
+msgstr "Ništa"
+
+#: ../src/disco.py:1879
+msgid "New post"
+msgstr "Nova objava"
+
+#: ../src/disco.py:1885
+msgid "_Subscribe"
+msgstr "_Pretplati se"
+
+#: ../src/disco.py:1891
+msgid "_Unsubscribe"
+msgstr "_Ukini pretplatu"
+
+#: ../src/filetransfers_window.py:72
+msgid "File"
+msgstr "Datoteka"
+
+#: ../src/filetransfers_window.py:87
+msgid "Time"
+msgstr "Vreme"
+
+#: ../src/filetransfers_window.py:99
+msgid "Progress"
+msgstr "Napredak"
+
+#: ../src/filetransfers_window.py:159 ../src/filetransfers_window.py:213
+#, python-format
+msgid "Filename: %s"
+msgstr "Ime datoteke: %s"
+
+#: ../src/filetransfers_window.py:160 ../src/filetransfers_window.py:288
+#, python-format
+msgid "Size: %s"
+msgstr "Veličina: %s"
+
+#. You is a reply of who sent a file
+#. You is a reply of who received a file
+#: ../src/filetransfers_window.py:169 ../src/filetransfers_window.py:179
+#: ../src/history_manager.py:463
+msgid "You"
+msgstr "Vi"
+
+#: ../src/filetransfers_window.py:170
+#, python-format
+msgid "Sender: %s"
+msgstr "Pošaljilac: %s"
+
+#: ../src/filetransfers_window.py:171 ../src/filetransfers_window.py:577
+#: ../src/tooltips.py:586
+msgid "Recipient: "
+msgstr "Primaoc: "
+
+#: ../src/filetransfers_window.py:182
+#, python-format
+msgid "Saved in: %s"
+msgstr "Sačuvano u: %s"
+
+#: ../src/filetransfers_window.py:184
+msgid "File transfer completed"
+msgstr "Prenos datoteke završen"
+
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:204
+msgid "File transfer cancelled"
+msgstr "Prenos datoteke prekinut"
+
+#: ../src/filetransfers_window.py:198 ../src/filetransfers_window.py:205
+msgid "Connection with peer cannot be established."
+msgstr "Nije moguće uspostaviti vezu sa drugom stranom."
+
+#: ../src/filetransfers_window.py:214
+#, python-format
+msgid "Recipient: %s"
+msgstr "Primaoc: %s"
+
+#: ../src/filetransfers_window.py:216
+#, python-format
+msgid "Error message: %s"
+msgstr "Poruka greške: %s"
+
+#: ../src/filetransfers_window.py:217
+msgid "File transfer stopped by the contact at the other end"
+msgstr "Prenos datoteke je zaustavljen od kontakta sa druge strane"
+
+#: ../src/filetransfers_window.py:234
+msgid "Choose File to Send..."
+msgstr "Odaberite datoteku za slanje..."
+
+#: ../src/filetransfers_window.py:253
+msgid "Gajim cannot access this file"
+msgstr "Gajim ne može pristupiti ovoj datoteci"
+
+#: ../src/filetransfers_window.py:254
+msgid "This file is being used by another process."
+msgstr "Ovu datoteku koristi neki drugi proces."
+
+#: ../src/filetransfers_window.py:286
+#, python-format
+msgid "File: %s"
+msgstr "Datoteka: %s"
+
+#: ../src/filetransfers_window.py:291
+#, python-format
+msgid "Type: %s"
+msgstr "Tip: %s"
+
+#: ../src/filetransfers_window.py:293
+#, python-format
+msgid "Description: %s"
+msgstr "Opis: %s"
+
+#: ../src/filetransfers_window.py:294
+#, python-format
+msgid "%s wants to send you a file:"
+msgstr "%s Vam želi poslati datoteku:"
+
+#: ../src/filetransfers_window.py:308 ../src/gtkgui_helpers.py:767
+#, python-format
+msgid "Cannot overwrite existing file \"%s\""
+msgstr "Nije moguće prepisati postojeću datoteku \"%s\""
+
+#: ../src/filetransfers_window.py:309 ../src/gtkgui_helpers.py:769
+msgid ""
+"A file with this name already exists and you do not have permission to "
+"overwrite it."
+msgstr "Datoteka sa ovim imenom već postoji i nemate privilegijaprepisati je."
+
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:773
+msgid "This file already exists"
+msgstr "Ova datoteka već postoji"
+
+#: ../src/filetransfers_window.py:316 ../src/gtkgui_helpers.py:773
+msgid "What do you want to do?"
+msgstr "Šta želite da uradite?"
+
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:783
+#, python-format
+msgid "Directory \"%s\" is not writable"
+msgstr "U fasciklu \"%s\" nije moguće pisanje"
+
+#: ../src/filetransfers_window.py:328 ../src/gtkgui_helpers.py:784
+msgid "You do not have permission to create files in this directory."
+msgstr "Nemate privilegija za pisanje u ovoj fascikli"
+
+#: ../src/filetransfers_window.py:338
+msgid "Save File as..."
+msgstr "Snimi datoteku kao..."
+
+#. Print remaining time in format 00:00:00
+#. You can change the places of (hours), (minutes), (seconds) -
+#. they are not translatable.
+#: ../src/filetransfers_window.py:419
+#, python-format
+msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
+msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d"
+
+#. This should make the string Kb/s,
+#. where 'Kb' part is taken from %s.
+#. Only the 's' after / (which means second) should be translated.
+#: ../src/filetransfers_window.py:508
+#, python-format
+msgid "(%(filesize_unit)s/s)"
+msgstr "(%(filesize_unit)s/sek)"
+
+#: ../src/filetransfers_window.py:547 ../src/filetransfers_window.py:550
+msgid "Invalid File"
+msgstr "Neispravna datoteka"
+
+#: ../src/filetransfers_window.py:547
+msgid "File: "
+msgstr "Datoteka: "
+
+#: ../src/filetransfers_window.py:551
+msgid "It is not possible to send empty files"
+msgstr "Nije moguće poslati praznu datoteku"
+
+#: ../src/filetransfers_window.py:573 ../src/tooltips.py:576
+msgid "Name: "
+msgstr "Ime: "
+
+#: ../src/filetransfers_window.py:575 ../src/tooltips.py:580
+msgid "Sender: "
+msgstr "Pošaljilac: "
+
+#: ../src/filetransfers_window.py:763
+msgid "Pause"
+msgstr "Pauza"
+
+#: ../src/gajim.py:50
+#, python-format
+msgid "%s is not a valid loglevel"
+msgstr ""
+
+#: ../src/gajim.py:143
+msgid "Gajim needs X server to run. Quiting..."
+msgstr "Gajimu treba X server da bi se pokrenuo. Završavam..."
+
+#: ../src/gajim.py:147
+#, fuzzy
+msgid "Gajim needs PyGTK 2.8 or above"
+msgstr "Gajimu treba pyGTK 2.6 ili veća verzija"
+
+#: ../src/gajim.py:148
+#, fuzzy
+msgid "Gajim needs PyGTK 2.8 or above to run. Quiting..."
+msgstr "Gajimu treba pyGTK 2.6 ili veća verzija. Završavam..."
+
+#: ../src/gajim.py:150
+#, fuzzy
+msgid "Gajim needs GTK 2.8 or above"
+msgstr "Gajimu treba pyGTK 2.6 ili veća verzija"
+
+#: ../src/gajim.py:151
+#, fuzzy
+msgid "Gajim needs GTK 2.8 or above to run. Quiting..."
+msgstr "Gajimu treba pyGTK 2.6 ili veća verzija. Završavam..."
+
+#: ../src/gajim.py:156
+msgid "GTK+ runtime is missing libglade support"
+msgstr "GTK+ nema podršku za libglade"
+
+#: ../src/gajim.py:158
+#, python-format
+msgid ""
+"Please remove your current GTK+ runtime and install the latest stable "
+"version from %s"
+msgstr ""
+"Molimo uklonite Vaš trenutni GTK+ i instalirajte poslednju stabilnu verziju "
+"sa %s"
+
+#: ../src/gajim.py:160
+msgid ""
+"Please make sure that GTK+ and PyGTK have libglade support in your system."
+msgstr ""
+"Molimo proverite da GTK+ i PyGTK imaju podršku za libglade na Vašem sistemu"
+
+#: ../src/gajim.py:165
+msgid "Gajim needs PySQLite2 to run"
+msgstr "Gajimu treba PySQLite2 za pokretanje"
+
+#: ../src/gajim.py:173
+msgid "Gajim needs pywin32 to run"
+msgstr "Gajimu treba pywin32 za pokretanje"
+
+#: ../src/gajim.py:174
+#, python-format
+msgid ""
+"Please make sure that Pywin32 is installed on your system. You can get it at "
+"%s"
+msgstr ""
+"Molimo osigurajte se da je Pywin32 instaliran na Vašem sistemu. Možete ga "
+"naći na %s"
+
+#. set the icon to all newly opened wind
+#: ../src/gajim.py:317
+msgid "Gajim is already running"
+msgstr "Gajim je već pokrenut"
+
+#: ../src/gajim.py:318
+msgid ""
+"Another instance of Gajim seems to be running\n"
+"Run anyway?"
+msgstr ""
+"Jedna instanca Gajima izgleda već radi\n"
+"Svejedno želite pokrenuti?"
+
+#: ../src/gajim.py:341 ../src/common/connection_handlers.py:900
+#: ../src/common/connection_handlers.py:1601
+#: ../src/common/connection_handlers.py:1629
+#: ../src/common/connection_handlers.py:1639
+#: ../src/common/connection_handlers.py:1658
+#: ../src/common/connection_handlers.py:1889
+#: ../src/common/connection_handlers.py:2001 ../src/common/connection.py:925
+msgid "Disk Write Error"
+msgstr "Greška pri pisanju na disk"
+
+#: ../src/gajim.py:434
+msgid "Do you accept this request?"
+msgstr "Prihvatate li ovaj zahtev?"
+
+#: ../src/gajim.py:437
+#, python-format
+msgid "HTTP (%s) Authorization for %s (id: %s)"
+msgstr "HTTP (%s) Autorizacija za %s (id: %s)"
+
+#: ../src/gajim.py:484 ../src/notify.py:448
+msgid "Connection Failed"
+msgstr "Veza prekinuta"
+
+#: ../src/gajim.py:817
+#, python-format
+msgid "Subject: %s"
+msgstr "Tema: %s"
+
+#. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time))
+#: ../src/gajim.py:864 ../src/gajim.py:877
+#, python-format
+msgid "error while sending %s ( %s )"
+msgstr "greška prilikom slanja %s ( %s )"
+
+#: ../src/gajim.py:910
+msgid "Authorization accepted"
+msgstr "Autorizacija prihvaćena"
+
+#: ../src/gajim.py:911
+#, python-format
+msgid "The contact \"%s\" has authorized you to see his or her status."
+msgstr "Kontakt \"%s\" je prihvatio da vidite njegov/njen status."
+
+#: ../src/gajim.py:919
+#, python-format
+msgid "Contact \"%s\" removed subscription from you"
+msgstr "Kontakt \"%s\" je ukinuo pretplatu na njega"
+
+#: ../src/gajim.py:920
+msgid "You will always see him or her as offline."
+msgstr "Uvek ćete njega/nju videti kao da nije na vezi."
+
+#: ../src/gajim.py:964
+#, python-format
+msgid "Contact with \"%s\" cannot be established"
+msgstr "Kontakt sa \"%s\" se ne može uspostaviti"
+
+#: ../src/gajim.py:965 ../src/common/connection.py:466
+msgid "Check your connection or try again later."
+msgstr "Proverite Vašu konekciju ili pokušajte kasnije."
+
+#: ../src/gajim.py:1136 ../src/roster_window.py:1348
+#, python-format
+msgid "%s is now %s (%s)"
+msgstr "%s je sada %s (%s)"
+
+#. No status message
+#: ../src/gajim.py:1139 ../src/groupchat_control.py:1101
+#: ../src/roster_window.py:1351
+#, python-format
+msgid "%s is now %s"
+msgstr "%s je sada %s"
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/gajim.py:1259 ../src/groupchat_control.py:913
+msgid "Any occupant is allowed to see your full JID"
+msgstr ""
+
+#: ../src/gajim.py:1261
+msgid "Room now shows unavailable member"
+msgstr ""
+
+#: ../src/gajim.py:1263
+msgid "room now does not show unavailable members"
+msgstr ""
+
+#: ../src/gajim.py:1266
+msgid "A non-privacy-related room configuration change has occurred"
+msgstr ""
+
+#. Can be a presence (see chg_contact_status in groupchat_contol.py)
+#: ../src/gajim.py:1269
+msgid "Room logging is now enabled"
+msgstr ""
+
+#: ../src/gajim.py:1271
+msgid "Room logging is now disabled"
+msgstr ""
+
+#: ../src/gajim.py:1273
+msgid "Room is now non-anonymous"
+msgstr ""
+
+#: ../src/gajim.py:1275
+msgid "Room is now semi-anonymous"
+msgstr ""
+
+#: ../src/gajim.py:1277
+msgid "Room is now fully-anonymous"
+msgstr ""
+
+#: ../src/gajim.py:1308
+#, fuzzy, python-format
+msgid "A Password is required to join the room %s. Please type it"
+msgstr "Lozinka potrebna za pridruživanje ovom grupnom razgovoru."
+
+#: ../src/gajim.py:1338
+msgid "Your passphrase is incorrect"
+msgstr "Vaša lozinka nije tačna"
+
+#: ../src/gajim.py:1339
+msgid "You are currently connected without your OpenPGP key."
+msgstr "Trenutno ste povezani bez OpenPGP ključa."
+
+#: ../src/gajim.py:1443
+#, python-format
+msgid "New mail on %(gmail_mail_address)s"
+msgstr "Novi e-mejl za %(gmail_mail_address)s"
+
+#: ../src/gajim.py:1445
+#, python-format
+msgid "You have %d new mail conversation"
+msgid_plural "You have %d new mail conversations"
+msgstr[0] "Imate %d novi e-mejl razgovor"
+msgstr[1] "Imate %d nova e-mejl razgovora"
+msgstr[2] "Imate %d novih e-mejl razgovora"
+
+#. FIXME: emulate Gtalk client popups. find out what they parse and how
+#. they decide what to show
+#. each message has a 'From', 'Subject' and 'Snippet' field
+#: ../src/gajim.py:1454
+#, python-format
+msgid ""
+"\n"
+"From: %(from_address)s"
+msgstr ""
+"\n"
+"Od: %(from_address)s"
+
+#: ../src/gajim.py:1665
+#, python-format
+msgid "%s wants to send you a file."
+msgstr "%s Vam želi poslati datoteku."
+
+#: ../src/gajim.py:1730
+#, python-format
+msgid "You successfully received %(filename)s from %(name)s."
+msgstr "Uspešno ste primili datoteku %(filename)s od kontakta %(name)s."
+
+#. ft stopped
+#: ../src/gajim.py:1734
+#, python-format
+msgid "File transfer of %(filename)s from %(name)s stopped."
+msgstr "Prenos datoteke %(filename)s od kontakta %(name)s je zaustavljen."
+
+#: ../src/gajim.py:1747
+#, python-format
+msgid "You successfully sent %(filename)s to %(name)s."
+msgstr "Uspešno ste poslali datoteku %(filename)s za kontakt %(name)s"
+
+#. ft stopped
+#: ../src/gajim.py:1751
+#, python-format
+msgid "File transfer of %(filename)s to %(name)s stopped."
+msgstr "Prenos %(filename)s za kontakt %(name)s je zaustavljen. "
+
+#: ../src/gajim.py:1846
+msgid "Session negotiation cancelled"
+msgstr ""
+
+#: ../src/gajim.py:1847
+#, python-format
+msgid "The client at %s cancelled the session negotiation."
+msgstr ""
+
+#: ../src/gajim.py:1887 ../src/gajim.py:1928
+msgid "Confirm these session options"
+msgstr ""
+
+#: ../src/gajim.py:1888
+#, python-format
+msgid ""
+"The remote client wants to negotiate an session with these features:\n"
+"\n"
+"\t%s\n"
+"\n"
+"\tAre these options acceptable?"
+msgstr ""
+
+#: ../src/gajim.py:1929
+#, python-format
+msgid ""
+"The remote client selected these options:\n"
+"\n"
+"%s\n"
+"\n"
+"Continue with the session?"
+msgstr ""
+
+#: ../src/gajim.py:2041
+msgid "Username Conflict"
+msgstr "Konflikt korisničkog imena"
+
+#: ../src/gajim.py:2042
+msgid "Please type a new username for your local account"
+msgstr "Molimo Vas unesite novo korisničko ime za Vaš lokalni nalog"
+
+#: ../src/gajim.py:2059
+msgid "Ping?"
+msgstr ""
+
+#: ../src/gajim.py:2067
+#, python-format
+msgid "Pong! (%s s.)"
+msgstr ""
+
+#: ../src/gajim.py:2073
+msgid "Error."
+msgstr ""
+
+#: ../src/gajim.py:2098
+#, fuzzy
+msgid "Resource Conflict"
+msgstr "Konflikt korisničkog imena"
+
+#: ../src/gajim.py:2099
+msgid ""
+"You are already connected to this account with the same resource. Please "
+"type a new one"
+msgstr ""
+
+#. it is good to notify the user
+#. in case he or she cannot see the output of the console
+#: ../src/gajim.py:2461
+msgid "Could not save your settings and preferences"
+msgstr "Nije moguće čuvanje Vaših podešavanja"
+
+#. sorted alphanum
+#: ../src/gajim.py:2596 ../src/common/config.py:86 ../src/common/config.py:395
+#: ../src/common/optparser.py:194 ../src/common/optparser.py:412
+#: ../src/common/optparser.py:446
+msgid "default"
+msgstr "podrazumevano"
+
+#: ../src/gajim.py:2683
+msgid "Network Manager support not available"
+msgstr "Podrška za upravitelja mreže nije dostupna"
+
+#: ../src/gajim.py:2784
+msgid "Session Management support not available (missing gnome.ui module)"
+msgstr ""
+"Podrška za upravljanje sesijama nije dostupna (nedostaje gnome.ui modul)"
+
+#: ../src/gajim-remote.py:65
+msgid "Shows a help on specific command"
+msgstr "Prikazuje pomoć za određenu naredbu"
+
+#. User gets help for the command, specified by this parameter
+#: ../src/gajim-remote.py:68
+msgid "command"
+msgstr "naredba"
+
+#: ../src/gajim-remote.py:69
+msgid "show help on command"
+msgstr "prikaži pomoć za komandu"
+
+#: ../src/gajim-remote.py:73
+msgid "Shows or hides the roster window"
+msgstr "Prikazuje ili skriva prozor liste kontakata "
+
+#: ../src/gajim-remote.py:77
+msgid "Pops up a window with the next pending event"
+msgstr "Iskače prozor sa sledećim događajem na čekanju"
+
+#: ../src/gajim-remote.py:81
+msgid ""
+"Prints a list of all contacts in the roster. Each contact appears on a "
+"separate line"
+msgstr ""
+"Ispisuje listu svih kontakata sa liste kontakata. Svaki kontakt se "
+"pojavljuje u posebnoj liniji"
+
+#: ../src/gajim-remote.py:84 ../src/gajim-remote.py:99
+#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:122
+#: ../src/gajim-remote.py:136 ../src/gajim-remote.py:145
+#: ../src/gajim-remote.py:166 ../src/gajim-remote.py:196
+#: ../src/gajim-remote.py:205 ../src/gajim-remote.py:212
+#: ../src/gajim-remote.py:219 ../src/gajim-remote.py:230
+#: ../src/gajim-remote.py:246 ../src/gajim-remote.py:255
+msgid "account"
+msgstr "nalog"
+
+#: ../src/gajim-remote.py:84
+msgid "show only contacts of the given account"
+msgstr "prikazuje samo kontakte sa ovog naloga"
+
+#: ../src/gajim-remote.py:90
+msgid "Prints a list of registered accounts"
+msgstr "Ispisuje listu registrovanih naloga"
+
+#: ../src/gajim-remote.py:94
+msgid "Changes the status of account or accounts"
+msgstr "Menja status jednog ili više naloga"
+
+#. offline, online, chat, away, xa, dnd, invisible should not be translated
+#: ../src/gajim-remote.py:97
+msgid "status"
+msgstr "status"
+
+#: ../src/gajim-remote.py:97
+msgid "one of: offline, online, chat, away, xa, dnd, invisible "
+msgstr ""
+"jedno od: nije na vezi, na vezi, priča, odsutan, produženo odsutan, ne "
+"uznemiravaj, nevidljiv"
+
+#: ../src/gajim-remote.py:98 ../src/gajim-remote.py:119
+#: ../src/gajim-remote.py:133 ../src/gajim-remote.py:144
+msgid "message"
+msgstr "poruka"
+
+#: ../src/gajim-remote.py:98
+msgid "status message"
+msgstr "statusna poruka"
+
+#: ../src/gajim-remote.py:99
+msgid ""
+"change status of account \"account\". If not specified, try to change status "
+"of all accounts that have \"sync with global status\" option set"
+msgstr ""
+"izmena statusa naloga \"nalog\". Ako nije određen, pokušaj promene statusa "
+"svih naloga koji imaju uključenu opciju \"sinhronizacija sa globalnim "
+"statusom\""
+
+#: ../src/gajim-remote.py:105
+msgid "Shows the chat dialog so that you can send messages to a contact"
+msgstr "Prikazuje dijalog razgovora kako biste mogli razgovarati sa kontaktom"
+
+#: ../src/gajim-remote.py:107
+msgid "JID of the contact that you want to chat with"
+msgstr "Džaber ID kontakta sa kojim želite razgovarati"
+
+#: ../src/gajim-remote.py:109 ../src/gajim-remote.py:196
+msgid "if specified, contact is taken from the contact list of this account"
+msgstr "ako je naznačeno, kontakt se uzima sa liste kontakata ovog naloga"
+
+#: ../src/gajim-remote.py:114
+msgid ""
+"Sends new chat message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Šalje novu poruku kontaktu na listi, OpenPGP ključ i nalog su opcioni. Ako "
+"želite postaviti samo 'nalog', bez 'OpenPGP ključ', samo postavite 'OpenPGP "
+"ključ' na ''."
+
+#: ../src/gajim-remote.py:118 ../src/gajim-remote.py:131
+msgid "JID of the contact that will receive the message"
+msgstr "Džaber ID kontakta koji će primiti poruku"
+
+#: ../src/gajim-remote.py:119 ../src/gajim-remote.py:133
+#: ../src/gajim-remote.py:144
+msgid "message contents"
+msgstr "sadržaj poruke"
+
+#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
+msgid "pgp key"
+msgstr "pgp ključ"
+
+#: ../src/gajim-remote.py:120 ../src/gajim-remote.py:134
+msgid "if specified, the message will be encrypted using this public key"
+msgstr "ako je naznačeno, poruka će biti šifrovana koristeći ovaj javni ključ"
+
+#: ../src/gajim-remote.py:122 ../src/gajim-remote.py:136
+#: ../src/gajim-remote.py:145
+msgid "if specified, the message will be sent using this account"
+msgstr "ako je naznačeno, poruka će biti poslata koristeći ovaj nalog"
+
+#: ../src/gajim-remote.py:127
+msgid ""
+"Sends new single message to a contact in the roster. Both OpenPGP key and "
+"account are optional. If you want to set only 'account', without 'OpenPGP "
+"key', just set 'OpenPGP key' to ''."
+msgstr ""
+"Šalje novu poruku kontaktu na listi, OpenPGP ključ i nalog su opcioni. Ako "
+"želite postaviti samo 'nalog', bez 'OpenPGP ključ', samo postavite 'OpenPGP "
+"ključ' na ''."
+
+#: ../src/gajim-remote.py:132
+msgid "subject"
+msgstr "tema"
+
+#: ../src/gajim-remote.py:132
+msgid "message subject"
+msgstr "tema poruke"
+
+#: ../src/gajim-remote.py:141
+msgid "Sends new message to a groupchat you've joined."
+msgstr ""
+
+#: ../src/gajim-remote.py:143
+#, fuzzy
+msgid "JID of the room that will receive the message"
+msgstr "Džaber ID kontakta koji će primiti poruku"
+
+#: ../src/gajim-remote.py:150
+msgid "Gets detailed info on a contact"
+msgstr "Daje detaljne informacije o kontaktu"
+
+#: ../src/gajim-remote.py:152 ../src/gajim-remote.py:165
+#: ../src/gajim-remote.py:195 ../src/gajim-remote.py:204
+msgid "JID of the contact"
+msgstr "Džaber ID kontakta"
+
+#: ../src/gajim-remote.py:156
+msgid "Gets detailed info on a account"
+msgstr "Daje detaljne informacije o nalogu"
+
+#: ../src/gajim-remote.py:158
+msgid "Name of the account"
+msgstr "Ime naloga"
+
+#: ../src/gajim-remote.py:162
+msgid "Sends file to a contact"
+msgstr "Å alje datoteku kontaktu"
+
+#: ../src/gajim-remote.py:164
+msgid "file"
+msgstr "datoteka"
+
+#: ../src/gajim-remote.py:164
+msgid "File path"
+msgstr "Putanja do datoteke"
+
+#: ../src/gajim-remote.py:166
+msgid "if specified, file will be sent using this account"
+msgstr "ako je naznačeno, datoteka će biti poslata koriteći ovaj nalog"
+
+#: ../src/gajim-remote.py:171
+msgid "Lists all preferences and their values"
+msgstr "Prikazuje sva podešavanja i njihove vrednosti"
+
+#: ../src/gajim-remote.py:175
+msgid "Sets value of 'key' to 'value'."
+msgstr "Postavlja vrednost 'ključa' na 'vrednost'."
+
+#: ../src/gajim-remote.py:177
+msgid "key=value"
+msgstr "ključ=vrednost"
+
+#: ../src/gajim-remote.py:177
+msgid "'key' is the name of the preference, 'value' is the value to set it to"
+msgstr ""
+"'ključ' je ime stavke podešavanja, 'vrednost' je vrednost na koju će se "
+"stavka postaviti"
+
+#: ../src/gajim-remote.py:182
+msgid "Deletes a preference item"
+msgstr "Briše stavku podešavanja"
+
+#: ../src/gajim-remote.py:184
+msgid "key"
+msgstr "ključ"
+
+#: ../src/gajim-remote.py:184
+msgid "name of the preference to be deleted"
+msgstr "ime stavke podešavanja koje će se brisati"
+
+#: ../src/gajim-remote.py:188
+msgid "Writes the current state of Gajim preferences to the .config file"
+msgstr "Zapisuje trenutno stanje Gajim podešavanja u .config datoteku"
+
+#: ../src/gajim-remote.py:193
+msgid "Removes contact from roster"
+msgstr "Uklanja kontakt sa liste"
+
+#: ../src/gajim-remote.py:202
+msgid "Adds contact to roster"
+msgstr "Dodaje kontakt na listu"
+
+#: ../src/gajim-remote.py:204
+msgid "jid"
+msgstr "džid"
+
+#: ../src/gajim-remote.py:205
+msgid "Adds new contact to this account"
+msgstr "Dodaje novi kontakt ovom računu"
+
+#: ../src/gajim-remote.py:210
+msgid "Returns current status (the global one unless account is specified)"
+msgstr "Vraća trenutni status (globalni ako nije naznačen nalog)"
+
+#: ../src/gajim-remote.py:217
+msgid ""
+"Returns current status message(the global one unless account is specified)"
+msgstr "Vraća trenutnu statusnu poruku (globalnu ako nije naznačen nalog)"
+
+#: ../src/gajim-remote.py:224
+msgid "Returns number of unread messages"
+msgstr "Vraća broj nepročitanih poruka"
+
+#: ../src/gajim-remote.py:228
+msgid "Opens 'Start Chat' dialog"
+msgstr "Otvara dijalog za započinjanje razgovora"
+
+#: ../src/gajim-remote.py:230
+msgid "Starts chat, using this account"
+msgstr "Započinje razgovor, koristeći ovaj nalog"
+
+#: ../src/gajim-remote.py:234
+msgid "Sends custom XML"
+msgstr "Šalje korisnički definisan XML"
+
+#: ../src/gajim-remote.py:236
+msgid "XML to send"
+msgstr "XML za slanje"
+
+#: ../src/gajim-remote.py:237
+msgid ""
+"Account in which the xml will be sent; if not specified, xml will be sent to "
+"all accounts"
+msgstr ""
+"Nalog za koji će biti poslan xml ; ako nije određen, xml će biti poslat za "
+"sve naloge"
+
+#: ../src/gajim-remote.py:243
+msgid "Handle a xmpp:/ uri"
+msgstr "Rukuj sa xmpp:/ uri-jem"
+
+#: ../src/gajim-remote.py:245
+msgid "uri"
+msgstr "uri"
+
+#: ../src/gajim-remote.py:250
+msgid "Join a MUC room"
+msgstr "_Pridruži se novoj MUC sobi"
+
+#: ../src/gajim-remote.py:252
+msgid "room"
+msgstr "soba"
+
+#: ../src/gajim-remote.py:253
+msgid "nick"
+msgstr "nadimak"
+
+#: ../src/gajim-remote.py:254
+msgid "password"
+msgstr "Lozinka"
+
+#: ../src/gajim-remote.py:277
+msgid "Missing argument \"contact_jid\""
+msgstr "Nedostaje argument \"contact_jid\""
+
+#: ../src/gajim-remote.py:296
+#, python-format
+msgid ""
+"'%s' is not in your roster.\n"
+"Please specify account for sending the message."
+msgstr ""
+"'%s' nije na Vašj listi.\n"
+"Molimo odredite nalog za slanje poruke."
+
+#: ../src/gajim-remote.py:299
+msgid "You have no active account"
+msgstr "nemate aktivnih računa"
+
+#: ../src/gajim-remote.py:363
+#, python-format
+msgid ""
+"Usage: %s %s %s \n"
+"\t %s"
+msgstr ""
+"Korišćenje: %s %s %s \n"
+"\t %s"
+
+#: ../src/gajim-remote.py:366
+msgid "Arguments:"
+msgstr "Argumenti:"
+
+#: ../src/gajim-remote.py:370
+#, python-format
+msgid "%s not found"
+msgstr "%s nije pronađen"
+
+#: ../src/gajim-remote.py:374
+#, python-format
+msgid ""
+"Usage: %s command [arguments]\n"
+"Command is one of:\n"
+msgstr ""
+"Korišćenje: %s naredba [argumenti]\n"
+"Naredba je jedna od:\n"
+
+#: ../src/gajim-remote.py:447
+#, python-format
+msgid ""
+"Too many arguments. \n"
+"Type \"%s help %s\" for more info"
+msgstr ""
+"Previše argumenata. \n"
+"Ukucajte \"%s help %s\" za više informacija"
+
+#: ../src/gajim-remote.py:451
+#, python-format
+msgid ""
+"Argument \"%s\" is not specified. \n"
+"Type \"%s help %s\" for more info"
+msgstr ""
+"Argument \"%s\" nije naveden. \n"
+"Ukucajte \"%s help %s\" za više informacija"
+
+#: ../src/gajim-remote.py:469
+msgid "Wrong uri"
+msgstr "Loš uri"
+
+#: ../src/gajim_themes_window.py:62
+msgid "Theme"
+msgstr "Tema"
+
+#: ../src/gajim_themes_window.py:100
+#, fuzzy
+msgid "You cannot make changes to the default theme"
+msgstr "Ne možete izbrisati Vašu trenutnu temu"
+
+#: ../src/gajim_themes_window.py:101
+msgid "Please create a clean new theme with your desired name."
+msgstr ""
+
+#. don't confuse translators
+#: ../src/gajim_themes_window.py:175
+msgid "theme name"
+msgstr "ime teme"
+
+#: ../src/gajim_themes_window.py:192
+msgid "You cannot delete your current theme"
+msgstr "Ne možete izbrisati Vašu trenutnu temu"
+
+#: ../src/gajim_themes_window.py:193
+msgid "Please first choose another for your current theme."
+msgstr "Molimo Vas da prvo odaberete neku drugu temu."
+
+#: ../src/groupchat_control.py:134
+msgid "Sending private message failed"
+msgstr "Neuspešno slanje privatne poruke"
+
+#. in second %s code replaces with nickname
+#: ../src/groupchat_control.py:136
+#, python-format
+msgid "You are no longer in group chat \"%s\" or \"%s\" has left."
+msgstr "Više niste u grupnom razgovoru \"%s\" ili je \"%s\" otišao."
+
+#: ../src/groupchat_control.py:342
+msgid "Insert Nickname"
+msgstr "Ubaci nadimak"
+
+#. Can be a message (see handle_event_gc_config_change in gajim.py)
+#: ../src/groupchat_control.py:916
+msgid "Room logging is enabled"
+msgstr ""
+
+#: ../src/groupchat_control.py:918
+#, fuzzy
+msgid "A new room has been created"
+msgstr "Vaš novi nalog je uspešno napravljen"
+
+#: ../src/groupchat_control.py:921
+msgid "The server has assigned or modified your roomnick"
+msgstr ""
+
+#. do not print 'kicked by None'
+#: ../src/groupchat_control.py:927
+#, python-format
+msgid "%(nick)s has been kicked: %(reason)s"
+msgstr "%(nick)s je izbačen: %(reason)s"
+
+#: ../src/groupchat_control.py:931
+#, python-format
+msgid "%(nick)s has been kicked by %(who)s: %(reason)s"
+msgstr "%(nick)s je izbačen od strane %(who)s: %(reason)s"
+
+#. do not print 'banned by None'
+#: ../src/groupchat_control.py:938
+#, python-format
+msgid "%(nick)s has been banned: %(reason)s"
+msgstr "%(nick)s ima zabranu: %(reason)s"
+
+#: ../src/groupchat_control.py:942
+#, python-format
+msgid "%(nick)s has been banned by %(who)s: %(reason)s"
+msgstr "%(nick)s ima zabranu od člana %(who)s: %(reason)s"
+
+#. Someone changed his or her nick
+#. We changed our nick
+#: ../src/groupchat_control.py:949
+#, python-format
+msgid "You are now known as %s"
+msgstr "Od sada ste poznati kao %s"
+
+#: ../src/groupchat_control.py:951
+#, python-format
+msgid "%s is now known as %s"
+msgstr "%s je od sada poznat kao %s"
+
+#: ../src/groupchat_control.py:984 ../src/groupchat_control.py:988
+#: ../src/groupchat_control.py:993
+#, fuzzy, python-format
+msgid "%(nick)s has been removed from the room (%(reason)s)"
+msgstr "%(nick)s je izbačen od strane %(who)s: %(reason)s"
+
+#: ../src/groupchat_control.py:985
+#, fuzzy
+msgid "affiliation changed"
+msgstr "Pripadnost:"
+
+#: ../src/groupchat_control.py:990
+msgid "room configuration changed to members-only"
+msgstr ""
+
+#: ../src/groupchat_control.py:995
+msgid "system shutdown"
+msgstr ""
+
+#: ../src/groupchat_control.py:1094
+#, python-format
+msgid "%s has left"
+msgstr "%s je otišao"
+
+#: ../src/groupchat_control.py:1099
+#, python-format
+msgid "%s has joined the group chat"
+msgstr "%s se pridružio grupnom razgovoru"
+
+#. Invalid Nickname
+#. invalid char
+#: ../src/groupchat_control.py:1212 ../src/groupchat_control.py:1491
+msgid "Invalid nickname"
+msgstr "Neispravan nadimak"
+
+#: ../src/groupchat_control.py:1213 ../src/groupchat_control.py:1492
+msgid "The nickname has not allowed characters."
+msgstr "Nadimak ima nedozvoljene znake."
+
+#: ../src/groupchat_control.py:1236 ../src/groupchat_control.py:1254
+#: ../src/groupchat_control.py:1338 ../src/groupchat_control.py:1355
+#, python-format
+msgid "Nickname not found: %s"
+msgstr "Nadimak nije pronađen: %s "
+
+#: ../src/groupchat_control.py:1270
+msgid "This group chat has no subject"
+msgstr "Ovaj grupni razgovor nema temu"
+
+#: ../src/groupchat_control.py:1281
+#, python-format
+msgid "Invited %(contact_jid)s to %(room_jid)s."
+msgstr "Pozvali ste %(contact_jid)s u sobu %(room_jid)s"
+
+#: ../src/groupchat_control.py:1418
+#, python-format
+msgid ""
+"Usage: /%s <nickname|JID> [reason], bans the JID from the group chat. The "
+"nickname of an occupant may be substituted, but not if it contains \"@\". If "
+"the JID is currently in the group chat, he/she/it will also be kicked. Does "
+"NOT support spaces in nickname."
+msgstr ""
+"Korišćenje: /%s <nadimak|džid> [razlog], zabranjuje pristup DŽID-u u sobu. "
+"Nadimak učesnika može biti zamenjen, ali ne i ako sadrži \"@\". Ako je "
+"Džaber ID trenutno u sobi, on/ona će biti izbačen(a). Razmaci u imenima NISU "
+"podržani."
+
+#: ../src/groupchat_control.py:1425
+#, python-format
+msgid ""
+"Usage: /%s <nickname>, opens a private chat window with the specified "
+"occupant."
+msgstr ""
+"Način korišćenja: /%s <nadimak>, otvara prozor privatnog razgovor sa  "
+"navedenim učesnikom"
+
+#: ../src/groupchat_control.py:1431
+#, python-format
+msgid ""
+"Usage: /%s [reason], closes the current window or tab, displaying reason if "
+"specified."
+msgstr ""
+"Način korišćenja: /%s [razlog], zatvara trenutni prozor ili jezičak, i "
+"prikazuje razlog ako je naznačen."
+
+#: ../src/groupchat_control.py:1437
+#, python-format
+msgid ""
+"Usage: /%s <JID> [reason], invites JID to the current group chat, optionally "
+"providing a reason."
+msgstr ""
+"Način korišćenja: /%s DŽID> [razlog], poziva Džaber ID u trenutni grupni "
+"razgovor, opciono dajući razlog."
+
+#: ../src/groupchat_control.py:1441
+#, python-format
+msgid ""
+"Usage: /%s <room>@<server>[/nickname], offers to join room@server optionally "
+"using specified nickname."
+msgstr ""
+"Način korišćenja: /%s <soba>@<server>[/nadimak], nudi mogućnost spajanja na "
+"soba@server koristeći navedeni nadimak."
+
+#: ../src/groupchat_control.py:1445
+#, python-format
+msgid ""
+"Usage: /%s <nickname> [reason], removes the occupant specified by nickname "
+"from the group chat and optionally displays a reason. Does NOT support "
+"spaces in nickname."
+msgstr ""
+"Način korišćenja: /%s <nadimak> [razlog], uklanja učesnika sa zadatim "
+"nadimkom iz grupnog razgovora i opciono prikazuje razlog. NE podržava blanko "
+"znakove u nadimku."
+
+#: ../src/groupchat_control.py:1454
+#, python-format
+msgid ""
+"Usage: /%s <nickname> [message], opens a private message window and sends "
+"message to the occupant specified by nickname."
+msgstr ""
+"Način korišćenja: /%s <nadimak> [poruka], otvara prozor privatne poruke i "
+"šalje poruku učesniku zadatim sa nadimkom."
+
+#: ../src/groupchat_control.py:1459
+#, python-format
+msgid "Usage: /%s <nickname>, changes your nickname in current group chat."
+msgstr ""
+"Način korišćenja: /%s <nadimak>, menja Vaš nadimak u trenutnom grupnom "
+"razgovoru."
+
+#: ../src/groupchat_control.py:1463
+#, python-format
+msgid "Usage: /%s , display the names of group chat occupants."
+msgstr "Način korišćenja: /%s , prikazuje imena učesnika u grupnom razgovoru."
+
+#: ../src/groupchat_control.py:1467
+#, python-format
+msgid "Usage: /%s [topic], displays or updates the current group chat topic."
+msgstr ""
+"Način korišćenja: /%s [tema], prikazuje ili ažurira temu grupnog razgovora."
+
+#: ../src/groupchat_control.py:1470
+#, python-format
+msgid ""
+"Usage: /%s <message>, sends a message without looking for other commands."
+msgstr ""
+"Način korišćenja: /%s <poruka>, šalje poruku ne gledajući ostale komande."
+
+#: ../src/groupchat_control.py:1565
+#, python-format
+msgid "Are you sure you want to leave group chat \"%s\"?"
+msgstr "Jeste li sigurni da želite napustiti grupni razgovor \"%s\"?"
+
+#: ../src/groupchat_control.py:1567
+msgid ""
+"If you close this window, you will be disconnected from this group chat."
+msgstr ""
+"Ako zatvorite ovaj prozor, bićete isključeni sa ovoh grupnog razgovora."
+
+#: ../src/groupchat_control.py:1571 ../src/roster_window.py:4836
+msgid "Do _not ask me again"
+msgstr "_Ne pitaj me više"
+
+#: ../src/groupchat_control.py:1605
+msgid "Changing Subject"
+msgstr "Promena Teme"
+
+#: ../src/groupchat_control.py:1606
+msgid "Please specify the new subject:"
+msgstr "Molimo odredite novu temu:"
+
+#: ../src/groupchat_control.py:1615
+msgid "Changing Nickname"
+msgstr "Promena nadimka"
+
+#: ../src/groupchat_control.py:1616
+msgid "Please specify the new nickname you want to use:"
+msgstr "Molimo odredite novi nadimak koji želite da koristite:"
+
+#. Ask for a reason
+#: ../src/groupchat_control.py:1631
+#, fuzzy, python-format
+msgid "Destroying %s"
+msgstr "Opis: %s"
+
+#: ../src/groupchat_control.py:1632
+msgid ""
+"You are going to definitively destroy this room.\n"
+"You may specify a reason below:"
+msgstr ""
+
+#: ../src/groupchat_control.py:1634
+msgid "You may also enter an alternate venue:"
+msgstr ""
+
+#: ../src/groupchat_control.py:1665
+msgid "Bookmark already set"
+msgstr "Marker je već postavljen"
+
+#: ../src/groupchat_control.py:1666
+#, python-format
+msgid "Group Chat \"%s\" is already in your bookmarks."
+msgstr "Grupni razgovor \"%s\" je već markiran."
+
+#: ../src/groupchat_control.py:1675
+msgid "Bookmark has been added successfully"
+msgstr "Marker uspešno dodat"
+
+#: ../src/groupchat_control.py:1676
+msgid "You can manage your bookmarks via Actions menu in your roster."
+msgstr ""
+"Možete upravljati Vašim markerima pomoću menija Akcije iz Vaše liste "
+"kontakata."
+
+#. ask for reason
+#: ../src/groupchat_control.py:1828
+#, python-format
+msgid "Kicking %s"
+msgstr "Izbacujem %s"
+
+#: ../src/groupchat_control.py:1829 ../src/groupchat_control.py:2129
+msgid "You may specify a reason below:"
+msgstr "Možete navesti razlog ispod:"
+
+#. ask for reason
+#: ../src/groupchat_control.py:2128
+#, python-format
+msgid "Banning %s"
+msgstr "Zabranjujem %s"
+
+#: ../src/gtkexcepthook.py:41
+msgid "A programming error has been detected"
+msgstr "Programska greška je otkrivena"
+
+#: ../src/gtkexcepthook.py:42
+msgid ""
+"It probably is not fatal, but should be reported to the developers "
+"nonetheless."
+msgstr "Najverovatnije nije ništa strašno, ali je ipak javite programerima."
+
+#: ../src/gtkexcepthook.py:48
+msgid "_Report Bug"
+msgstr "_Prijavi grešku"
+
+#: ../src/gtkexcepthook.py:71
+msgid "Details"
+msgstr "Detalji"
+
+#. we talk about file
+#: ../src/gtkgui_helpers.py:157 ../src/gtkgui_helpers.py:172
+#, python-format
+msgid "Error: cannot open %s for reading"
+msgstr "Greška: nije moguće otvoriti %s za čitanje"
+
+#: ../src/gtkgui_helpers.py:337
+msgid "Error reading file:"
+msgstr "Greška pri čitanju datoteke:"
+
+#: ../src/gtkgui_helpers.py:340
+msgid "Error parsing file:"
+msgstr "Greška pri učitavanju datoteke"
+
+#. do not traceback (could be a permission problem)
+#. we talk about a file here
+#: ../src/gtkgui_helpers.py:377
+#, python-format
+msgid "Could not write to %s. Session Management support will not work"
+msgstr "Nije moguće pisati u %s. Upravljanje sesijama neće biti moguće"
+
+#. xmpp: is currently handled by another program, so ask the user
+#: ../src/gtkgui_helpers.py:711
+msgid "Gajim is not the default Jabber client"
+msgstr "Gajim nije podrazumevani Džaber klijent"
+
+#: ../src/gtkgui_helpers.py:712
+msgid "Would you like to make Gajim the default Jabber client?"
+msgstr "Da li biste želeli da Gajim bude podrazumevani Gajim klijent?"
+
+#: ../src/gtkgui_helpers.py:713
+msgid "Always check to see if Gajim is the default Jabber client on startup"
+msgstr ""
+"Uvek proveravaj da li je Gajim podrazumevani Džaber klijent po pokretanju"
+
+#: ../src/gtkgui_helpers.py:812
+msgid "Extension not supported"
+msgstr "Ekstenzija nije podržana"
+
+#: ../src/gtkgui_helpers.py:813
+#, python-format
+msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?"
+msgstr ""
+"Sliku nije moguće sačuvati u %(type)s formatu. Sačuvati kao %(new_filename)s?"
+
+#: ../src/gtkgui_helpers.py:822
+msgid "Save Image as..."
+msgstr "Snimi sliku kao..."
+
+#: ../src/history_manager.py:68
+msgid "Cannot find history logs database"
+msgstr "Nije moguće pronaći dnevnik istorijata baze podataka"
+
+#. holds jid
+#: ../src/history_manager.py:108
+msgid "Contacts"
+msgstr "Kontakti"
+
+#. holds time
+#: ../src/history_manager.py:121 ../src/history_manager.py:161
+#: ../src/history_window.py:116
+msgid "Date"
+msgstr "Datum"
+
+#. holds nickname
+#: ../src/history_manager.py:127 ../src/history_manager.py:179
+msgid "Nickname"
+msgstr "Nadimak"
+
+#. holds message
+#: ../src/history_manager.py:135 ../src/history_manager.py:167
+#: ../src/history_window.py:124
+msgid "Message"
+msgstr "Poruka"
+
+#: ../src/history_manager.py:187
+msgid ""
+"Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS "
+"RUNNING)"
+msgstr ""
+"Želite li počistiti bazu podataka? (NE PREPORUČUJE SE AKO JE GAJIM POKRENUT)"
+
+#: ../src/history_manager.py:189
+msgid ""
+"Normally allocated database size will not be freed, it will just become "
+"reusable. If you really want to reduce database filesize, click YES, else "
+"click NO.\n"
+"\n"
+"In case you click YES, please wait..."
+msgstr ""
+"Normalno, veličina alociranog prostora neće biti oslobođena,samo će postati "
+"ponovo koristiva. Ukoliko zaista želite smanjiti veličinu baze podataka "
+"pritisnite Da, inače pritisnite Ne.\n"
+"\n"
+"Ukoliko pritisnite Da, molimo sačekajte..."
+
+#: ../src/history_manager.py:401
+msgid "Exporting History Logs..."
+msgstr "Izvoženje dnevnika istorijata..."
+
+#: ../src/history_manager.py:476
+#, python-format
+msgid "%(who)s on %(time)s said: %(message)s\n"
+msgstr "%(who)s u %(time)s kaže: %(message)s\n"
+
+#: ../src/history_manager.py:514
+msgid "Do you really want to delete logs of the selected contact?"
+msgid_plural "Do you really want to delete logs of the selected contacts?"
+msgstr[0] "Da li zaista želite izbrisati dnevnik razgovora označenog kontakta?"
+msgstr[1] ""
+"Da li zaista želite izbrisati dnevnike razgovora označenih kontakata?"
+msgstr[2] ""
+"Da li zaista želite izbrisati dnevnike razgovora označenih kontakata?"
+
+#: ../src/history_manager.py:518 ../src/history_manager.py:554
+msgid "This is an irreversible operation."
+msgstr "Ova operacija je nepovratna."
+
+#: ../src/history_manager.py:551
+msgid "Do you really want to delete the selected message?"
+msgid_plural "Do you really want to delete the selected messages?"
+msgstr[0] "Da li zaista želite da izbrišete označenu poruku?"
+msgstr[1] "Da li zaista želite da izbrišete označene poruke?"
+msgstr[2] "Da li zaista želite da izbrišete označene poruke?"
+
+#: ../src/history_window.py:185 ../src/history_window.py:187
+#, python-format
+msgid "Conversation History with %s"
+msgstr "Istorijat razgovora sa %s"
+
+#: ../src/history_window.py:332
+#, python-format
+msgid "%(nick)s is now %(status)s: %(status_msg)s"
+msgstr "%(nick)s je trenutno %(status)s: %(status_msg)s"
+
+#: ../src/history_window.py:336 ../src/notify.py:206
+#, python-format
+msgid "%(nick)s is now %(status)s"
+msgstr "%(nick)s je trenutno %(status)s"
+
+#: ../src/history_window.py:342
+#, python-format
+msgid "Status is now: %(status)s: %(status_msg)s"
+msgstr "Status je trenutno: %(status)s: %(status_msg)s"
+
+#: ../src/history_window.py:345
+#, python-format
+msgid "Status is now: %(status)s"
+msgstr "Status je trenutno: %(status)s"
+
+#: ../src/htmltextview.py:583 ../src/htmltextview.py:594
+msgid "Timeout loading image"
+msgstr "Isteklo vreme za učitavanje slike"
+
+#: ../src/htmltextview.py:604
+msgid "Image is too big"
+msgstr "Slika je prevelika"
+
+#: ../src/message_window.py:288
+msgid "Chats"
+msgstr "Razgovori"
+
+#: ../src/message_window.py:290
+msgid "Group Chats"
+msgstr "Grupni razgovori"
+
+#: ../src/message_window.py:292
+msgid "Private Chats"
+msgstr "Privatni Razgovori"
+
+#: ../src/message_window.py:294
+msgid "Messages"
+msgstr "Poruke"
+
+#: ../src/message_window.py:295
+#, python-format
+msgid "%s - Gajim"
+msgstr "%s - Gajim"
+
+#: ../src/notify.py:204
+#, python-format
+msgid "%(nick)s Changed Status"
+msgstr "%(nick)s je promenio status"
+
+#: ../src/notify.py:214
+#, python-format
+msgid "%(nickname)s Signed In"
+msgstr "%(nickname)s je na vezi"
+
+#: ../src/notify.py:222
+#, python-format
+msgid "%(nickname)s Signed Out"
+msgstr "%(nickname)s je otišao"
+
+#: ../src/notify.py:234
+#, python-format
+msgid "New Single Message from %(nickname)s"
+msgstr "Nova samostalna poruka od kontakta %(nickname)s"
+
+#: ../src/notify.py:242
+#, python-format
+msgid "New Private Message from group chat %s"
+msgstr "Nova privatna poruka sa grupnog razgovora %s"
+
+#: ../src/notify.py:244
+#, python-format
+msgid "%(nickname)s: %(message)s"
+msgstr "%(nickname)s: %(message)s"
+
+#: ../src/notify.py:247
+#, fuzzy, python-format
+msgid "Messaged by %(nickname)s"
+msgstr "Nova poruka od %(nickname)s"
+
+#: ../src/notify.py:253
+#, python-format
+msgid "New Message from %(nickname)s"
+msgstr "Nova poruka od %(nickname)s"
+
+#: ../src/profile_window.py:72
+msgid "Retrieving profile..."
+msgstr "Dohvatanje profila..."
+
+#: ../src/profile_window.py:123 ../src/roster_window.py:1882
+#, fuzzy
+msgid "File is empty"
+msgstr "Putanja do datoteke"
+
+#: ../src/profile_window.py:126 ../src/roster_window.py:1885
+#, fuzzy
+msgid "File does not exist"
+msgstr "Ne postoji ovakav grupni razgovor."
+
+#. keep identation
+#. unknown format
+#: ../src/profile_window.py:140 ../src/profile_window.py:156
+#: ../src/roster_window.py:1887 ../src/roster_window.py:1898
+msgid "Could not load image"
+msgstr "Ne mogu učitati sliku"
+
+#: ../src/profile_window.py:257
+msgid "Information received"
+msgstr "Informacije primljene"
+
+#: ../src/profile_window.py:326
+msgid "Without a connection you can not publish your contact information."
+msgstr "Ako niste na vezi, ne možete objaviti Baše informacije"
+
+#: ../src/profile_window.py:338
+msgid "Sending profile..."
+msgstr "Slanje profila..."
+
+#: ../src/profile_window.py:353
+msgid "Information NOT published"
+msgstr "Informacije NISU objavljene"
+
+#: ../src/profile_window.py:360
+msgid "vCard publication failed"
+msgstr "Publikacija vCard neuspela"
+
+#: ../src/profile_window.py:361
+msgid ""
+"There was an error while publishing your personal information, try again "
+"later."
+msgstr ""
+"Nastala je greška prilikom objavljivanja Vaših ličnih informacija, pokušajte "
+"ponovo kasnije."
+
+#: ../src/roster_window.py:182 ../src/roster_window.py:237
+msgid "Merged accounts"
+msgstr "Spojeni nalozi"
+
+#: ../src/roster_window.py:357 ../src/roster_window.py:622
+#: ../src/roster_window.py:2110 ../src/common/contacts.py:307
+#: ../src/common/helpers.py:44
+msgid "Observers"
+msgstr "Posmatrači"
+
+#. Make special context menu if group is Groupchats
+#: ../src/roster_window.py:441 ../src/roster_window.py:446
+#: ../src/roster_window.py:1935 ../src/roster_window.py:1938
+#: ../src/roster_window.py:2607 ../src/roster_window.py:2610
+#: ../src/roster_window.py:2635 ../src/roster_window.py:4696
+#: ../src/roster_window.py:4698 ../src/common/commands.py:194
+#: ../src/common/contacts.py:97 ../src/common/helpers.py:44
+msgid "Groupchats"
+msgstr "Grupni razgovori"
+
+#: ../src/roster_window.py:771 ../src/roster_window.py:3952
+msgid "You cannot join a group chat while you are invisible"
+msgstr "Nemoguće je pristupiti grupnom razgovoru ako ste nevidljivi"
+
+#. new chat
+#. single message
+#. for chat_with
+#. for single message
+#. join gc
+#: ../src/roster_window.py:984 ../src/roster_window.py:994
+#: ../src/roster_window.py:1003 ../src/systray.py:207 ../src/systray.py:212
+#: ../src/systray.py:218
+#, python-format
+msgid "using account %s"
+msgstr "koristeći račun %s"
+
+#. add
+#: ../src/roster_window.py:1010
+#, python-format
+msgid "to %s account"
+msgstr "na %s nalog"
+
+#. disco
+#: ../src/roster_window.py:1015
+#, python-format
+msgid "using %s account"
+msgstr "koristeći %s račun"
+
+#: ../src/roster_window.py:1096
+msgid "_Manage Bookmarks..."
+msgstr "Upravljanje _markerima..."
+
+#. profile, avatar
+#: ../src/roster_window.py:1115
+#, python-format
+msgid "of account %s"
+msgstr "naloga %s"
+
+#: ../src/roster_window.py:1155
+#, python-format
+msgid "for account %s"
+msgstr "za nalog %s"
+
+#. History manager
+#: ../src/roster_window.py:1176
+msgid "History Manager"
+msgstr "Upravnik istorijatom"
+
+#: ../src/roster_window.py:1185
+msgid "_Join New Group Chat"
+msgstr "_Pridruživanje novom grupnom razgovoru"
+
+#: ../src/roster_window.py:1544 ../src/roster_window.py:4150
+#: ../src/roster_window.py:4157
+msgid "You have unread messages"
+msgstr "Imate nepročitanih poruka"
+
+#: ../src/roster_window.py:1545
+msgid "You must read them before removing this transport."
+msgstr "Morate ih pročitati pre uklanjanja ovog transporta."
+
+#: ../src/roster_window.py:1548
+#, python-format
+msgid "Transport \"%s\" will be removed"
+msgstr "Transport \"%s\" će biti uklonjen"
+
+#: ../src/roster_window.py:1549
+msgid ""
+"You will no longer be able to send and receive messages from contacts using "
+"this transport."
+msgstr ""
+"Nećete više biti u mogućnosti da razmenjujete poruke od kontakata sa ovog "
+"transporta."
+
+#: ../src/roster_window.py:1552
+msgid "Transports will be removed"
+msgstr "Transport će biti uklonjen"
+
+#: ../src/roster_window.py:1557
+#, python-format
+msgid ""
+"You will no longer be able to send and receive messages to contacts from "
+"these transports:%s"
+msgstr ""
+"Nećete više biti u mogućnosti da razmenjujete poruke sa kontkatima sa ovog "
+"transporta:%s"
+
+#. it's jid
+#: ../src/roster_window.py:1723
+msgid "Rename Contact"
+msgstr "Preimenuj kontakt"
+
+#: ../src/roster_window.py:1724
+#, python-format
+msgid "Enter a new nickname for contact %s"
+msgstr "Unesite novi nadimak za kontakt %s"
+
+#: ../src/roster_window.py:1731
+msgid "Rename Group"
+msgstr "Preimenuj grupu"
+
+#: ../src/roster_window.py:1732
+#, python-format
+msgid "Enter a new name for group %s"
+msgstr "Unesite novo ime za grupu %s"
+
+#: ../src/roster_window.py:1807
+msgid "Remove Group"
+msgstr "Ukloni grupu"
+
+#: ../src/roster_window.py:1808
+#, python-format
+msgid "Do you want to remove group %s from the roster?"
+msgstr "Želite li ukloniti grupu %s sa liste kontakata?"
+
+#: ../src/roster_window.py:1809
+msgid "Remove also all contacts in this group from your roster"
+msgstr "Ujedno ukloni i sve kontakte iz ove grupe iz liste kontakata"
+
+#: ../src/roster_window.py:1840
+msgid "Assign OpenPGP Key"
+msgstr "Pridruži OpenPGP Ključ"
+
+#: ../src/roster_window.py:1841
+msgid "Select a key to apply to the contact"
+msgstr "Odaberite ključ za pridruživanje kontaktu"
+
+#: ../src/roster_window.py:2156
+#, fuzzy
+msgid "_New Group Chat"
+msgstr "Novi grupni razgovor"
+
+#: ../src/roster_window.py:2298
+msgid "I would like to add you to my roster"
+msgstr "Želeo bih Vas dodati na moju listu kontakata"
+
+#. Send Group Message
+#: ../src/roster_window.py:2432 ../src/roster_window.py:2644
+msgid "Send Group M_essage"
+msgstr "P_ošalji grupnu poruku"
+
+#: ../src/roster_window.py:2451
+msgid "_New group chat"
+msgstr "_Novi grupni razgovor"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2489
+#, fuzzy
+msgid "_Manage Contacts"
+msgstr "Preimenuj kontakt"
+
+#: ../src/roster_window.py:2550
+msgid "_Maximize"
+msgstr ""
+
+#: ../src/roster_window.py:2557
+#, fuzzy
+msgid "_Disconnect"
+msgstr "Kontakt Otišao Sa Veze"
+
+#: ../src/roster_window.py:2636
+msgid "_Maximize All"
+msgstr ""
+
+#: ../src/roster_window.py:2652
+msgid "To all users"
+msgstr "Svim korisnicima"
+
+#: ../src/roster_window.py:2655
+msgid "To all online users"
+msgstr "Svim korisnicima na vezi"
+
+#. Log Off
+#: ../src/roster_window.py:2772
+#, fuzzy
+msgid "_Log off"
+msgstr "_Odjava"
+
+#. Log on
+#: ../src/roster_window.py:2778
+msgid "_Log on"
+msgstr "_Prijava"
+
+#. Send single message
+#: ../src/roster_window.py:2790
+#, fuzzy
+msgid "Send Single Message"
+msgstr "_Pošalji jednu poruku"
+
+#. Manage Transport submenu
+#: ../src/roster_window.py:2837
+#, fuzzy
+msgid "_Manage Transport"
+msgstr "Prenosi"
+
+#. Modify Transport
+#: ../src/roster_window.py:2845
+#, fuzzy
+msgid "_Modify Transport"
+msgstr "Prikaži trans_porte"
+
+#. Information
+#: ../src/roster_window.py:2882
+#, fuzzy
+msgid "_Information"
+msgstr "Informacije kontakta"
+
+#: ../src/roster_window.py:2959 ../src/roster_window.py:3033
+msgid "_Change Status Message"
+msgstr "_Izmeni statusnu poruku"
+
+#: ../src/roster_window.py:3105
+msgid "Authorization has been sent"
+msgstr "Autorizacija poslata"
+
+#: ../src/roster_window.py:3106
+#, python-format
+msgid "Now \"%s\" will know your status."
+msgstr "Sada će kontakt \"%s\" znati Vaš status."
+
+#: ../src/roster_window.py:3126
+msgid "Subscription request has been sent"
+msgstr "Zahtev za pretplatom poslat"
+
+#: ../src/roster_window.py:3127
+#, python-format
+msgid "If \"%s\" accepts this request you will know his or her status."
+msgstr "Ako kontakt \"%s\" prihvati ovaj zahtev, znaćete njegov/njen status."
+
+#: ../src/roster_window.py:3139
+msgid "Authorization has been removed"
+msgstr "Autorizacija uklonjena"
+
+#: ../src/roster_window.py:3140
+#, python-format
+msgid "Now \"%s\" will always see you as offline."
+msgstr "Sada će Vas kontakt \"%s\" uvek videti kao da niste na vezi."
+
+#: ../src/roster_window.py:3338
+#, python-format
+msgid "Contact \"%s\" will be removed from your roster"
+msgstr "Kontakt \"%s\" će biti uklonjen sa Vaše liste kontakata"
+
+#: ../src/roster_window.py:3342
+msgid ""
+"By removing this contact you also remove authorization resulting in him or "
+"her always seeing you as offline."
+msgstr ""
+"Uklanjanjem ovog kontakta ujedno uklanjate i odobrenje što znači da će Vas "
+"ta osoba uvek videti kao da niste na vezi."
+
+#: ../src/roster_window.py:3347
+msgid ""
+"By removing this contact you also by default remove authorization resulting "
+"in him or her always seeing you as offline."
+msgstr ""
+"Uklanjanjem ovog kontakta ujedno podrazumevano uklanjate i odobrenje Å¡to "
+"znači da će Vas ta osoba uvek videti kao da niste na vezi."
+
+#: ../src/roster_window.py:3350
+msgid "I want this contact to know my status after removal"
+msgstr "Želim da ovaj kontakt zna moj status i nakon uklanjanja"
+
+#. several contact to remove at the same time
+#: ../src/roster_window.py:3354
+msgid "Contacts will be removed from your roster"
+msgstr "Kontakti će biti uklonjeni sa Vaše liste kontakata"
+
+#: ../src/roster_window.py:3358
+#, python-format
+msgid ""
+"By removing these contacts:%s\n"
+"you also remove authorization resulting in them always seeing you as offline."
+msgstr ""
+"Uklanjanjem ovih kontakata:%s\n"
+"ujedno uklanjate i odobrenje pto znači da će Vas te osobe uvek videti kao da "
+"niste na vezi."
+
+#: ../src/roster_window.py:3390
+#, fuzzy
+msgid ""
+"Gnome Keyring is installed but not correctly started (environment variable "
+"probably not correctly set)"
+msgstr ""
+"Gnomov Keyring je instaliran, ali nije korektno pokrenut (promenljive "
+"okruženja verovatno nisu dobro podešene)"
+
+#: ../src/roster_window.py:3417
+msgid "GPG is not usable"
+msgstr ""
+
+#. %s is the account name here
+#: ../src/roster_window.py:3417 ../src/common/connection.py:684
+#: ../src/common/zeroconf/connection_zeroconf.py:165
+#, python-format
+msgid "You will be connected to %s without OpenPGP."
+msgstr "Povezaćete se na %s bez OpenPGP ključa."
+
+#: ../src/roster_window.py:3434
+msgid "Passphrase Required"
+msgstr "Lozinka neophodna"
+
+#: ../src/roster_window.py:3435
+#, python-format
+msgid "Enter GPG key passphrase for account %s."
+msgstr "Unesite lozinku GPG ključa za nalog %s."
+
+#: ../src/roster_window.py:3440
+msgid "Save passphrase"
+msgstr "Sačuvati lozinku"
+
+#: ../src/roster_window.py:3448
+msgid "Wrong Passphrase"
+msgstr "Neispravna lozinka"
+
+#: ../src/roster_window.py:3449
+msgid "Please retype your GPG passphrase or press Cancel."
+msgstr "Molimo ponovo ukucajte Vašu GPG lozinku ili pritisnite Odustani"
+
+#: ../src/roster_window.py:3532 ../src/roster_window.py:3609
+msgid "You are participating in one or more group chats"
+msgstr "Učestvujete u jednom ili više grupnih razgovora"
+
+#: ../src/roster_window.py:3533 ../src/roster_window.py:3610
+msgid ""
+"Changing your status to invisible will result in disconnection from those "
+"group chats. Are you sure you want to go invisible?"
+msgstr ""
+"Promena Vašeg statusa u Nevidljiv će rezultovati  odvezivanjem sa tih "
+"grupnih razgovora. Jeste li sigurni da želite ići na nevidljivo?"
+
+#: ../src/roster_window.py:3567
+msgid "No account available"
+msgstr "Nema dostupnih naloga"
+
+#: ../src/roster_window.py:3568
+msgid "You must create an account before you can chat with other contacts."
+msgstr ""
+"Morate kreirati nalog pre nego što možete da razgovarate sa ostalim "
+"kontaktima."
+
+#: ../src/roster_window.py:3696
+#, python-format
+msgid "\"%(title)s\" by %(artist)s"
+msgstr "\"%(title)s\" od %(artist)s"
+
+#: ../src/roster_window.py:4151 ../src/roster_window.py:4158
+msgid ""
+"Messages will only be available for reading them later if you have history "
+"enabled."
+msgstr ""
+"Poruke će biti dostupne za čitanje i kasnije ako imate omogućen istorijat."
+
+#: ../src/roster_window.py:4782
+msgid "Metacontacts storage not supported by your server"
+msgstr "Čuvanje pseudokontakata nije podržano od strane Vašeg servera"
+
+#: ../src/roster_window.py:4784
+#, fuzzy
+msgid ""
+"Your server does not support storing metacontacts information. So those "
+"information will not be saved on next reconnection."
+msgstr ""
+"Vaš server ne podržava čuvanje informacija pseudokontakata. Te informacije "
+"neće biti sačuvane pri sledećem povezivanju."
+
+#: ../src/roster_window.py:4830
+msgid ""
+"You are about to create a metacontact. Are you sure you want to continue?"
+msgstr ""
+"Upravo ćete napraviti pseudokontkat. Jeste li sigurni da želite nastaviti?"
+
+#: ../src/roster_window.py:4832
+msgid ""
+"Metacontacts are a way to regroup several contacts in one line. Generally it "
+"is used when the same person has several Jabber accounts or transport "
+"accounts."
+msgstr ""
+"Pseudokontakti su način grupisanja nekoliko kontakata u jednu liniju. "
+"Generalno, oni se koriste kada ista osoba ima nekoliko Džaber naloga ili "
+"transportnih naloga."
+
+#: ../src/roster_window.py:4930
+#, fuzzy, python-format
+msgid "Do you want to send that file to %s:"
+msgid_plural "Do you want to send those files to %s:"
+msgstr[0] "%s Vam želi poslati datoteku:"
+msgstr[1] "%s Vam želi poslati datoteku:"
+msgstr[2] "%s Vam želi poslati datoteku:"
+
+#: ../src/roster_window.py:5212
+msgid "Change Status Message..."
+msgstr "Promeni statusnu poruku..."
+
+#: ../src/systray.py:164
+msgid "_Change Status Message..."
+msgstr "_Promeni statusnu poruku..."
+
+#: ../src/systray.py:249
+msgid "Hide this menu"
+msgstr "Sakrij ovaj meni"
+
+#: ../src/tooltips.py:310 ../src/tooltips.py:503
+msgid "Jabber ID: "
+msgstr "Džaber ID: "
+
+#: ../src/tooltips.py:313 ../src/tooltips.py:507
+msgid "Resource: "
+msgstr "Resurs: "
+
+#: ../src/tooltips.py:318
+#, python-format
+msgid "%(owner_or_admin_or_member)s of this group chat"
+msgstr "%(owner_or_admin_or_member)s ovog grupnog razgovora"
+
+#: ../src/tooltips.py:416
+msgid " [blocked]"
+msgstr ""
+
+#: ../src/tooltips.py:420
+msgid " [minimized]"
+msgstr ""
+
+#: ../src/tooltips.py:435 ../src/tooltips.py:623
+msgid "Status: "
+msgstr "Status: "
+
+#: ../src/tooltips.py:465
+#, python-format
+msgid "Last status: %s"
+msgstr "Poslednji status: %s"
+
+#: ../src/tooltips.py:467
+#, python-format
+msgid " since %s"
+msgstr " od %s"
+
+#: ../src/tooltips.py:485
+#, fuzzy
+msgid "Connected"
+msgstr "Veza"
+
+#: ../src/tooltips.py:487
+#, fuzzy
+msgid "Disconnected"
+msgstr "Kontakt Otišao Sa Veze"
+
+#. ('both' is the normal sub so we don't show it)
+#: ../src/tooltips.py:514
+msgid "Subscription: "
+msgstr "Pretplata: "
+
+#: ../src/tooltips.py:524
+msgid "OpenPGP: "
+msgstr "OpenPGP: "
+
+#: ../src/tooltips.py:579
+msgid "Download"
+msgstr "Skidanje"
+
+#: ../src/tooltips.py:585
+msgid "Upload"
+msgstr "Slanje"
+
+#: ../src/tooltips.py:592
+msgid "Type: "
+msgstr "Tip: "
+
+#: ../src/tooltips.py:598
+msgid "Transferred: "
+msgstr "Prenešeno: "
+
+#: ../src/tooltips.py:601 ../src/tooltips.py:622
+msgid "Not started"
+msgstr "Nije počeo"
+
+#: ../src/tooltips.py:605
+msgid "Stopped"
+msgstr "Zaustavljen"
+
+#: ../src/tooltips.py:607 ../src/tooltips.py:610
+msgid "Completed"
+msgstr "Završen"
+
+#: ../src/tooltips.py:614
+msgid "?transfer status:Paused"
+msgstr "?status prenosa:Pauziran"
+
+#. stalled is not paused. it is like 'frozen' it stopped alone
+#: ../src/tooltips.py:618
+msgid "Stalled"
+msgstr "Zastoj"
+
+#: ../src/tooltips.py:620
+msgid "Transferring"
+msgstr "Prenos u toku"
+
+#: ../src/tooltips.py:652
+msgid "This service has not yet responded with detailed information"
+msgstr "Ovaj servis još nije pružio detaljne informacije"
+
+#: ../src/tooltips.py:655
+msgid ""
+"This service could not respond with detailed information.\n"
+"It is most likely legacy or broken"
+msgstr ""
+"Ovaj servis nije mogao odgovoriti sa detaljnim informacijama.\n"
+"Najverovatnije je zastareo ili u kvaru"
+
+#: ../src/vcard.py:240
+msgid "?Client:Unknown"
+msgstr "?Klijent:Nepoznat"
+
+#: ../src/vcard.py:242
+msgid "?OS:Unknown"
+msgstr "?OS:Nepoznat"
+
+#: ../src/vcard.py:267 ../src/vcard.py:277 ../src/vcard.py:467
+#, python-format
+msgid "since %s"
+msgstr "od %s"
+
+#: ../src/vcard.py:306
+msgid "Affiliation:"
+msgstr "Pripadnost:"
+
+#: ../src/vcard.py:314
+msgid ""
+"This contact is interested in your presence information, but you are not "
+"interested in his/her presence"
+msgstr ""
+"Ovaj kontakt je zainteresovan za informacije o Vašem prisustvu, ali Vas ne "
+"zanimaju informacije o njegovom/njenom prisustvu."
+
+#: ../src/vcard.py:316
+msgid ""
+"You are interested in the contact's presence information, but he/she is not "
+"interested in yours"
+msgstr ""
+"Vi ste zainteresovani za informacije o prisustvu nekog kontakta, ali njega/"
+"nju ne zanima Vaše prisustvo"
+
+#: ../src/vcard.py:318
+msgid "You and the contact are interested in each other's presence information"
+msgstr ""
+"I Vi i Vaš kontakt ste zainteresovani za informacije o prisustvu jedan drugog"
+
+#. None
+#: ../src/vcard.py:320
+msgid ""
+"You are not interested in the contact's presence, and neither he/she is "
+"interested in yours"
+msgstr ""
+"Ne interesuje Vas prisutnost kontakta, niti Vaša prisutnost interesuje njega/"
+"nju"
+
+#: ../src/vcard.py:328
+msgid "You are waiting contact's answer about your subscription request"
+msgstr "Čekate odgovor kontakta o Vašem zahtevu za pretplatom"
+
+#: ../src/vcard.py:332 ../src/vcard.py:369 ../src/vcard.py:492
+msgid " resource with priority "
+msgstr " resurs sa prioritetom "
+
+#: ../src/common/check_paths.py:33
+msgid "creating logs database"
+msgstr "kreiram bazu dnevnika"
+
+#: ../src/common/check_paths.py:96 ../src/common/check_paths.py:107
+#: ../src/common/check_paths.py:114
+#, python-format
+msgid "%s is a file but it should be a directory"
+msgstr "%s je datoteka, ali bi trebala biti fascikla"
+
+#: ../src/common/check_paths.py:97 ../src/common/check_paths.py:108
+#: ../src/common/check_paths.py:115 ../src/common/check_paths.py:123
+msgid "Gajim will now exit"
+msgstr "Gajim će se sada završiti"
+
+#: ../src/common/check_paths.py:122
+#, python-format
+msgid "%s is a directory but should be a file"
+msgstr "%s je fascikla, ali bi trebala biti datoteka"
+
+#: ../src/common/check_paths.py:138
+#, python-format
+msgid "creating %s directory"
+msgstr "kreiram fasciklu %s"
+
+#: ../src/common/commands.py:69
+msgid "Change status information"
+msgstr "Promena statusnih informacija"
+
+#: ../src/common/commands.py:82
+msgid "Change status"
+msgstr "Promena statusa"
+
+#: ../src/common/commands.py:83
+msgid "Set the presence type and description"
+msgstr "Postavite tip prisutnosti i opis"
+
+#: ../src/common/commands.py:89
+msgid "Free for chat"
+msgstr "Slobodan za razgovor"
+
+#: ../src/common/commands.py:90
+msgid "Online"
+msgstr "Na vezi"
+
+#: ../src/common/commands.py:92
+msgid "Extended away"
+msgstr "Produženo odsutan"
+
+#: ../src/common/commands.py:93
+msgid "Do not disturb"
+msgstr "Ne uznemiravaj."
+
+#: ../src/common/commands.py:94
+msgid "Offline - disconnect"
+msgstr "Nije na vezi - nepovezan"
+
+#: ../src/common/commands.py:99
+msgid "Presence description:"
+msgstr "opis prisutnosti:"
+
+#: ../src/common/commands.py:134
+msgid "The status has been changed."
+msgstr "Status je promenjen."
+
+#: ../src/common/commands.py:179
+#, python-format
+msgid "%(nickname)s on %(room_jid)s"
+msgstr "%(nickname)s u sobi %(room_jid)s"
+
+#: ../src/common/commands.py:183
+msgid "You have not joined a groupchat."
+msgstr "Pridružili ste se grupnom razgovoru"
+
+#: ../src/common/commands.py:189
+msgid "Leave Groupchats"
+msgstr "Napusti grupne razgovore"
+
+#: ../src/common/commands.py:190
+msgid "Choose the groupchats you want to leave"
+msgstr "Odaberite grupne razgovore koje želite napustiti"
+
+#: ../src/common/commands.py:230
+#, fuzzy
+msgid "You left the following groupchats:"
+msgstr "Napustili ste sledeće grupne razgovore:"
+
+#: ../src/common/commands.py:242
+#, fuzzy
+msgid "Forward unread messages"
+msgstr "%d nepročitana poruka"
+
+#: ../src/common/commands.py:262
+msgid "All unread messages have been forwarded."
+msgstr ""
+
+#: ../src/common/config.py:58
+msgid "Use D-Bus and Notification-Daemon to show notifications"
+msgstr "Koristi DBus i demon obaveštenja za prikazivanje obaveštenja"
+
+#: ../src/common/config.py:63
+msgid "Time in minutes, after which your status changes to away."
+msgstr "Vreme u minutama, nakom koga će se Vaš status promeiti u Odsutan."
+
+#: ../src/common/config.py:64
+msgid "Away as a result of being idle"
+msgstr "Odsutan, kao posledica mirovanja"
+
+#: ../src/common/config.py:66
+msgid "Time in minutes, after which your status changes to not available."
+msgstr ""
+"Vreme u minutama, nakom koga će se Vaš status promeiti u Nije dostupan."
+
+#: ../src/common/config.py:67
+msgid "Not available as a result of being idle"
+msgstr "Nije dostupan, kao posledica mirovanja."
+
+#: ../src/common/config.py:85
+msgid ""
+"List (space separated) of rows (accounts and groups) that are collapsed."
+msgstr ""
+"Lista (odvojena blanko znakovima) redova (naloga i grupa) koji su otvoreni."
+
+#: ../src/common/config.py:90
+msgid "Enable link-local/zeroconf messaging"
+msgstr "Omogući lokalnu vezu/zeroconf poruke"
+
+#: ../src/common/config.py:93
+msgid "Language used by speller"
+msgstr "Jezik koji koristi pravopis"
+
+#: ../src/common/config.py:94
+msgid ""
+"'always' - print time for every message.\n"
+"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n"
+"'never' - never print time."
+msgstr ""
+"'uvek' - ispisuj vreme za svaku poruku.\n"
+"'ponekad' - ispisuj vreme svakih print_ichat_every_foo_minutes minuta.\n"
+"'nikad' - nikad ne ispisuj vreme."
+
+#: ../src/common/config.py:95
+msgid ""
+"Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 "
+"to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. "
+"This is used only if print_time is 'sometimes'."
+msgstr ""
+"Ispisuj vreme u razgovorima koristeći Rasplinuti Sat. Vrednost rasplinutosti "
+"od  1 do 4 ili 0 za onemogućivanje nejasnog sata. 1 je najprecizniji sat, 4 "
+"najneprecizniji. Ovo se koristi samo ukoliko je print_time postavnjeno na "
+"'sometimes'."
+
+#: ../src/common/config.py:98
+msgid "Treat * / _ pairs as possible formatting characters."
+msgstr "Smatraj * / _ parove kao znakove za formatiranje."
+
+#: ../src/common/config.py:99
+msgid ""
+"If True, do not remove */_ . So *abc* will be bold but with * * not removed."
+msgstr ""
+"Ako je istinito, ne uklanjaj */_ . Tako će *abv* biti podebljano, ali "
+"iokruženo sa * *."
+
+#: ../src/common/config.py:102
+msgid ""
+"Uses ReStructured text markup to send HTML, plus ascii formatting if "
+"selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/"
+"restructuredtext.html (If you want to use this, install docutils)"
+msgstr ""
+"Koristi ReStructured tekst markup za slanje HTML-a i ascii formatiranje ako "
+"je odabrano. Za sintaksu, pogledajte http://docutils.sourceforge.net/docs/"
+"ref/rst/restructuredtext.html (Ako želite da koristite ovo, instalirajte "
+"docutils)"
+
+#: ../src/common/config.py:111
+msgid ""
+"Character to add after nickname when using nick completion (tab) in group "
+"chat."
+msgstr ""
+"Karakter za dodavanje posle nadimka kada se koristi dovršavanje nadimka "
+"(tasterom tab) u grupnom razgovoru"
+
+#: ../src/common/config.py:112
+msgid ""
+"Character to propose to add after desired nickname when desired nickname is "
+"used by someone else in group chat."
+msgstr ""
+"Karakter koji želite dodati posle željenog nadimka ukoliko je željeni "
+"nadimak u grupnom razgovoru već upotrebljen"
+
+#: ../src/common/config.py:135
+msgid ""
+"This option let you customize timestamp that is printed in conversation. For "
+"exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on "
+"strftime for full documentation: http://docs.python.org/lib/module-time.html"
+msgstr ""
+"Ova opcija Vam omogućava prilagođavanje ispisa vremena u razgovoru. Na "
+"primer \"[%H:%M] \" će prikazati \"[sat:minut] \". Pogledajte python "
+"dokumentaciju za strftime funkciju za puno razumevanje: http://docs.python."
+"org/lib/module-time.html"
+
+#: ../src/common/config.py:136
+msgid "Characters that are printed before the nickname in conversations"
+msgstr "Karakteri odštampani pre nadimka u razgovoru"
+
+#: ../src/common/config.py:137
+msgid "Characters that are printed after the nickname in conversations"
+msgstr "Karakteri odštampani posle nadimka u razgovoru"
+
+#: ../src/common/config.py:144
+msgid "Add * and [n] in roster title?"
+msgstr "Dodaj * i [n] u naslov liste kontakata?"
+
+#: ../src/common/config.py:145
+msgid ""
+"How many lines to remember from previous conversation when a chat tab/window "
+"is reopened."
+msgstr ""
+"Koliko linija prethodnog razgovora pamtiti kada se prozor/jezičak  za "
+"razgovor ponovo otvori."
+
+#: ../src/common/config.py:146
+msgid "How many minutes should last lines from previous conversation last."
+msgstr "Koliko minuta da traju linije prethodnog razgovora."
+
+#: ../src/common/config.py:147
+msgid ""
+"Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ "
+"Client default behaviour)."
+msgstr ""
+"Pošalji poruku sa Ctrl+Enter, a sa Enter pravi novu liniju. (Podrazumevano "
+"ponašanje Miralabisovog ICQ klijenta)"
+
+#: ../src/common/config.py:149
+msgid "How many lines to store for Ctrl+KeyUP."
+msgstr "Koliko linija sačuvati sa Ctrl+KeyUP"
+
+#: ../src/common/config.py:152
+#, python-format
+msgid ""
+"Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' "
+"which means use wiktionary."
+msgstr ""
+"Ili Vaš specificirani URL sa %s u njemu gde je %s reč ili fraza ili 'VIKI-"
+"REČNIK' što znači korišćenje viki-rečnika."
+
+#: ../src/common/config.py:155
+msgid "If checked, Gajim can be controlled remotely using gajim-remote."
+msgstr "Ako je označeno, Gajim se može kontrolisati korišćenjem gajim-remote."
+
+#: ../src/common/config.py:156
+msgid ""
+"If True, listen to D-Bus signals from NetworkManager and change the status "
+"of accounts (provided they do not have listen_to_network_manager set to "
+"False and they sync with global status) based upon the status of the network "
+"connection."
+msgstr ""
+"Ako je istinit, osluškuj D-Bus signale iz Menadžera Mreže i promeni status "
+"računa (ako nemaju listen_to_network_manager postavljen na neistinito i "
+"sinhronizuj sa globalnim statusom) u zavisnosti od statusa mrežne konekcije."
+
+#: ../src/common/config.py:157
+msgid ""
+"Sent chat state notifications. Can be one of all, composing_only, disabled."
+msgstr ""
+"Poslata obaveštenja o stanju razgovora. Može biti jedno od "
+"'svi','samo_sastavljanje', 'onemogućeno'."
+
+#: ../src/common/config.py:158
+msgid ""
+"Displayed chat state notifications in chat windows. Can be one of all, "
+"composing_only, disabled."
+msgstr ""
+"Prikazana obaveštenja o stanju razgovora u prozoru za razgovor. Može biti "
+"jedno od 'svi', 'samo_sastavljanje', 'onemogućeno'."
+
+#: ../src/common/config.py:160
+msgid ""
+"When not printing time for every message (print_time==sometimes), print it "
+"every x minutes."
+msgstr ""
+"Ako se ne ispisuje vreme za svaku poruku (print_time==ponekad), ispisati ga "
+"svakih x minuta"
+
+#: ../src/common/config.py:161
+msgid "Ask before closing a group chat tab/window."
+msgstr "Pitaj pre zatvaranja prozora/jezička grupnog razgovora."
+
+#: ../src/common/config.py:162
+msgid ""
+"Always ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Uvek pitaj pre zatvaranja jezička/prozora kada je u pitanju ova lista "
+"odvojena blanko karakterima džaber ID-ova grupnih razgovora."
+
+#: ../src/common/config.py:163
+msgid ""
+"Never ask before closing group chat tab/window in this space separated list "
+"of group chat jids."
+msgstr ""
+"Nikad ne pitaj pre zatvaranja jezička/prozora grupnog razgovora kada je u "
+"pitanju ova listaodovojena blanko znacima džaber ID-ova grupnih razgovora."
+
+#: ../src/common/config.py:166
+#, fuzzy
+msgid ""
+"Comma separated list of hosts that we send, in addition of local interfaces, "
+"for File Transfer in case of address translation/port forwarding."
+msgstr ""
+"Prepisuje ime hosta koji šaljem za prenos datoteka u slučaju prosleđivanja "
+"porta/NATovanja."
+
+#: ../src/common/config.py:168
+msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes."
+msgstr "IEC standard definiše KiB = 1024 bajtova, KB = 1000 bajtova"
+
+#: ../src/common/config.py:170
+msgid "Notify of events in the system trayicon."
+msgstr "Obavesti me o svim događajima u ikoni sistemske kasete."
+
+#: ../src/common/config.py:176
+msgid "Show tab when only one conversation?"
+msgstr "Prikaži jezičak iako je samo jedan razgovor?"
+
+#: ../src/common/config.py:177
+msgid "Show tabbed notebook border in chat windows?"
+msgstr "Prikaši granicu sveske u prozorima razgovora?"
+
+#: ../src/common/config.py:178
+msgid "Show close button in tab?"
+msgstr "Prikaši dugme za zatvaranje u jezičku?"
+
+#: ../src/common/config.py:179
+msgid ""
+"When negotiating an encrypted session, should Gajim assume you want your "
+"messages to be logged?"
+msgstr ""
+
+#: ../src/common/config.py:188
+msgid "Preview new messages in notification popup?"
+msgstr ""
+
+#: ../src/common/config.py:193
+msgid ""
+"A semicolon-separated list of words that will be highlighted in group chats."
+msgstr ""
+"Lista reči odvojena blanko karakterima koje će biti obojene u grupnim "
+"razgovorima"
+
+#: ../src/common/config.py:194
+msgid ""
+"If True, quits Gajim when X button of Window Manager is clicked. This "
+"setting is taken into account only if trayicon is used."
+msgstr ""
+"Ako je istinito, Gajim se završava kada se pritisne X dugme. Ovo podešavanje "
+"se koristi samo ako je ikona sistemske kasete u upotrebi."
+
+#: ../src/common/config.py:195
+msgid ""
+"If True, Gajim will check if it's the default jabber client on each startup."
+msgstr ""
+"Ako je istinito, Gajim će provaravati da li je podrazumevani Džaber klijent "
+"pri svakom pokretanju."
+
+#: ../src/common/config.py:196
+msgid ""
+"If True, Gajim will display an icon on each tab containing unread messages. "
+"Depending on the theme, this icon may be animated."
+msgstr ""
+"Ako je istinito, Gajim će prikazivati ikonu na svakom jezičku koji sadrži "
+"nepročitane poruke. U zavisnosti od teme, ikona može biti i animirana."
+
+#: ../src/common/config.py:197
+msgid ""
+"If True, Gajim will display the status message, if not empty, for every "
+"contact under the contact name in roster window."
+msgstr ""
+"Ako je istinito, Gajim će prikazivati statusnu poruku (ako nije prazna) za "
+"svaki kontakt u listi kontakata"
+
+#: ../src/common/config.py:199
+msgid ""
+"If True, Gajim will ask for avatar each contact that did not have an avatar "
+"last time or has one cached that is too old."
+msgstr ""
+"Ako je istinito, Gajim će poslati upit za avatar za svaki kontakt koji "
+"prošlog puta nije  imao avatar ili je onaj u memoriji prestar"
+
+#: ../src/common/config.py:200
+msgid ""
+"If False, Gajim will no longer print status line in chats when a contact "
+"changes his or her status and/or his or her status message."
+msgstr ""
+"Ako je neistinito, više nećete videti statusnu porukuu razgovorima kada "
+"kontakt promeni svoj status i/ili statusnu poruku."
+
+#: ../src/common/config.py:201
+msgid ""
+"can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no "
+"longer print status line in groupchats when a member changes his or her "
+"status and/or his or her status message. If \"all\" Gajim will print all "
+"status messages. If \"in_and_out\", Gajim will only print FOO enters/leaves "
+"group chat."
+msgstr ""
+"može biti \"none\", \"all\" ili \"in_and_out\". Ako je \"none\", Gajim više "
+"neće ispisivati statusnu liniju u grupnim razgovorima kada član promeni svoj "
+"status i/ili izmeni statusnu poruku. Ako je \"all\", Gajim će prikazivati "
+"sve statusne poruke. Ako je \"in_and_out\" Gajim će prikazivati samo poruke "
+"tipa taj i taj je ušao/izašao u/iz sobe."
+
+#: ../src/common/config.py:203
+msgid "Background color of contacts when they just signed in."
+msgstr "Boja pozadine kontakta kada tek dođu na vezu."
+
+#: ../src/common/config.py:204
+msgid "Background color of contacts when they just signed out."
+msgstr "Boja pozadine kontakta kada tek odu sa veze."
+
+#: ../src/common/config.py:206
+msgid ""
+"If True, restored messages will use a smaller font than the default one."
+msgstr ""
+"Ako je istinito, vraćene poruke iz istorijata će biti manjeg fonta od "
+"podrazumevanog."
+
+#: ../src/common/config.py:207
+msgid "Don't show avatar for the transport itself."
+msgstr "Ne prikazuj avatar za sam transport."
+
+#: ../src/common/config.py:208
+msgid "Don't show roster in the system taskbar."
+msgstr "Ne prikazuj listu kontakata u sistemskoj kaseti."
+
+#: ../src/common/config.py:209
+msgid ""
+"If True and installed GTK+ and PyGTK versions are at least 2.8, make the "
+"window flash (the default behaviour in most Window Managers) when holding "
+"pending events."
+msgstr ""
+"Ako je istinito, i instalirane verzije GTK+ i PyGTK su barem 2.8, neka "
+"prozor bljeska (podrazumevano ponašanje u većini menadžera prozora) pri "
+"novim događajima."
+
+#: ../src/common/config.py:211
+msgid ""
+"Jabberd1.4 does not like sha info when one join a password protected group "
+"chat. Turn this option to False to stop sending sha info in group chat "
+"presences."
+msgstr ""
+"Jabberd1.4 ne voli sha informacije kada neko uđe u grupni razgovor koji je "
+"zaštićen lozinkom. Isključite ovu opciju da prestanete slati sha informacije "
+"u grupnim razgovorima"
+
+#. always, never, peracct, pertype should not be translated
+#: ../src/common/config.py:214
+msgid ""
+"Controls the window where new messages are placed.\n"
+"'always' - All messages are sent to a single window.\n"
+"'never' - All messages get their own window.\n"
+"'peracct' - Messages for each account are sent to a specific window.\n"
+"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a "
+"specific window. Note, changing this option requires restarting Gajim before "
+"the changes will take effect."
+msgstr ""
+"Kontroliše prozor gde se smeštaju nove poruke.\n"
+"'uvek' - Sve poruke se Å¡alju u isti prozor.\n"
+"'nikad' - Svaka poruka dobija svoj prozor.\n"
+"'ponalogu' - Poruke za isti nalog se Å¡alju i isti prozor.\n"
+"'potipu' - Poruke istog tipa (npr., razgovori i grupni razgovori) se Å¡alju u "
+"isti prozor. Promena ove opcije zahteva da ponovo pokrenete Gajim kako bi "
+"promene stupile na snagu."
+
+#: ../src/common/config.py:215
+msgid "If False, you will no longer see the avatar in the chat window."
+msgstr "Ako nije istinito, nećete više videti avatar u prozoru razgovora."
+
+#: ../src/common/config.py:216
+msgid "If True, pressing the escape key closes a tab/window."
+msgstr "Ako je istinito, pritisak na taster 'esc' zatvara jezičak/prozor."
+
+#: ../src/common/config.py:217
+#, fuzzy
+msgid "Hides the buttons in chat windows."
+msgstr "Sakriva dugmad u prozoru grupnog razgovora."
+
+#: ../src/common/config.py:218
+msgid "Hides the banner in a group chat window"
+msgstr "Sakriva baner u prozoru grupnog razgovora."
+
+#: ../src/common/config.py:219
+msgid "Hides the banner in two persons chat window"
+msgstr "Sakriva baner u prozoru razgovora dve osobe"
+
+#: ../src/common/config.py:220
+msgid "Hides the group chat occupants list in group chat window."
+msgstr "Sakriva listu učesnika u prozoru grupnog razgovora"
+
+#: ../src/common/config.py:221
+msgid ""
+"In a chat, show the nickname at the beginning of a line only when it's not "
+"the same person talking than in previous message."
+msgstr ""
+"U razgovoru, prikaži nadimak na početku novog reda samo kada se ne radi o "
+"istoj osobi koja je pričala i u prošloj poruci."
+
+#: ../src/common/config.py:222
+msgid "Indentation when using merge consecutive nickname."
+msgstr "Uvlačenje pri korišćenju spajanja toka po nadimcima."
+
+#: ../src/common/config.py:223
+#, fuzzy
+msgid "Smooth scroll message in conversation window"
+msgstr "Pošalji poruku i zatvori prozor"
+
+#: ../src/common/config.py:224
+msgid "List of colors that will be used to color nicknames in group chats."
+msgstr ""
+"Lista boja koje će biti korišćene za bojenje nadimaka u grupnim razgovorima."
+
+#: ../src/common/config.py:225
+msgid "Ctrl-Tab go to next composing tab when none is unread."
+msgstr "Ctrl-Tab ide na sledeći jezičak kada nema nepročitanih jezičaka"
+
+#: ../src/common/config.py:226
+msgid ""
+"Should we show the confirm metacontacts creation dialog or not? Empty string "
+"means we never show the dialog."
+msgstr ""
+"Treba li pitati za potvrdu stvaranja pseudokontakta ili ne? Prazan niz znači "
+"da nikada ne prikazujemo upit."
+
+#: ../src/common/config.py:227
+msgid ""
+"If True, you will be able to set a negative priority to your account in "
+"account modification window. BE CAREFUL, when you are logged in with a "
+"negative priority, you will NOT receive any message from your server."
+msgstr ""
+"Ako je istinito, bićete u mogućnosti postaviti negativan prioritet na Vaš "
+"nalog u prozoru za izmenu podešavanja naloga. BUDITE OPREZNI, kada ste "
+"povezani sa negativnim prioritetom NEĆETE primati nikakve poruke od servera."
+
+#: ../src/common/config.py:228
+msgid ""
+"If True, Gajim will use Gnome Keyring (if available) to store account "
+"passwords."
+msgstr ""
+"Ako je istinito, Gajim će koristiti Gnomov Keyring (ako je dostupan) za "
+"skladištenje lozinki naloga."
+
+#: ../src/common/config.py:229
+msgid ""
+"If True, Gajim will show number of online and total contacts in account and "
+"group rows."
+msgstr ""
+"Ako je istinito, Gajim će prikazivati ukupan i broj kontakata na vezi u "
+"nalogu i u grupnim redovima."
+
+#: ../src/common/config.py:230
+msgid ""
+"Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages "
+"as if they were of this type"
+msgstr ""
+"Može biti prazno, 'chat' ili 'normal'. Ako je prazno, tretiraj sve dolazne "
+"poruke kao da su ovog tipa"
+
+#: ../src/common/config.py:231
+msgid ""
+"If True, Gajim will scroll and select the contact who sent you the last "
+"message, if chat window is not already opened."
+msgstr ""
+
+#: ../src/common/config.py:232
+msgid ""
+"If True, Gajim will convert string between $$ and $$ to an image using dvips "
+"and convert before insterting it in chat window."
+msgstr ""
+
+#: ../src/common/config.py:233
+msgid "Time of inactivity needed before the change status window closes down."
+msgstr ""
+
+#: ../src/common/config.py:234
+msgid ""
+"Maximum number of lines that are printed in conversations. Oldest lines are "
+"cleared."
+msgstr ""
+
+#: ../src/common/config.py:245
+msgid ""
+"Priority will change automatically according to your status. Priorities are "
+"defined in autopriority_* options."
+msgstr ""
+"Prioritet će se automatski promeniti u zavisnosti od Vašeg statusa. "
+"Prioriteti su definsani u autopriority_* podešavanjima."
+
+#. yes, no, ask
+#: ../src/common/config.py:275
+msgid "Jabberd2 workaround"
+msgstr "Jabberd2 privremeno rešenje"
+
+#: ../src/common/config.py:279
+msgid ""
+"If checked, Gajim will use your IP and proxies defined in "
+"file_transfer_proxies option for file transfer."
+msgstr ""
+"Ako je označeno, Gajim će koristiti Vašu IP adresu u proksi koji je "
+"difinisan u file_transfer_proxies podešavanjima za prenos."
+
+#: ../src/common/config.py:338
+msgid "Is OpenPGP enabled for this contact?"
+msgstr "Da li je OpenPGP omogućen za ovaj kontakt?"
+
+#: ../src/common/config.py:339 ../src/common/config.py:342
+msgid "Language for which we want to check misspelled words"
+msgstr "Jezik u kome želite proveravati neispravno napisane reči"
+
+#: ../src/common/config.py:348
+msgid "all or space separated status"
+msgstr "sve ili razmakom odvojen status"
+
+#: ../src/common/config.py:349
+msgid "'yes', 'no', or 'both'"
+msgstr "'da', 'ne', ili 'oboje'"
+
+#: ../src/common/config.py:350 ../src/common/config.py:352
+#: ../src/common/config.py:353 ../src/common/config.py:356
+#: ../src/common/config.py:357
+msgid "'yes', 'no' or ''"
+msgstr "'da', 'ne' ili ''"
+
+#: ../src/common/config.py:363
+msgid "Sleeping"
+msgstr "Spavam"
+
+#: ../src/common/config.py:364
+msgid "Back soon"
+msgstr "Vraćam se brzo"
+
+#: ../src/common/config.py:364
+msgid "Back in some minutes."
+msgstr "Vraćam se za par minuta."
+
+#: ../src/common/config.py:365
+msgid "Eating"
+msgstr "Jedem"
+
+#: ../src/common/config.py:365
+msgid "I'm eating, so leave me a message."
+msgstr "Jedem, ostavite poruku."
+
+#: ../src/common/config.py:366
+msgid "Movie"
+msgstr "Film"
+
+#: ../src/common/config.py:366
+msgid "I'm watching a movie."
+msgstr "Gledam film."
+
+#: ../src/common/config.py:367
+msgid "Working"
+msgstr "Radim."
+
+#: ../src/common/config.py:367
+msgid "I'm working."
+msgstr "Radim."
+
+#: ../src/common/config.py:368
+msgid "Phone"
+msgstr "Telefon"
+
+#: ../src/common/config.py:368
+msgid "I'm on the phone."
+msgstr "Telefoniram."
+
+#: ../src/common/config.py:369
+msgid "Out"
+msgstr "Napolju"
+
+#: ../src/common/config.py:369
+msgid "I'm out enjoying life."
+msgstr "Napolju sam, uživam u životu."
+
+#: ../src/common/config.py:373
+msgid "I'm available."
+msgstr "Dostupan sam."
+
+#: ../src/common/config.py:374
+msgid "I'm free for chat."
+msgstr "Slobodan sam za razgovor."
+
+#: ../src/common/config.py:376
+msgid "I'm not available."
+msgstr "Nedostupan sam."
+
+#: ../src/common/config.py:377
+msgid "Do not disturb."
+msgstr "Ne smetaj."
+
+#: ../src/common/config.py:378 ../src/common/config.py:379
+msgid "Bye!"
+msgstr "Pozdrav!"
+
+#: ../src/common/config.py:388
+msgid ""
+"Sound to play when a group chat message contains one of the words in "
+"muc_highlight_words, or when a group chat message contains your nickname."
+msgstr ""
+"Zvuk koji će se pustiti kada poruka grupnog razgovora sadrži neku reč iz "
+"muc_highlight_words, ili kada neka poruka grupnog razgovora sadrži Vaš "
+"nadimak."
+
+#: ../src/common/config.py:389
+msgid "Sound to play when any MUC message arrives."
+msgstr "Zvuk koji će se pustiti kada stigne neka MUC poruka."
+
+#: ../src/common/config.py:398 ../src/common/optparser.py:208
+msgid "green"
+msgstr "zelena"
+
+#: ../src/common/config.py:402 ../src/common/optparser.py:194
+msgid "grocery"
+msgstr "namirnice"
+
+#: ../src/common/config.py:406
+msgid "human"
+msgstr "ljudska"
+
+#: ../src/common/config.py:410
+msgid "marine"
+msgstr "morska"
+
+#: ../src/common/connection_handlers.py:56
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:44
+msgid "Unable to load idle module"
+msgstr "Nije moguće učitavanje modula idle"
+
+#: ../src/common/connection_handlers.py:184
+#: ../src/common/connection_handlers.py:219
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+msgid "Wrong host"
+msgstr "Loš host"
+
+#: ../src/common/connection_handlers.py:184
+#: ../src/common/zeroconf/connection_handlers_zeroconf.py:236
+#, fuzzy, python-format
+msgid ""
+"The host %s you configured as the ft_add_hosts_to_send advanced option is "
+"not valid, so ignored."
+msgstr ""
+"Host koji ste postavili kao ft_override_host_to_send napredno podešavanje "
+"nije ispravan. pa je ignorisan."
+
+#: ../src/common/connection_handlers.py:220
+msgid "Invalid local address? :-O"
+msgstr ""
+
+#: ../src/common/connection_handlers.py:612
+#, python-format
+msgid "Registration information for transport %s has not arrived in time"
+msgstr "Informacije o registraciji za transport %s nisu došle na vreme"
+
+#: ../src/common/connection_handlers.py:1776
+#, python-format
+msgid "Nickname not allowed: %s"
+msgstr "Nedozvoljen nadimak: %s "
+
+#. we are banned
+#. group chat does not exist
+#: ../src/common/connection_handlers.py:1846
+#: ../src/common/connection_handlers.py:1849
+#: ../src/common/connection_handlers.py:1852
+#: ../src/common/connection_handlers.py:1855
+#: ../src/common/connection_handlers.py:1859
+#: ../src/common/connection_handlers.py:1868
+msgid "Unable to join group chat"
+msgstr "Nije moguće pridružiti se grupnom razgovoru"
+
+#: ../src/common/connection_handlers.py:1847
+#, fuzzy, python-format
+msgid "You are banned from group chat %s."
+msgstr "Zabranjen Vam je pristup ovom grupnom razgovoru."
+
+#: ../src/common/connection_handlers.py:1850
+#, fuzzy, python-format
+msgid "Group chat %s does not exist."
+msgstr "Ne postoji ovakav grupni razgovor."
+
+#: ../src/common/connection_handlers.py:1853
+msgid "Group chat creation is restricted."
+msgstr "Stvaranje grupnih razgovora Vam nije dozvoljeno."
+
+#: ../src/common/connection_handlers.py:1856
+#, fuzzy, python-format
+msgid "Your registered nickname must be used in group chat %s."
+msgstr "Morate koristiti Vaš registrovani nadimak."
+
+#: ../src/common/connection_handlers.py:1860
+#, fuzzy, python-format
+msgid "You are not in the members list in groupchat %s."
+msgstr "Niste u listi članova."
+
+#: ../src/common/connection_handlers.py:1869
+#, fuzzy, python-format
+msgid ""
+"Your desired nickname in group chat %s is in use or registered by another "
+"occupant.\n"
+"Please specify another nickname below:"
+msgstr ""
+"Vaš željeni nadimak je trenutno u upotrebi ili je registrovan od strane "
+"nekog od učesnika.\n"
+"Molimo odredite drugi nadimak ispod:"
+
+#. Room has been destroyed. see
+#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom
+#: ../src/common/connection_handlers.py:1900
+#, fuzzy
+msgid "Room has been destroyed"
+msgstr "Autorizacija uklonjena"
+
+#: ../src/common/connection_handlers.py:1907
+#, python-format
+msgid "You can join this room instead: %s"
+msgstr ""
+
+#: ../src/common/connection_handlers.py:1934
+msgid "I would like to add you to my roster."
+msgstr "Želeo bih da te dodam na moju listu kontakata."
+
+#. BE CAREFUL: no con.updateRosterItem() in a callback
+#: ../src/common/connection_handlers.py:1955
+#, python-format
+msgid "we are now subscribed to %s"
+msgstr "sada ste pretplaćeni na %s"
+
+#: ../src/common/connection_handlers.py:1957
+#, python-format
+msgid "unsubscribe request from %s"
+msgstr "zahtev za ukidanje pretplate od kontakta %s"
+
+#: ../src/common/connection_handlers.py:1959
+#, python-format
+msgid "we are now unsubscribed from %s"
+msgstr "sada Vam je ukinuta pretplata od kontakta %s"
+
+#: ../src/common/connection_handlers.py:2081
+#, python-format
+msgid ""
+"JID %s is not RFC compliant. It will not be added to your roster. Use roster "
+"management tools such as http://jru.jabberstudio.org/ to remove it"
+msgstr ""
+"Džaber ID %s ne poštuje RFC pravila. Neće biti dodat na Vašu listu "
+"kontakata. Upotrebite alate kao Å¡to je http://jru.jabberstudio.org/ da biste "
+"ga uklonili"
+
+#: ../src/common/connection.py:244
+#: ../src/common/zeroconf/connection_zeroconf.py:203
+#, python-format
+msgid "Connection with account \"%s\" has been lost"
+msgstr "Izgubljena veza sa računom \"%s\""
+
+#: ../src/common/connection.py:245
+msgid "Reconnect manually."
+msgstr "Ponovo se povežite ručno."
+
+#: ../src/common/connection.py:256
+#, fuzzy, python-format
+msgid "Server %s answered wrongly to register request: %s"
+msgstr "Transport %s je loše odgovorio na registraciju: %s"
+
+#. wrong answer
+#: ../src/common/connection.py:264
+msgid "Invalid answer"
+msgstr "Neispravan odgovor"
+
+#: ../src/common/connection.py:265
+#, python-format
+msgid "Transport %s answered wrongly to register request: %s"
+msgstr "Transport %s je loše odgovorio na registraciju: %s"
+
+#: ../src/common/connection.py:411
+#, fuzzy
+msgid "Connection to proxy failed"
+msgstr "Veza prekinuta"
+
+#: ../src/common/connection.py:465 ../src/common/connection.py:511
+#: ../src/common/connection.py:1067
+#: ../src/common/zeroconf/connection_zeroconf.py:237
+#, python-format
+msgid "Could not connect to \"%s\""
+msgstr "Veza sa \"%s\" nije moguća"
+
+#: ../src/common/connection.py:479
+#, python-format
+msgid "Connected to server %s:%s with %s"
+msgstr "Povezan na server %s:%s sa %s"
+
+#: ../src/common/connection.py:512
+msgid "Check your connection or try again later"
+msgstr "Proverite Vašu konekciju ili pokušajte kasnije"
+
+#: ../src/common/connection.py:537
+#, python-format
+msgid "Authentication failed with \"%s\""
+msgstr "Autentikacija sa \"%s\" neuspešna"
+
+#: ../src/common/connection.py:538
+msgid "Please check your login and password for correctness."
+msgstr "Molimo Vas da proverite Vaše korisničko ime i lozinku od grešaka."
+
+#: ../src/common/connection.py:581
+msgid "Error while removing privacy list"
+msgstr "Greška prilikom uklanjanja liste privatnosti"
+
+#: ../src/common/connection.py:582
+#, python-format
+msgid ""
+"Privacy list %s has not been removed. It is maybe active in one of your "
+"connected resources. Deactivate it and try again."
+msgstr ""
+"Lista privatnosti %s je uklonjena. Možda je aktivna u nekom od Vaših "
+"povezanih resursa. Deaktivirajte je i pokušajte ponovo."
+
+#. We didn't set a passphrase
+#: ../src/common/connection.py:682
+#: ../src/common/zeroconf/connection_zeroconf.py:163
+msgid "OpenPGP passphrase was not given"
+msgstr "Lozinka za OpenPGP nije uneta"
+
+#. we're not english
+#. one  in locale and one en
+#: ../src/common/connection.py:845
+msgid "[This message is *encrypted* (See :JEP:`27`]"
+msgstr "[Ova poruka je *Å¡ifrovana* (Pogledajte :JEP:`27`]"
+
+#: ../src/common/connection.py:916
+#: ../src/common/zeroconf/connection_zeroconf.py:423
+#, python-format
+msgid ""
+"Subject: %s\n"
+"%s"
+msgstr ""
+"Tema: %s\n"
+"%s"
+
+#: ../src/common/connection.py:1099
+msgid "Not fetched because of invisible status"
+msgstr "Nije dohvaćeno zbog statusa nevidljivosti"
+
+#: ../src/common/contacts.py:294
+msgid "Not in roster"
+msgstr "Nije na listi kontakata"
+
+#. only say that to non Windows users
+#: ../src/common/dbus_support.py:33
+msgid "D-Bus python bindings are missing in this computer"
+msgstr "Na ovom računaru nedostaju python vezivanja za D-Bus"
+
+#: ../src/common/dbus_support.py:34
+msgid "D-Bus capabilities of Gajim cannot be used"
+msgstr "D-Bus mogućnosti Gajima se ne mogu koristiti"
+
+#: ../src/common/exceptions.py:22
+msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..."
+msgstr "pysqlite2 (poznat kao python-pysqlite2) nedostaje. Izlazim..."
+
+#: ../src/common/exceptions.py:39
+msgid "Service not available: Gajim is not running, or remote_control is False"
+msgstr ""
+"Servis nije dostupan: Gajim nije pokrenut ili je stavka podešavanja "
+"remote_control neistinita"
+
+#: ../src/common/exceptions.py:47
+msgid "D-Bus is not present on this machine or python module is missing"
+msgstr "D-Bus ne postoji na ovom računaru ili nema python modula."
+
+#: ../src/common/exceptions.py:55
+msgid ""
+"Session bus is not available.\n"
+"Try reading http://trac.gajim.org/wiki/GajimDBus"
+msgstr ""
+"Linija sesije nije dostupna.\n"
+"Pročitajte http:/trac.gajim.org/wiki/GajimDBus"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "one"
+msgstr "jedan"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "two"
+msgstr "dva"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "three"
+msgstr "tri"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "four"
+msgstr "četiri"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "five"
+msgstr "pet"
+
+#: ../src/common/fuzzyclock.py:42
+msgid "six"
+msgstr "Å¡est"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "seven"
+msgstr "sedam"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "eight"
+msgstr "osam"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "nine"
+msgstr "devet"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "ten"
+msgstr "deset"
+
+#: ../src/common/fuzzyclock.py:43
+msgid "eleven"
+msgstr "jedanaest"
+
+#: ../src/common/fuzzyclock.py:44
+msgid "twelve"
+msgstr "dvanaest"
+
+#. Strings to use for the output. %0 will be replaced with the preceding hour (e.g. "x PAST %0"), %1 with the coming hour (e.g. "x TO %1). '''
+#. A "singular-form". It is used when talking about hour 0
+#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+msgid "$0 o'clock"
+msgstr "$0 sati"
+
+#: ../src/common/fuzzyclock.py:47 ../src/common/fuzzyclock.py:55
+msgid "five past $0"
+msgstr "$0 i pet"
+
+#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+msgid "ten past $0"
+msgstr "$0 i deset"
+
+#: ../src/common/fuzzyclock.py:48 ../src/common/fuzzyclock.py:56
+msgid "quarter past $0"
+msgstr "$0 i petnaest"
+
+#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+msgid "twenty past $0"
+msgstr "$0 i dvadeset"
+
+#: ../src/common/fuzzyclock.py:49 ../src/common/fuzzyclock.py:57
+msgid "twenty five past $0"
+msgstr "$0 i dvadeset i pet"
+
+#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+msgid "half past $0"
+msgstr "$0 i trideset minuta"
+
+#: ../src/common/fuzzyclock.py:50 ../src/common/fuzzyclock.py:58
+msgid "twenty five to $1"
+msgstr "dvadeset i pet do $1"
+
+#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+msgid "twenty to $1"
+msgstr "dvadeset do $1"
+
+#: ../src/common/fuzzyclock.py:51 ../src/common/fuzzyclock.py:59
+msgid "quarter to $1"
+msgstr "petnaest minuta do $1"
+
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+msgid "ten to $1"
+msgstr "deset do $1"
+
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:60
+msgid "five to $1"
+msgstr "pet do $1"
+
+#: ../src/common/fuzzyclock.py:52 ../src/common/fuzzyclock.py:61
+msgid "$1 o'clock"
+msgstr "$1 sati"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Night"
+msgstr "Noć"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Early morning"
+msgstr "Rano jutro"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Morning"
+msgstr "Jutro"
+
+#: ../src/common/fuzzyclock.py:64
+msgid "Almost noon"
+msgstr "Skoro podne"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Noon"
+msgstr "Podne"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Afternoon"
+msgstr "Poslepodne"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Evening"
+msgstr "Veče"
+
+#: ../src/common/fuzzyclock.py:65
+msgid "Late evening"
+msgstr "Kasno veče"
+
+#: ../src/common/fuzzyclock.py:67
+msgid "Start of week"
+msgstr "Početak nedelje"
+
+#: ../src/common/fuzzyclock.py:67
+msgid "Middle of week"
+msgstr "Sredina nedelje"
+
+#: ../src/common/fuzzyclock.py:67
+msgid "End of week"
+msgstr "Kraj nedelje"
+
+#: ../src/common/fuzzyclock.py:68
+msgid "Weekend!"
+msgstr "Vikend!"
+
+#: ../src/common/helpers.py:115
+msgid "Invalid character in username."
+msgstr "Neispravan karakter u korisničkom imenu."
+
+#: ../src/common/helpers.py:120
+msgid "Server address required."
+msgstr "Potrebna je adresa servera."
+
+#: ../src/common/helpers.py:125
+msgid "Invalid character in hostname."
+msgstr "Neispravan karakter u imenu hosta."
+
+#: ../src/common/helpers.py:131
+msgid "Invalid character in resource."
+msgstr "Neispravan karakter u resursu."
+
+#. GiB means gibibyte
+#: ../src/common/helpers.py:171
+#, python-format
+msgid "%s GiB"
+msgstr "%s GiB"
+
+#. GB means gigabyte
+#: ../src/common/helpers.py:174
+#, python-format
+msgid "%s GB"
+msgstr "%s GB"
+
+#. MiB means mibibyte
+#: ../src/common/helpers.py:178
+#, python-format
+msgid "%s MiB"
+msgstr "%s MiB"
+
+#. MB means megabyte
+#: ../src/common/helpers.py:181
+#, python-format
+msgid "%s MB"
+msgstr "%s MB"
+
+#. KiB means kibibyte
+#: ../src/common/helpers.py:185
+#, python-format
+msgid "%s KiB"
+msgstr "%s KiB"
+
+#. KB means kilo bytes
+#: ../src/common/helpers.py:188
+#, python-format
+msgid "%s KB"
+msgstr "%s KB"
+
+#. B means bytes
+#: ../src/common/helpers.py:191
+#, python-format
+msgid "%s B"
+msgstr "%s B"
+
+#: ../src/common/helpers.py:222
+msgid "_Busy"
+msgstr "_Zauzet"
+
+#: ../src/common/helpers.py:224
+msgid "Busy"
+msgstr "Zauzet"
+
+#: ../src/common/helpers.py:227
+msgid "_Not Available"
+msgstr "_Nedostupan"
+
+#: ../src/common/helpers.py:232
+msgid "_Free for Chat"
+msgstr "_Slobodan za razgovor"
+
+#: ../src/common/helpers.py:234
+msgid "Free for Chat"
+msgstr "Slobodan za razgovor"
+
+#: ../src/common/helpers.py:237
+msgid "_Available"
+msgstr "_Dostupan"
+
+#: ../src/common/helpers.py:239
+msgid "Available"
+msgstr "Dostupan"
+
+#: ../src/common/helpers.py:241
+msgid "Connecting"
+msgstr "Povezivanje"
+
+#: ../src/common/helpers.py:244
+msgid "A_way"
+msgstr "O_dsutan"
+
+#: ../src/common/helpers.py:249
+msgid "_Offline"
+msgstr "_Nije na vezi"
+
+#: ../src/common/helpers.py:251
+msgid "Offline"
+msgstr "Nije na vezi"
+
+#: ../src/common/helpers.py:254
+msgid "_Invisible"
+msgstr "_Nevidljiv"
+
+#: ../src/common/helpers.py:260
+msgid "?contact has status:Unknown"
+msgstr "?kontakt ima status:Nepoznat"
+
+#: ../src/common/helpers.py:262
+msgid "?contact has status:Has errors"
+msgstr "?kontakt ima status:Postoje greške"
+
+#: ../src/common/helpers.py:267
+msgid "?Subscription we already have:None"
+msgstr "?Trenutna pretplata:Nijedna"
+
+#: ../src/common/helpers.py:269
+msgid "To"
+msgstr "Za"
+
+#: ../src/common/helpers.py:273
+msgid "Both"
+msgstr "Oboje"
+
+#: ../src/common/helpers.py:281
+msgid "?Ask (for Subscription):None"
+msgstr "?Pitaj (za pretplatu):Nijedna"
+
+#: ../src/common/helpers.py:283
+msgid "Subscribe"
+msgstr "Pretplatite se"
+
+#: ../src/common/helpers.py:292
+msgid "?Group Chat Contact Role:None"
+msgstr "?Uloga kontakta u grupnom razgovoru:Nikakva"
+
+#: ../src/common/helpers.py:295
+msgid "Moderators"
+msgstr "Moderatori"
+
+#: ../src/common/helpers.py:297
+msgid "Moderator"
+msgstr "Moderator"
+
+#: ../src/common/helpers.py:300
+msgid "Participants"
+msgstr "Učesnici"
+
+#: ../src/common/helpers.py:302
+msgid "Participant"
+msgstr "Učesnik"
+
+#: ../src/common/helpers.py:305
+msgid "Visitors"
+msgstr "Posjetitelji"
+
+#: ../src/common/helpers.py:307
+msgid "Visitor"
+msgstr "Posetilac"
+
+#: ../src/common/helpers.py:313
+msgid "?Group Chat Contact Affiliation:None"
+msgstr "?Vezanost kontakta u grupnom razogovru:Nikakva"
+
+#: ../src/common/helpers.py:315
+msgid "Owner"
+msgstr "Vlasnik"
+
+#: ../src/common/helpers.py:317
+msgid "Administrator"
+msgstr "Administrator"
+
+#: ../src/common/helpers.py:319
+msgid "Member"
+msgstr "ÄŒlan"
+
+#: ../src/common/helpers.py:358
+msgid "is paying attention to the conversation"
+msgstr "sluša konverzaciju"
+
+#: ../src/common/helpers.py:360
+msgid "is doing something else"
+msgstr "radi nešto drugo"
+
+#: ../src/common/helpers.py:362
+msgid "is composing a message..."
+msgstr "piše poruku..."
+
+#. paused means he or she was composing but has stopped for a while
+#: ../src/common/helpers.py:365
+msgid "paused composing a message"
+msgstr "pauza pri pisanju poruke"
+
+#: ../src/common/helpers.py:367
+msgid "has closed the chat window or tab"
+msgstr "je zatvorio/zatvorila prozor ili jezičak razgovora"
+
+#: ../src/common/helpers.py:913 ../src/common/helpers.py:920
+#, fuzzy, python-format
+msgid "%d message pending"
+msgid_plural "%d messages pending"
+msgstr[0] "Pošalji poruku"
+msgstr[1] "Pošalji poruku"
+msgstr[2] "Pošalji poruku"
+
+#: ../src/common/helpers.py:926
+#, python-format
+msgid " from room %s"
+msgstr ""
+
+#: ../src/common/helpers.py:929 ../src/common/helpers.py:948
+#, python-format
+msgid " from user %s"
+msgstr ""
+
+#: ../src/common/helpers.py:931
+#, python-format
+msgid " from %s"
+msgstr ""
+
+#: ../src/common/helpers.py:938 ../src/common/helpers.py:945
+#, python-format
+msgid "%d event pending"
+msgid_plural "%d events pending"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#: ../src/common/helpers.py:978
+#, python-format
+msgid "Gajim - %s"
+msgstr "Gajim - %s"
+
+#. we talk about a file
+#: ../src/common/optparser.py:60
+#, python-format
+msgid "error: cannot open %s for reading"
+msgstr "greška: ne mogu otvoriti %s za čitanje"
+
+#: ../src/common/optparser.py:203 ../src/common/optparser.py:204
+msgid "cyan"
+msgstr "cijan"
+
+#: ../src/common/optparser.py:320
+msgid "migrating logs database to indices"
+msgstr "prebacujem bazu dnevnika u indekse"
+
+#: ../src/common/passwords.py:82
+#, python-format
+msgid "Gajim account %s"
+msgstr "Gajim nalog %s"
+
+#: ../src/common/zeroconf/client_zeroconf.py:135
+#: ../src/common/zeroconf/client_zeroconf.py:218
+msgid "Connection to host could not be established"
+msgstr "Nije moguće ostvariti vezu sa hostom"
+
+#: ../src/common/zeroconf/client_zeroconf.py:192
+msgid ""
+"Connection to host could not be established: Incorrect answer from server."
+msgstr "Nije moguće ostvariti vezu sa hostom: Neispravan odgovor servera."
+
+#: ../src/common/zeroconf/client_zeroconf.py:352
+msgid ""
+"Connection to host could not be established: Timeout while sending data."
+msgstr ""
+"Nije moguće ostvariti vezu sa hostom: Vreme za slanje podataka je isteklo."
+
+#: ../src/common/zeroconf/client_zeroconf.py:638
+msgid "Contact is offline. Your message could not be sent."
+msgstr "Kontakt nije na vezi. Vašu poruku nije moguće poslati."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:204
+msgid "To continue sending and receiving messages, you will need to reconnect."
+msgstr ""
+"Ako želite nastaviti sa slanjem i primanjem poruka, morate se isključiti i "
+"ponovo doći na vezu."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:227
+msgid "Avahi error"
+msgstr "Avahi greška"
+
+#: ../src/common/zeroconf/connection_zeroconf.py:227
+#, python-format
+msgid ""
+"%s\n"
+"Link-local messaging might not work properly."
+msgstr ""
+"%s\n"
+"Poruke lokalne mreže možda neće raditi kako treba."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:238
+msgid "Please check if Avahi is installed."
+msgstr "Proverite da li je Avahi instaliran."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:247
+#: ../src/common/zeroconf/connection_zeroconf.py:251
+msgid "Could not start local service"
+msgstr "Nije moguće pokrenuti lokalni servis"
+
+#: ../src/common/zeroconf/connection_zeroconf.py:248
+#, python-format
+msgid "Unable to bind to port %d."
+msgstr "Ne mogu se povezati na port %d."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:252
+#: ../src/common/zeroconf/connection_zeroconf.py:347
+msgid "Please check if avahi-daemon is running."
+msgstr "Molimo proverite da li je avahi-demon pokrenut."
+
+#: ../src/common/zeroconf/connection_zeroconf.py:346
+#, python-format
+msgid "Could not change status of account \"%s\""
+msgstr "Nije moguće promeniti status računa \"%s\""
+
+#: ../src/common/zeroconf/connection_zeroconf.py:363
+msgid ""
+"You are not connected or not visible to others. Your message could not be "
+"sent."
+msgstr ""
+"Niste spojeni ili ste nevidljivi za druge. Vaša poruka ne može biti poslata."
+
+#. we're not english
+#: ../src/common/zeroconf/connection_zeroconf.py:375
+msgid "[This message is encrypted]"
+msgstr "[Ova poruka je Å¡ifrovana]"
+
+#~ msgid "_Discover Services..."
+#~ msgstr "_Otkrivanje usluga..."
+
+#~ msgid "_Retype Password:"
+#~ msgstr "_Ponovo ukucajte lozinku:"
+
+#~ msgid "_Use proxy"
+#~ msgstr "_Koristi proksi"
+
+#~ msgid "Accounts"
+#~ msgstr "Nalozi"
+
+#~ msgid ""
+#~ "If checked, all local contacts that use a Bonjour compatible chat client "
+#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to "
+#~ "be connected to a jabber server for it to work.\n"
+#~ "This is only available if python-avahi is installed and avahi-daemon is "
+#~ "running."
+#~ msgstr ""
+#~ "Ako je označeno, svi lokalni kontakti koji koriste Bonjour kompatibilni "
+#~ "klijent za razgovor (kao iChat, Trillian ili Gaim) će biti prikazani na "
+#~ "listi kontakata. Ne morate biti spojeni na džaber server kako bi ovo "
+#~ "radilo.\n"
+#~ "Ovo je dostupno samo ako je instaliran python-avahi i avahi-demon je  "
+#~ "pokrenut."
+
+#~ msgid ""
+#~ "If you have 2 or more accounts and this is checked, Gajim will list all "
+#~ "contacts as if you had one account"
+#~ msgstr ""
+#~ "Ako imate 2 ili više naloga i ovo je označeno, Gajim će prikazivati sve "
+#~ "kontakte kao da imate jedan nalog"
+
+#~ msgid "_Enable link-local messaging"
+#~ msgstr "_Omogući poruke preko lokalne veze"
+
+#~ msgid "_Modify"
+#~ msgstr "_Izmeni"
+
+#~ msgid "_Compact View    Alt+C"
+#~ msgstr "_Kompaktan pregled    Alt+K"
+
+#~ msgid "<b>Interface Customization</b>"
+#~ msgstr "<b>Prilagođavanje interfejsa</b>"
+
+#~ msgid "Also known as iChat style"
+#~ msgstr "Takođe znan i kao iChat stil"
+
+#~ msgid "Chat"
+#~ msgstr "Razgovor"
+
+#~ msgid "E_very 5 minutes"
+#~ msgstr "Na svakih 5 minuta"
+
+#~ msgid ""
+#~ "Gajim will automatically show new events by popping up the relative window"
+#~ msgstr ""
+#~ "Gajim će automatski prikazati nove događaje sa odogovarajućim iskačućim "
+#~ "prozorom"
+
+#~ msgid ""
+#~ "Gajim will notify you for new events via a popup in the bottom right of "
+#~ "the screen"
+#~ msgstr ""
+#~ "Gajim će Vas obavestiti o novim događajima preko iskačućeg obaveštenja u "
+#~ "donjem desnom uglu ekrana"
+
+#~ msgid ""
+#~ "Gajim will notify you via a popup window in the bottom right of the "
+#~ "screen about contacts that just signed in"
+#~ msgstr ""
+#~ "Gajim će Vas obavestiti o kontaktima koji su se upravo pojavili sa "
+#~ "iskačućim prozorom u donjem desnom uglu ekrana"
+
+#~ msgid ""
+#~ "Gajim will only change the icon of the contact that triggered the new "
+#~ "event"
+#~ msgstr "Gajim će samo izmeniti ikonu kontakta koji je izazvao novi događaj"
+
+#~ msgid ""
+#~ "If checked, Gajim will remember the roster and chat window positions in "
+#~ "the screen and the sizes of them next time you run it"
+#~ msgstr ""
+#~ "Ako je označeno, Gajim će pamtiti veličinu i poziciju prozora liste "
+#~ "kontakata i prozora razgovora sledeći put kada se pokrene"
+
+#~ msgid "On every _message"
+#~ msgstr "Na svaku poruku"
+
+#~ msgid "Outgoing Chat state noti_fications:"
+#~ msgstr "Obaveštenja o stanju odlaznog razgovora"
+
+#~ msgid "Print time:"
+#~ msgstr "Ispis vremena:"
+
+#~ msgid "Save _position and size for roster and chat windows"
+#~ msgstr "Čuvaj pozicije i veličine prozora za kontakte i za razgovor"
+
+#~ msgid "Show only in _roster"
+#~ msgstr "Prikaži samo u listi kontakata"
+
+#~ msgid "Use t_rayicon (aka. notification area icon)"
+#~ msgstr "Koristi ikonu panel (tzv. ikonu obaveštenja)"
+
+#~ msgid ""
+#~ "When a new event (message, file transfer request etc..) is received, the "
+#~ "following methods may be used to inform you about it. Please note that "
+#~ "events about new messages only occur if it is a new message from a "
+#~ "contact you are not already chatting with"
+#~ msgstr ""
+#~ "Kada se primi novi događaj (poruka, zahtev za prenos datoteke i sl.), "
+#~ "mogu se korisititi sledeće metode obaveštavanja. Imajte na umu da se "
+#~ "obaveštavanja o novim porukama prikazuju samo za kontakte sa kojima "
+#~ "trenutno ne razgovarate"
+
+#~ msgid "_Never"
+#~ msgstr "_Nikada"
+
+#~ msgid "_Notify me about it"
+#~ msgstr "_Obavesti me o tome"
+
+#~ msgid "_Pop it up"
+#~ msgstr "_Iskoči ga"
+
+#~ msgid "_Remove from Roster"
+#~ msgstr "_Izbriši sa liste kontakata"
+
+#~ msgid "Add _Contact"
+#~ msgstr "Dodaj _kontakt"
+
+#~ msgid "_Filter:"
+#~ msgstr "_Filter:"
+
+#~ msgid ""
+#~ "If that is not your language for which you want to highlight misspelled "
+#~ "words, then please set your $LANG as appropriate. Eg. for French do "
+#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to "
+#~ "make it global in /etc/profile.\n"
+#~ "\n"
+#~ "Highlighting misspelled words feature will not be used"
+#~ msgstr ""
+#~ "Ako ovo nije Vaš jezik za koji želite da obojite loše napisane reči, "
+#~ "molimo podesite $LANG promenljivu okruženja na odgovarajuću vrednost. "
+#~ "Npr. za francuski, uradite export LANG=fr_FR ili export LANG=fr_FR.UTF-8 "
+#~ "u ~/.bash_profile ili, kako bi bilo globalno u /etc/profile.\n"
+#~ "\n"
+#~ "Mogućnost bojenja loše napisanih reči neće biti korišćena"
+
+#~ msgid "Every %s _minutes"
+#~ msgstr "Svaka %s _minuta"
+
+#~ msgid "You must enter a password for the new account."
+#~ msgstr "Morate uneti lozinku za novi nalog"
+
+#~ msgid "%s does not appear to be a valid JID"
+#~ msgstr "%s ne liči da je validan Džaber ID"
+
+#~ msgid "Drop %s in group %s"
+#~ msgstr "Spusti %s u grupu %s"
+
+#~ msgid "Make %s and %s metacontacts"
+#~ msgstr "Napravi od %s i %s pseudokontakte"
+
+#~ msgid "Hides the buttons in two persons chat window."
+#~ msgstr "Sakriva dugmad u prozoru razgovora dve osobe."
+
+#~ msgid " %d unread single message"
+#~ msgid_plural " %d unread single messages"
+#~ msgstr[0] "%d nepročitana samostalna poruka"
+#~ msgstr[1] "%d nepročitane samostalne poruke"
+#~ msgstr[2] "%d nepročitanih samostalnih poruka"
+
+#~ msgid " %d unread group chat message"
+#~ msgid_plural " %d unread group chat messages"
+#~ msgstr[0] "%d nepročitana poruka grupnog razgovora"
+#~ msgstr[1] "%d nepročitane poruke grupnog razgovora"
+#~ msgstr[2] "%d nepročitanih poruka grupnog razgovora"
+
+#~ msgid " %d unread private message"
+#~ msgid_plural " %d unread private messages"
+#~ msgstr[0] "%d nepročitana privatna poruka"
+#~ msgstr[1] "%d nepročitane privatne poruke"
+#~ msgstr[2] "%d nepročitanih privatnih poruka"
+
+#~ msgid "Error while adding service. %s"
+#~ msgstr "Greška prilikom dodavanja servisa. %s"
diff --git a/setup_osx.py b/setup_osx.py
new file mode 100644
index 0000000000000000000000000000000000000000..748c07ffbbcc4eb32eaeffdee4b15beece834095
--- /dev/null
+++ b/setup_osx.py
@@ -0,0 +1,200 @@
+"""
+Usage:
+    python setup_osx.py [build | dist]
+"""
+
+from setuptools import setup
+import sys, glob, os, commands, types
+from os import system, unlink, symlink, getcwd, mkdir, utime
+from shutil import move, copy, copytree, rmtree
+
+###
+### Globals
+###
+
+GTK_DIR="/Library/Frameworks/GTK+.framework/Versions/Current"
+NAME = 'Gajim'
+VERSION = '0.11'
+DESCRIPTION = 'A full featured Jabber client'
+AUTHOR = 'Gajim Development Team'
+URL = 'http://www.gajim.org/'
+DOWNLOAD_URL = 'http://www.gajim.org/downloads.php'
+LICENSE = 'GPL'
+PWD = getcwd()
+APP_RS = "dist/Gajim.app/Contents/Resources"
+
+GAJIM_SCRIPT = \
+'#!/bin/bash \n\
+export DYLD_LIBRARY_PATH=%s/lib \n\
+export PATH=%s/bin:$PATH \n\
+export PYTHONPATH=%s/lib/python2.5/site-packages:%s/lib/python2.5/site-packages/gtk-2.0 \n\
+exec ${0}.bin \n\
+' % (GTK_DIR, GTK_DIR, GTK_DIR, GTK_DIR)
+
+GAJIM_REMOTE_SCRIPT = \
+'#!/bin/bash \n\
+export DYLD_LIBRARY_PATH=%s/lib \n\
+TOPDIR=${0%%/MacOS/gajim-remote} \n\
+echo "${TOPDIR}" | grep -e "^/" \n\
+[ $? -ne 0 ] && TOPDIR=`pwd`/${TOPDIR} \n\
+export RESOURCEPATH=${TOPDIR}/Resources \n\
+export PYTHONHOME=${RESOURCEPATH}/lib/python2.5 \n\
+export PYTHONPATH=${RESOURCEPATH}/lib/python2.5/lib-dynload:${RESOURCEPATH}/lib/python2.5/site-packages.zip:${PYTHONPATH} \n\
+cd ${RESOURCEPATH} \n\
+exec ${TOPDIR}/MacOS/Python ${RESOURCEPATH}/gajim-remote.py $* \n\
+' % GTK_DIR
+
+###
+### Functions
+###
+
+def check(ret):
+	if type(ret) == types.ListType:
+		if ret[0] != 0:
+			raise Exception("Command failed: " + ret[1])
+	elif type(ret) == types.IntType:
+		if ret != 0:
+			raise Exception("Command failed")
+	return
+
+
+def force(func):
+	try:
+		func()
+	except:
+		pass
+	return
+
+
+def writeScript(filename, contents):
+	script = file(filename, "w+")
+	script.write(contents)
+	script.close()
+	system("chmod +x %s" % filename)
+	return
+
+
+def cleanup():
+	force(lambda:rmtree("build"))
+	force(lambda:rmtree("dist"))
+
+def stageInstall():
+	check(system("make DATADIR=%s/build/inst LIBDIR=%s/build/inst prefix=%s/build/inst DOCDIR=%s/build/inst/share/doc install" % (PWD, PWD, PWD, PWD)))
+	force(lambda:unlink("src/osx/growl/_growl.so"))
+	force(lambda:unlink("src/osx/growl/_growlImage.so"))
+	force(lambda:unlink("src/osx/idle.so"))
+	force(lambda:unlink("src/osx/nsapp.so"))
+	force(lambda:unlink("src/osx/syncmenu.so"))
+	force(lambda:unlink("src/gtkspell.so"))
+	symlink("%s/build/inst/lib/gajim/_growl.so" % PWD, "src/osx/growl/_growl.so")
+	symlink("%s/build/inst/lib/gajim/_growlImage.so" % PWD,
+		 "src/osx/growl/_growlImage.so")
+	symlink("%s/build/inst/lib/gajim/idle.so" % PWD, "src/osx/idle.so")
+	symlink("%s/build/inst/lib/gajim/nsapp.so" % PWD, "src/osx/nsapp.so")
+	symlink("%s/build/inst/lib/gajim/syncmenu.so" % PWD, "src/osx/syncmenu.so")
+	if os.path.isfile("build/inst/lib/gajim/gtkspell.so"):
+		symlink("%s/build/inst/lib/gajim/gtkspell.so" % PWD, "src/gtkspell.so")
+	return
+
+
+def buildApp():
+	sys.path.append('src')
+	sys.path.append(GTK_DIR + "/lib/python2.5/site-packages")
+	sys.path.append(GTK_DIR + "/lib/python2.5/site-packages/gtk-2.0")
+	OPTIONS = {'argv_emulation':True,
+			   'excludes':'docutils,Crypto,dbus,OpenSSL,cairo,gtk,gobject,atk,pangocairo',
+			   'iconfile':'data/pixmaps/gajim.icns',
+			   'includes':'osx,ConfigParser,compiler,UserString,history_manager',
+			   'plist':{'LSMinimumSystemVersion':'10.4.0',
+						'NSHumanReadableCopyright':'GNU General Public License',
+						'CFBundleIdentifier':'org.gajim',
+						'NSMainNibFile':'Gajim',
+						},
+			   }
+	setup(
+		name = NAME, version = VERSION, description = DESCRIPTION,
+		author = AUTHOR, url = URL, download_url = DOWNLOAD_URL,
+		license = LICENSE,
+		app=['src/gajim.py'],
+		data_files=['data/nibs/Gajim.nib'],
+		options={'py2app': OPTIONS},
+		setup_requires=['py2app'],
+		)
+	return
+
+
+def setupPrep():
+	copy("src/osx/prep_py2app.py", APP_RS)
+	move("dist/Gajim.app/Contents/Resources/__boot__.py",
+		 "dist/Gajim.app/Contents/Resources/__boot__.py.org")
+	new = file("dist/Gajim.app/Contents/Resources/__boot__.py", "w+")
+	org = file("dist/Gajim.app/Contents/Resources/__boot__.py.org")
+	for line in org:
+		new.write(line)
+		if (('site.addsitedir' in line) and ('Python' in line)):
+			new.write("    import prep_py2app\n")
+	new.close()
+	org.close()
+	unlink("dist/Gajim.app/Contents/Resources/__boot__.py.org")
+	return
+
+
+def finishApp():
+	# setup gajim dirs
+	copytree("build/inst/share/gajim/data", APP_RS + "/data")
+	copy("data/pixmaps/gajim.icns", APP_RS + "/data/pixmaps")
+	copytree("build/inst/locale", APP_RS + "/locale")
+	copytree("build/inst/share/man", APP_RS + "/man")
+	force(lambda:unlink("dist/Gajim.app/Contents/data"))
+	symlink("Resources/data", "dist/Gajim.app/Contents/data")
+	copy("src/gajim-remote.py", "dist/Gajim.app/Contents/Resources")
+	# Nuke libs that are in the framework
+	move("dist/Gajim.app/Contents/Frameworks/Python.framework",
+		 "dist/Gajim.app/Contents/Python.framework")
+	rmtree("dist/Gajim.app/Contents/Frameworks")
+	mkdir("dist/Gajim.app/Contents/Frameworks")
+	move("dist/Gajim.app/Contents/Python.framework",
+		 "dist/Gajim.app/Contents/Frameworks/Python.framework")
+	# Adjust the running of the app
+	move("dist/Gajim.app/Contents/MacOS/Gajim",
+		 "dist/Gajim.app/Contents/MacOS/Gajim.bin")
+	writeScript("dist/Gajim.app/Contents/MacOS/Gajim", GAJIM_SCRIPT)
+	setupPrep()
+	# Setup the gajim-remote script
+	writeScript("dist/Gajim.app/Contents/MacOS/gajim-remote",
+				GAJIM_REMOTE_SCRIPT)
+	# Touch the top dir so Finder knows to update its idea of this bundle
+	utime("dist/Gajim.app", None)
+	return
+
+
+def distApp():
+	force(lambda:rmtree("dist/Gajim"))
+	force(lambda:rmtree("dist/Gajim.tar.bz2"))
+	mkdir("dist/Gajim")
+	check(system("tar -cf - -C dist Gajim.app | tar -xf - -C dist/Gajim"))
+	copy("README.osx", "dist/Gajim/README")
+	copy("TODO.osx", "dist/Gajim/TODO")
+	check(system("tar -C dist -jcf dist/Gajim-OSX-`date | awk '{printf(\"%s-%s-%s\", $6, $2, $3);}'`.tar.bz2 Gajim"))
+	rmtree("dist/Gajim")
+	return
+
+
+
+###
+### Start
+###
+if ((len(sys.argv) != 2) or ((sys.argv[1] != "build") and
+	(sys.argv[1] != "dist"))):
+	print "usage: python setup_osx.py [build]"
+	print "   or: python setup_osx.py [dist]"
+	sys.exit(1)
+elif sys.argv[1] == "build":
+	sys.argv[1] = "py2app"
+	sys.argv.append('--use-pythonpath')
+	cleanup()
+	stageInstall()
+	buildApp()
+	finishApp()
+elif sys.argv[1] == "dist":
+	distApp()
diff --git a/setup_win32.py b/setup_win32.py
index 5deffb08db83797460d44ed93e12526e630eb7ab..92cc7fd815874080c5acccc24d23931e3b3116a3 100644
--- a/setup_win32.py
+++ b/setup_win32.py
@@ -1,17 +1,21 @@
 ## setup_win32.py (run me as python setup_win32.py py2exe -O2)
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
 
 from distutils.core import setup
 import py2exe
@@ -23,14 +27,14 @@ includes = ['encodings', 'encodings.utf-8',]
 
 opts = {
     'py2exe': {
-        'includes': 'pango,atk,gobject,cairo,pangocairo,gtk.keysyms,encodings,encodings.*',
+        'includes': 'pango,atk,gobject,cairo,pangocairo,gtk.keysyms,encodings,encodings.*,docutils.readers.*,docutils.writers.html4css1',
         'dll_excludes': [
             'iconv.dll','intl.dll','libatk-1.0-0.dll',
             'libgdk_pixbuf-2.0-0.dll','libgdk-win32-2.0-0.dll',
             'libglib-2.0-0.dll','libgmodule-2.0-0.dll',
             'libgobject-2.0-0.dll','libgthread-2.0-0.dll',
             'libgtk-win32-2.0-0.dll','libpango-1.0-0.dll',
-            'libpangowin32-1.0-0.dll','libcairo-2.dll',
+            'libpangowin32-1.0-0.dll','libcairo-2.dll',
             'libpangocairo-1.0-0.dll','libpangoft2-1.0-0.dll',
         ],
     }
@@ -38,7 +42,7 @@ opts = {
 
 setup(
     name = 'Gajim',
-    version = '0.11',
+    version = '0.11.4',
     description = 'A full featured Jabber client',
     author = 'Gajim Development Team',
     url = 'http://www.gajim.org/',
diff --git a/src/Makefile.am b/src/Makefile.am
index 30eb995a95f44390ba2784d6328cc48a304b3c88..27a73419687fdb2e1c905e789b4427bae9f29992 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,9 +1,10 @@
-SUBDIRS = common
+SUBDIRS = common osx
 
 CLEANFILES = \
 	trayicon.c
 INCLUDES = \
 	$(PYTHON_INCLUDES) 
+export MACOSX_DEPLOYMENT_TARGET=10.4
 
 if BUILD_GTKSPELL
 gtkspelllib_LTLIBRARIES = gtkspell.la
diff --git a/src/adhoc_commands.py b/src/adhoc_commands.py
index ecee225219d064782a47ce80a541eafa4ff219e3..687a09bd58683103337629613a4f9b66421feb0f 100644
--- a/src/adhoc_commands.py
+++ b/src/adhoc_commands.py
@@ -1,17 +1,22 @@
 # -*- coding: utf-8 -*-
 ##	adhoc_commands.py
 ##
-## Copyright (C) 2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2006 Yann Leboulanger <asterix@lagaule.org>
 ##                    Nikos Kouremenos <nkour@jabber.org>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
 
 # FIXME: think if we need caching command list. it may be wrong if there will
 # be entities that often change the list, it may be slow to fetch it every time
@@ -286,8 +291,7 @@ class CommandWindow:
 		self.remove_pulsing()
 		self.sending_form_progressbar.hide()
 
-		if not self.sessionid:
-			self.sessionid = command.getAttr('sessionid')
+		self.sessionid = command.getAttr('sessionid')
 
 		self.form_status = command.getAttr('status')
 
@@ -446,7 +450,7 @@ class CommandWindow:
 			# no commands => no commands stage
 			# commands => command selection stage
 			query = response.getTag('query')
-			if query:
+			if query and query.getAttr('node') == xmpp.NS_COMMANDS:
 				items = query.getTags('item')
 			else:
 				items = []
diff --git a/src/advanced.py b/src/advanced.py
index 54ff572754a102efca38b8ed136bcb0e6e6f6801..e7d9647ff97bcd929f3399dd65a2a5aee333b5d4 100644
--- a/src/advanced.py
+++ b/src/advanced.py
@@ -1,18 +1,23 @@
 ##	advanced.py
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005 Vincent Hanquez <tab@snarc.org>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gtkgui_helpers
@@ -98,8 +103,7 @@ class AdvancedConfigurationWindow(object):
 		make the cellrenderertext not editable else it's editable'''
 		optname = model[iter][C_PREFNAME]
 		opttype = model[iter][C_TYPE]
-		if opttype == self.types['boolean'] or optname in ('password', 
-			'gpgpassword'):
+		if opttype == self.types['boolean'] or optname == 'password':
 			cell.set_property('editable', False)
 		else:
 			cell.set_property('editable', True)
@@ -234,7 +238,7 @@ class AdvancedConfigurationWindow(object):
 			type = val[OPT_TYPE][0]
 			type = self.types[type] # i18n
 		value = val[OPT_VAL]
-		if name in ('password', 'gpgpassword'):
+		if name == 'password':
 			#we talk about password
 			value = _('Hidden') # override passwords with this string
 		if value in self.right_true_dict:
diff --git a/src/atom_window.py b/src/atom_window.py
index 3bab31fdf46e14fc0b8045260868a47a710202f2..25836c6dcfe6a7d46404290c2d2adde80dc9d911 100644
--- a/src/atom_window.py
+++ b/src/atom_window.py
@@ -3,19 +3,24 @@
 ## For now greatly simplified, supports only simple feeds like the
 ## one from pubsub.com.
 ##
-## Copyright (C) 2006-2007 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2006-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2007 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2006-2007 Liori (I think) put ur self here please
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 
 import gtk
diff --git a/src/cell_renderer_image.py b/src/cell_renderer_image.py
index aaf1f8cd17e3a0e900c129243a7039fa299ed38e..a4e8386d055edbbda3a0d51ae5307a593c6acf17 100644
--- a/src/cell_renderer_image.py
+++ b/src/cell_renderer_image.py
@@ -1,27 +1,32 @@
 ##	cell_renderer_image.py
 ##
 ## Contributors for this file:
-## - Yann Le Boulanger <asterix@lagaule.org>
+## - Yann Leboulanger <asterix@lagaule.org>
 ## - Nikos Kouremenos <kourem@gmail.com>
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <kourem@gmail.com>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gobject
@@ -89,6 +94,8 @@ class CellRendererImage(gtk.GenericCellRenderer):
 
 		if self.image.get_storage_type() == gtk.IMAGE_ANIMATION:
 			if self.image not in self.iters:
+				if not isinstance(widget, gtk.TreeView):
+					return
 				animation = self.image.get_animation()
 				iter =  animation.get_iter()
 				self.iters[self.image] = iter
diff --git a/src/chat_control.py b/src/chat_control.py
index 9bf90ced9130f2ffd0fecaa82eb67dcf20bfc430..3474895a4a025be07381500b567957bfba211da8 100644
--- a/src/chat_control.py
+++ b/src/chat_control.py
@@ -1,21 +1,27 @@
 ##	chat_control.py
 ##
-## Copyright (C) 2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2006-2007 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2006 Travis Shirk <travis@pobox.com>
-## Copyright (C) 2006 Dimitur Kirov <dkirov@gmail.com>
+##                    Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
-## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
+##                    Julien Pivotto <roidelapluie@gmail.com>
+##                    Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
 import time
@@ -27,6 +33,7 @@ import message_control
 import dialogs
 import history_window
 import notify
+import re
 
 from common import gajim
 from common import helpers
@@ -45,21 +52,24 @@ try:
 except:
 	HAS_GTK_SPELL = False
 
-
 # the next script, executed in the "po" directory,
 # generates the following list.
 ##!/bin/sh
-#LANG=$(for i in *.po; do  j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
+#LANG=$(for i in *.po; do j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done)
 #echo "{_('en'):'en'",$LANG"}"
 langs = {_('English'): 'en', _('Belarusian'): 'be', _('Bulgarian'): 'bg', _('Breton'): 'br', _('Czech'): 'cs', _('German'): 'de', _('Greek'): 'el', _('British'): 'en_GB', _('Esperanto'): 'eo', _('Spanish'): 'es', _('Basque'): 'eu', _('French'): 'fr', _('Croatian'): 'hr', _('Italian'): 'it', _('Norwegian (b)'): 'nb', _('Dutch'): 'nl', _('Norwegian'): 'no', _('Polish'): 'pl', _('Portuguese'): 'pt', _('Brazilian Portuguese'): 'pt_BR', _('Russian'): 'ru', _('Serbian'): 'sr', _('Slovak'): 'sk', _('Swedish'): 'sv', _('Chinese (Ch)'): 'zh_CN'}
 
-
 ################################################################################
 class ChatControlBase(MessageControl):
 	'''A base class containing a banner, ConversationTextview, MessageTextView
 	'''
+	def make_href(self, match):
+		url_color = gajim.config.get('urlmsgcolor')
+		return '<a href="%s"><span color="%s">%s</span></a>' % (match.group(),
+			url_color, match.group())
+
 	def get_font_attrs(self):
-		''' get pango font  attributes for banner from theme settings '''
+		''' get pango font attributes for banner from theme settings '''
 		theme = gajim.config.get('roster_theme')
 		bannerfont = gajim.config.get_per('themes', theme, 'bannerfont')
 		bannerfontattrs = gajim.config.get_per('themes', theme, 'bannerfontattrs')
@@ -119,6 +129,9 @@ class ChatControlBase(MessageControl):
 	event_keymod):
 		pass # Derived should implement this rather than connecting to the event itself.
 
+	def status_url_clicked(self, widget, url):
+		helpers.launch_browser_mailer('url', url)
+
 	def __init__(self, type_id, parent_win, widget_name, contact, acct, 
 	resource = None):
 		MessageControl.__init__(self, type_id, parent_win, widget_name,
@@ -137,6 +150,22 @@ class ChatControlBase(MessageControl):
 		id = widget.connect('button-press-event',
 			self._on_banner_eventbox_button_press_event)
 		self.handlers[id] = widget
+
+		self.urlfinder = re.compile(r"(www\.(?!\.)|[a-z][a-z0-9+.-]*://)[^\s<>'\"]+[^!,\.\s<>\)'\"\]]")
+
+		if gajim.HAVE_PYSEXY:
+			import sexy
+			self.banner_status_label = sexy.UrlLabel()
+			self.banner_status_label.connect('url_activated', self.status_url_clicked)
+		else:
+			self.banner_status_label = gtk.Label()
+		self.banner_status_label.set_selectable(True)
+		self.banner_status_label.set_alignment(0,0.5)
+
+		banner_vbox = self.xml.get_widget('banner_vbox')
+		banner_vbox.pack_start(self.banner_status_label)
+		self.banner_status_label.show()
+
 		# Init DND
 		self.TARGET_TYPE_URI_LIST = 80
 		self.dnd_list = [ ( 'text/uri-list', 0, self.TARGET_TYPE_URI_LIST ),
@@ -151,6 +180,9 @@ class ChatControlBase(MessageControl):
 
 		# Create textviews and connect signals
 		self.conv_textview = ConversationTextview(self.account)
+		id = self.conv_textview.tv.connect('key_press_event',
+			self._conv_textview_key_press_event)
+		self.handlers[id] = self.conv_textview.tv
 		# FIXME: DND on non editable TextView, find a better way
 		self.drag_entered = False
 		id = self.conv_textview.tv.connect('drag_data_received',
@@ -246,13 +278,14 @@ class ChatControlBase(MessageControl):
 					spell.set_language(lang)
 			except (gobject.GError, RuntimeError), msg:
 				dialogs.AspellDictError(lang)
-		self.style_event_id = 0
 		self.conv_textview.tv.show()
 		self._paint_banner()
 
 		# For JEP-0172
 		self.user_nick = None
 
+		self.smooth = True
+
 	def on_msg_textview_populate_popup(self, textview, menu):
 		'''we override the default context menu and we prepend an option to switch languages'''
 		def _on_select_dictionary(widget, lang):
@@ -321,6 +354,7 @@ class ChatControlBase(MessageControl):
 		banner_eventbox = self.xml.get_widget('banner_eventbox')
 		banner_name_label = self.xml.get_widget('banner_name_label')
 		self.disconnect_style_event(banner_name_label)
+		self.disconnect_style_event(self.banner_status_label)
 		if bgcolor:
 			banner_eventbox.modify_bg(gtk.STATE_NORMAL, 
 				gtk.gdk.color_parse(bgcolor))
@@ -330,25 +364,33 @@ class ChatControlBase(MessageControl):
 		if textcolor:
 			banner_name_label.modify_fg(gtk.STATE_NORMAL,
 				gtk.gdk.color_parse(textcolor))
+			self.banner_status_label.modify_fg(gtk.STATE_NORMAL,
+				gtk.gdk.color_parse(textcolor))
 			default_fg = False
 		else:
 			default_fg = True
 		if default_bg or default_fg:
 			self._on_style_set_event(banner_name_label, None, default_fg,
 				default_bg)
-	
+			self._on_style_set_event(self.banner_status_label, None, default_fg,
+				default_bg)
+
 	def disconnect_style_event(self, widget):
-		if self.style_event_id:
-			widget.disconnect(self.style_event_id)
-			del self.handlers[self.style_event_id]
-			self.style_event_id = 0	
+		# Try to find the event_id
+		found = False
+		for id in self.handlers:
+			if self.handlers[id] == widget:
+				found = True
+				break
+		if found:
+			widget.disconnect(id)
+			del self.handlers[id]
 	
 	def connect_style_event(self, widget, set_fg = False, set_bg = False):
 		self.disconnect_style_event(widget)
-		self.style_event_id = widget.connect('style-set',
-			self._on_style_set_event, set_fg, set_bg)
-		self.handlers[self.style_event_id] = widget
-	
+		id = widget.connect('style-set', self._on_style_set_event, set_fg, set_bg)
+		self.handlers[id] = widget
+
 	def _on_style_set_event(self, widget, style, *opts):
 		'''set style of widget from style class *.Frame.Eventbox 
 			opts[0] == True -> set fg color
@@ -362,7 +404,14 @@ class ChatControlBase(MessageControl):
 			fg_color = widget.style.fg[gtk.STATE_SELECTED]
 			widget.modify_fg(gtk.STATE_NORMAL, fg_color)
 		self.connect_style_event(widget, opts[0], opts[1])
-	
+
+	def _conv_textview_key_press_event(self, widget, event):
+		if gtk.gtk_version < (2, 12, 0):
+			return
+		if event.state & (gtk.gdk.SHIFT_MASK | gtk.gdk.CONTROL_MASK):
+			return False
+		self.parent_win.notebook.emit('key_press_event', event)
+
 	def _on_keypress_event(self, widget, event):
 		if event.state & gtk.gdk.CONTROL_MASK:
 			# CTRL + l|L: clear conv_textview
@@ -389,6 +438,7 @@ class ChatControlBase(MessageControl):
 					event.keyval == gtk.keysyms.Page_Up:
 				self.parent_win.notebook.emit('key_press_event', event)
 				return True
+
 		elif event.keyval == gtk.keysyms.m and \
 			(event.state & gtk.gdk.MOD1_MASK): # alt + m opens emoticons menu
 			if gajim.config.get('emoticons_theme'):
@@ -402,7 +452,7 @@ class ChatControlBase(MessageControl):
 					# get the cursor position
 					cursor = msg_tv.get_iter_location(buf.get_iter_at_mark(
 						buf.get_insert()))
-					cursor =  msg_tv.buffer_to_window_coords(gtk.TEXT_WINDOW_TEXT,
+					cursor = msg_tv.buffer_to_window_coords(gtk.TEXT_WINDOW_TEXT,
 						cursor.x, cursor.y)
 					x = origin[0] + cursor[0]
 					y = origin[1] + size[1]
@@ -519,7 +569,7 @@ class ChatControlBase(MessageControl):
 
 	def _on_drag_data_received(self, widget, context, x, y, selection,
 		target_type, timestamp):
-		pass  # Derived classes SHOULD implement this method
+		pass # Derived classes SHOULD implement this method
 
 	def _on_drag_leave(self, widget, context, time):
 		# FIXME: DND on non editable TextView, find a better way
@@ -614,7 +664,7 @@ class ChatControlBase(MessageControl):
 
 		if kind in ('incoming', 'incoming_queue'):
 			gc_message = False
-			if self.type_id  == message_control.TYPE_GC:
+			if self.type_id == message_control.TYPE_GC:
 				gc_message = True
 
 			if ((self.parent_win and (not self.parent_win.get_active_jid() or \
@@ -712,10 +762,11 @@ class ChatControlBase(MessageControl):
 		if not jid:
 			jid = self.contact.jid
 
-		if gajim.interface.instances['logs'].has_key(jid):
-			gajim.interface.instances['logs'][jid].window.present()
+		if gajim.interface.instances.has_key('logs'):
+			gajim.interface.instances['logs'].window.present()
+			gajim.interface.instances['logs'].open_history(jid, self.account)
 		else:
-			gajim.interface.instances['logs'][jid] = \
+			gajim.interface.instances['logs'] = \
 				history_window.HistoryWindow(jid, self.account)
 
 	def on_minimize_menuitem_toggled(self, widget):
@@ -795,7 +846,7 @@ class ChatControlBase(MessageControl):
 		# but we also want to avoid window resizing so if we reach that 
 		# minimum for conversation_textview and maximum for message_textview
 		# we set to automatic the scrollbar policy
-		diff_y =  message_height - requisition.height
+		diff_y = message_height - requisition.height
 		if diff_y != 0:
 			if conversation_height + diff_y < min_height:
 				if message_height + conversation_height - min_height > min_height:
@@ -812,9 +863,10 @@ class ChatControlBase(MessageControl):
 				self.msg_scrolledwindow.set_property('vscrollbar-policy', 
 					gtk.POLICY_NEVER)
 				self.msg_scrolledwindow.set_property('height-request', -1)
-
-		self.conv_textview.bring_scroll_to_end(diff_y - 18)
-		
+			self.conv_textview.bring_scroll_to_end(diff_y - 18, False)
+		else:
+			self.conv_textview.bring_scroll_to_end(diff_y - 18, self.smooth)
+		self.smooth = True # reinit the flag
 		# enable scrollbar automatic policy for horizontal scrollbar
 		# if message we have in message_textview is too big
 		if requisition.width > message_width:
@@ -895,6 +947,7 @@ class ChatControlBase(MessageControl):
 			if self.sent_history_pos == 0:
 				return
 			self.sent_history_pos = self.sent_history_pos - 1
+			self.smooth = False
 			conv_buf.set_text(self.sent_history[self.sent_history_pos])
 		elif direction == 'down':
 			if self.sent_history_pos >= size - 1:
@@ -904,6 +957,7 @@ class ChatControlBase(MessageControl):
 				return
 
 			self.sent_history_pos = self.sent_history_pos + 1
+			self.smooth = False
 			conv_buf.set_text(self.sent_history[self.sent_history_pos])
 
 	def lighten_color(self, color):
@@ -948,11 +1002,11 @@ class ChatControl(ChatControlBase):
 	TYPE_ID = message_control.TYPE_CHAT
 	old_msg_kind = None # last kind of the printed message
 	CHAT_CMDS = ['clear', 'compact', 'help', 'me', 'ping', 'say']
-	
-	def __init__(self, parent_win, contact, acct, resource = None):
+
+	def __init__(self, parent_win, contact, acct, session, resource = None):
 		ChatControlBase.__init__(self, self.TYPE_ID, parent_win,
 			'chat_child_vbox', contact, acct, resource)
-			
+
 		# for muc use:
 		# widget = self.xml.get_widget('muc_window_actions_button')
 		widget = self.xml.get_widget('message_window_actions_button')
@@ -968,7 +1022,7 @@ class ChatControl(ChatControlBase):
 		# it is on enter-notify and leave-notify so no need to be per jid
 		self.show_bigger_avatar_timeout_id = None
 		self.bigger_avatar_window = None
-		self.show_avatar(self.contact.resource)			
+		self.show_avatar(self.contact.resource)
 
 		# chatstate timers and state
 		self.reset_kbd_mouse_timeout_vars()
@@ -982,7 +1036,7 @@ class ChatControl(ChatControlBase):
 		id = message_tv_buffer.connect('changed',
 			self._on_message_tv_buffer_changed)
 		self.handlers[id] = message_tv_buffer
-		
+
 		widget = self.xml.get_widget('avatar_eventbox')
 		id = widget.connect('enter-notify-event',
 			self.on_avatar_eventbox_enter_notify_event)
@@ -1002,7 +1056,9 @@ class ChatControl(ChatControlBase):
 
 		if self.contact.jid in gajim.encrypted_chats[self.account]:
 			self.xml.get_widget('gpg_togglebutton').set_active(True)
-		
+
+		self.set_session(session)
+
 		self.status_tooltip = gtk.Tooltips()
 		self.update_ui()
 		# restore previous conversation
@@ -1045,7 +1101,7 @@ class ChatControl(ChatControlBase):
 			menuitem = gtk.ImageMenuItem(gtk.STOCK_SAVE_AS)
 			id = menuitem.connect('activate', 
 				gtkgui_helpers.on_avatar_save_as_menuitem_activate,
-				self.contact.jid, self.account, self.contact.get_shown_name() +  
+				self.contact.jid, self.account, self.contact.get_shown_name() + \
 					'.jpeg')
 			self.handlers[id] = menuitem
 			menu.append(menuitem)
@@ -1146,11 +1202,10 @@ class ChatControl(ChatControlBase):
 
 		status = contact.status
 		if status is not None:
-			self.status_tooltip.set_tip(banner_eventbox, status)
-			self.status_tooltip.enable()
 			banner_name_label.set_ellipsize(pango.ELLIPSIZE_END)
-			status = helpers.reduce_chars_newlines(status, max_lines = 1)
-		status_escaped = gobject.markup_escape_text(status)
+			self.banner_status_label.set_ellipsize(pango.ELLIPSIZE_END)
+			status_reduced = helpers.reduce_chars_newlines(status, max_lines = 1)
+		status_escaped = gobject.markup_escape_text(status_reduced)
 
 		font_attrs, font_attrs_small = self.get_font_attrs()
 		st = gajim.config.get('displayed_chat_state_notifications')
@@ -1179,11 +1234,23 @@ class ChatControl(ChatControlBase):
 			# weight="heavy" size="x-large"
 			label_text = '<span %s>%s</span><span %s>%s</span>' % \
 				(font_attrs, name, font_attrs_small, acct_info)
+
 		if status_escaped:
-			label_text += '\n<span %s>%s</span>' %\
-				(font_attrs_small, status_escaped)
+			if gajim.HAVE_PYSEXY:
+				status_text = self.urlfinder.sub(self.make_href, status_escaped)
+				status_text = '<span %s>%s</span>' % (font_attrs_small, status_text)
+			else:
+				status_text = '<span %s>%s</span>' % (font_attrs_small, status_escaped)
+			self.status_tooltip.set_tip(banner_eventbox, status)
+			self.banner_status_label.show()
+			self.banner_status_label.set_no_show_all(False)
 		else:
+			status_text = ''
 			self.status_tooltip.disable()
+			self.banner_status_label.hide()
+			self.banner_status_label.set_no_show_all(True)
+
+		self.banner_status_label.set_markup(status_text)
 		# setup the label that holds name and jid
 		banner_name_label.set_markup(label_text)
 
@@ -1231,7 +1298,11 @@ class ChatControl(ChatControlBase):
 			message_array = []
 
 		if command == 'me':
-			return False # This is not really a command
+			if len(message_array):
+				return False # /me is not really a command
+			else:
+				self.get_command_help(command)
+				return True # do not send "/me" as message
 
 		if command == 'help':
 			if len(message_array):
@@ -1295,13 +1366,13 @@ class ChatControl(ChatControlBase):
 
 		contact = self.contact
 
+		encrypted = bool(self.session) and self.session.enable_encryption
+
 		keyID = ''
-		encrypted = False
 		if self.xml.get_widget('gpg_togglebutton').get_active():
 			keyID = contact.keyID
 			encrypted = True
 
-
 		chatstates_on = gajim.config.get('outgoing_chat_state_notifications') != \
 			'disabled'
 		composing_xep = contact.composing_xep
@@ -1313,7 +1384,7 @@ class ChatControl(ChatControlBase):
 				# this is here (and not in send_chatstate)
 				# because we want it sent with REAL message
 				# (not standlone) eg. one that has body
-				
+
 				if contact.our_chatstate:
 					# We already asked for xep 85, don't ask it twice
 					composing_xep = 'asked_once'
@@ -1393,6 +1464,26 @@ class ChatControl(ChatControlBase):
 		self.mouse_over_in_last_30_secs = False
 		self.kbd_activity_in_last_30_secs = False
 
+	def on_cancel_session_negotiation(self):
+		msg = _('Session negotiation cancelled')
+		ChatControlBase.print_conversation_line(self, msg, 'status', '', None)
+
+	# print esession settings to textview
+	def print_esession_details(self):
+		if self.session and self.session.enable_encryption:
+			msg = _('E2E encryption enabled')
+			ChatControlBase.print_conversation_line(self, msg, 'status', '', None)
+
+			if self.session.loggable:
+				msg = _('Session WILL be logged')
+			else:
+				msg = _('Session WILL NOT be logged')
+
+			ChatControlBase.print_conversation_line(self, msg, 'status', '', None)
+		else:
+			msg = _('E2E encryption disabled')
+			ChatControlBase.print_conversation_line(self, msg, 'status', '', None)
+
 	def print_conversation(self, text, frm = '', tim = None,
 		encrypted = False, subject = None, xhtml = None):
 		'''Print a line in the conversation:
@@ -1412,18 +1503,26 @@ class ChatControl(ChatControlBase):
 			kind = 'info'
 			name = ''
 		else:
-			ec = gajim.encrypted_chats[self.account]
-			if encrypted and jid not in ec:
-				msg = _('Encryption enabled')
-				ChatControlBase.print_conversation_line(self, msg, 
-					'status', '', tim)
-				ec.append(jid)
-			elif not encrypted and jid in ec:
-				msg = _('Encryption disabled')
-				ChatControlBase.print_conversation_line(self, msg,
-					'status', '', tim)
-				ec.remove(jid)
-			self.xml.get_widget('gpg_togglebutton').set_active(encrypted)
+			if self.session and self.session.enable_encryption:
+				if not encrypted:
+					msg = _('The following message was NOT encrypted')
+					ChatControlBase.print_conversation_line(self, msg, 
+						'status', '', tim)
+			else:
+				# GPG encryption
+				ec = gajim.encrypted_chats[self.account]
+				if encrypted and jid not in ec:
+					msg = _('OpenPGP Encryption enabled')
+					ChatControlBase.print_conversation_line(self, msg, 
+						'status', '', tim)
+					ec.append(jid)
+				elif not encrypted and jid in ec:
+					msg = _('OpenPGP Encryption disabled')
+					ChatControlBase.print_conversation_line(self, msg,
+						'status', '', tim)
+					ec.remove(jid)
+				self.xml.get_widget('gpg_togglebutton').set_active(encrypted)
+
 			if not frm:
 				kind = 'incoming'
 				name = contact.get_shown_name()
@@ -1530,27 +1629,41 @@ class ChatControl(ChatControlBase):
 		'''
 		xml = gtkgui_helpers.get_glade('chat_control_popup_menu.glade')
 		menu = xml.get_widget('chat_control_popup_menu')
-		
+
 		history_menuitem = xml.get_widget('history_menuitem')
 		toggle_gpg_menuitem = xml.get_widget('toggle_gpg_menuitem')
+		toggle_e2e_menuitem = xml.get_widget('toggle_e2e_menuitem')
 		add_to_roster_menuitem = xml.get_widget('add_to_roster_menuitem')
 		send_file_menuitem = xml.get_widget('send_file_menuitem')
 		information_menuitem = xml.get_widget('information_menuitem')
-		
+		convert_to_gc_menuitem = xml.get_widget('convert_to_groupchat')
+		muc_icon = gajim.interface.roster.load_icon('muc_active')
+		if muc_icon:
+			convert_to_gc_menuitem.set_image(muc_icon) 
+
+		ag = gtk.accel_groups_from_object(self.parent_win.window)[0]
+		history_menuitem.add_accelerator('activate', ag, gtk.keysyms.h, gtk.gdk.CONTROL_MASK,
+			gtk.ACCEL_VISIBLE)
+		information_menuitem.add_accelerator('activate', ag, gtk.keysyms.i,
+			gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
+
 		contact = self.parent_win.get_active_contact()
 		jid = contact.jid
-		
-		# history_menuitem
-		if gajim.jid_is_transport(jid):
-			history_menuitem.set_sensitive(False)
-		
+
 		# check if gpg capabitlies or else make gpg toggle insensitive
 		gpg_btn = self.xml.get_widget('gpg_togglebutton')
 		isactive = gpg_btn.get_active()
 		is_sensitive = gpg_btn.get_property('sensitive')
 		toggle_gpg_menuitem.set_active(isactive)
 		toggle_gpg_menuitem.set_property('sensitive', is_sensitive)
-		
+
+		# TODO: check that the remote client supports e2e
+		if not gajim.HAVE_PYCRYPTO:
+			toggle_e2e_menuitem.set_sensitive(False)
+		else:
+			isactive = int(self.session != None and self.session.enable_encryption)
+			toggle_e2e_menuitem.set_active(isactive)
+
 		# If we don't have resource, we can't do file transfer
 		# in transports, contact holds our info we need to disable it too
 		if self.TYPE_ID == message_control.TYPE_PM and self.gc_contact.jid and \
@@ -1560,7 +1673,12 @@ class ChatControl(ChatControlBase):
 			send_file_menuitem.set_sensitive(True)
 		else:
 			send_file_menuitem.set_sensitive(False)
-		
+
+		# check if it's possible to convert to groupchat
+		if gajim.get_transport_name_from_jid(jid) or \
+		gajim.connections[self.account].is_zeroconf:
+			convert_to_gc_menuitem.set_sensitive(False)
+
 		# add_to_roster_menuitem
 		if _('Not in Roster') in contact.groups:
 			add_to_roster_menuitem.show()
@@ -1568,8 +1686,7 @@ class ChatControl(ChatControlBase):
 		else:
 			add_to_roster_menuitem.hide()
 			add_to_roster_menuitem.set_no_show_all(True)
-		
-		
+
 		# connect signals
 		id = history_menuitem.connect('activate', 
 			self._on_history_menuitem_activate)
@@ -1582,13 +1699,27 @@ class ChatControl(ChatControlBase):
 		self.handlers[id] = add_to_roster_menuitem 
 		id = toggle_gpg_menuitem.connect('activate', 
 			self._on_toggle_gpg_menuitem_activate)
+		id = toggle_e2e_menuitem.connect('activate', 
+			self._on_toggle_e2e_menuitem_activate)
 		self.handlers[id] = toggle_gpg_menuitem 
 		id = information_menuitem.connect('activate', 
 			self._on_contact_information_menuitem_activate)
 		self.handlers[id] = information_menuitem
-		menu.connect('selection-done', lambda w:w.destroy())	
+		id = convert_to_gc_menuitem.connect('activate',
+			self._on_convert_to_gc_menuitem_activate)
+		self.handlers[id] = convert_to_gc_menuitem
+		menu.connect('selection-done', self.destroy_menu, history_menuitem,
+			information_menuitem)
 		return menu
 
+	def destroy_menu(self, menu, history_menuitem, information_menuitem):
+		# destroy accelerators
+		ag = gtk.accel_groups_from_object(self.parent_win.window)[0]
+		history_menuitem.remove_accelerator(ag, gtk.keysyms.h, gtk.gdk.CONTROL_MASK)
+		information_menuitem.remove_accelerator(ag, gtk.keysyms.i, gtk.gdk.CONTROL_MASK)
+		# destroy menu
+		menu.destroy()
+
 	def send_chatstate(self, state, contact = None):
 		''' sends OUR chatstate as STANDLONE chat state message (eg. no body)
 		to contact only if new chatstate is different from the previous one
@@ -1766,15 +1897,14 @@ class ChatControl(ChatControlBase):
 
 	def _on_drag_data_received(self, widget, context, x, y, selection,
 		target_type, timestamp):
-		# If no resource is known, we can't send a file
+		if not selection.data:
+			return
 		if self.TYPE_ID == message_control.TYPE_PM:
 			c = self.gc_contact
 		else:
 			c = self.contact
-		if not c.resource:
-			return
 		if target_type == self.TARGET_TYPE_URI_LIST:
-			if not selection.data:
+			if not c.resource: # If no resource is known, we can't send a file
 				return
 			uri = selection.data.strip()
 			uri_splitted = uri.split() # we may have more than one file dropped
@@ -1783,6 +1913,26 @@ class ChatControl(ChatControlBase):
 				if os.path.isfile(path): # is it file?
 					ft = gajim.interface.instances['file_transfers']
 					ft.send_file(self.account, c, path)
+			return
+
+		# chat2muc
+		treeview = gajim.interface.roster.tree
+		model = treeview.get_model()
+		data = selection.data
+		path = treeview.get_selection().get_selected_rows()[1][0]
+		iter = model.get_iter(path)
+		type = model[iter][2]
+		account = model[iter][4].decode('utf-8')
+		if type != 'contact': # source is not a contact
+			return
+		dropped_jid = data.decode('utf-8')
+
+		dropped_transport = gajim.get_transport_name_from_jid(dropped_jid)
+		c_transport = gajim.get_transport_name_from_jid(c.jid)
+		if dropped_transport or c_transport:
+			return # transport contacts cannot be invited
+
+		dialogs.TransformChatToMUC(self.account, [c.jid], [dropped_jid])
 
 	def _on_message_tv_buffer_changed(self, textbuffer):
 		self.kbd_activity_in_last_5_secs = True
@@ -1850,12 +2000,16 @@ class ChatControl(ChatControlBase):
 
 	def read_queue(self):
 		'''read queue and print messages containted in it'''
+
 		jid = self.contact.jid
 		jid_with_resource = jid
 		if self.resource:
 			jid_with_resource += '/' + self.resource
 		events = gajim.events.get_events(self.account, jid_with_resource)
 
+		if hasattr(self, 'session') and self.session and self.session.enable_encryption:
+			self.print_esession_details()
+
 		# Is it a pm ?
 		is_pm = False
 		room_jid, nick = gajim.get_room_and_nick_from_fjid(jid)
@@ -1877,6 +2031,9 @@ class ChatControl(ChatControlBase):
 				encrypted = data[4], subject = data[1], xhtml = data[7])
 			if len(data) > 6 and isinstance(data[6], int):
 				message_ids.append(data[6])
+
+			if len(data) > 8:
+				self.set_session(data[8])
 		if message_ids:
 			gajim.logger.set_read_messages(message_ids)
 		gajim.events.remove_events(self.account, jid_with_resource,
@@ -1943,6 +2100,8 @@ class ChatControl(ChatControlBase):
 		# so this line adds that
 		window.set_events(gtk.gdk.POINTER_MOTION_MASK)
 		window.set_app_paintable(True)
+		if gtk.gtk_version >= (2, 10, 0) and gtk.pygtk_version >= (2, 10, 0):
+			window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_TOOLTIP)
 		
 		window.realize()
 		window.window.set_back_pixmap(pixmap, False) # make it transparent
@@ -2000,6 +2159,31 @@ class ChatControl(ChatControlBase):
 		tb = self.xml.get_widget('gpg_togglebutton')
 		tb.set_active(not tb.get_active())
 
+	def _on_convert_to_gc_menuitem_activate(self, widget):
+		'''user want to invite some friends to chat'''
+		dialogs.TransformChatToMUC(self.account, [self.contact.jid])
+
+	def _on_toggle_e2e_menuitem_activate(self, widget):
+		if self.session and self.session.enable_encryption:
+			self.session.terminate_e2e()
+
+			self.print_esession_details()
+
+			jid = str(self.session.jid)
+
+			gajim.connections[self.account].delete_session(jid,
+				self.session.thread_id)
+
+			self.set_session(gajim.connections[self.account].make_new_session(jid))
+		else:
+			if not self.session:
+				fjid = self.contact.get_full_jid()
+				new_sess = gajim.connections[self.account].make_new_session(fjid)
+				self.set_session(new_sess)
+
+			# XXX decide whether to use 4 or 3 message negotiation
+			self.session.negotiate_e2e(False)
+
 	def got_connected(self):
 		ChatControlBase.got_connected(self)
 		# Refreshing contact
diff --git a/src/common/GnuPG.py b/src/common/GnuPG.py
index 7d1a88e560a2d8b80a684acb362c688827b2da51..8870b6bd3f51937f8253ab55e83ba61a21cff43d 100644
--- a/src/common/GnuPG.py
+++ b/src/common/GnuPG.py
@@ -1,27 +1,32 @@
 ##	common/GnuPG.py
 ##
 ## Contributors for this file:
-##	- Yann Le Boulanger <asterix@lagaule.org>
+##	- Yann Leboulanger <asterix@lagaule.org>
 ##	- Nikos Kouremenos <kourem@gmail.com>
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <kourem@gmail.com>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
 from os import tmpfile
@@ -87,19 +92,36 @@ else:
 				return str, 'GnuPG not usable'
 			self.options.recipients = recipients   # a list!
 
-			proc = self.run(['--encrypt'], create_fhs=['stdin', 'stdout',
+			proc = self.run(['--encrypt'], create_fhs=['stdin', 'stdout', 'status',
 				'stderr'])
 			proc.handles['stdin'].write(str)
-			proc.handles['stdin'].close()
+			try:
+				proc.handles['stdin'].close()
+			except IOError:
+				pass
 
 			output = proc.handles['stdout'].read()
-			proc.handles['stdout'].close()
+			try:
+				proc.handles['stdout'].close()
+			except IOError:
+				pass
+
+			stat = proc.handles['status']
+			resp = self._read_response(stat)
+			try:
+				proc.handles['status'].close()
+			except IOError:
+				pass
 
 			error = proc.handles['stderr'].read()
 			proc.handles['stderr'].close()
 
 			try: proc.wait()
 			except IOError: pass
+			if 'BEGIN_ENCRYPTION' in resp and 'END_ENCRYPTION' in resp:
+				# Encryption succeeded, even if there is output on stderr. Maybe
+				# verbose is on
+				error = ''
 			return self._stripHeaderFooter(output), error
 
 		def decrypt(self, str, keyID):
diff --git a/src/common/GnuPGInterface.py b/src/common/GnuPGInterface.py
index 46fca86aacaa877b6d8acbb7891f6ff6f7c6dc0a..b86786bb170af6efb7d0b083ae6eda1e3329339c 100644
--- a/src/common/GnuPGInterface.py
+++ b/src/common/GnuPGInterface.py
@@ -213,6 +213,9 @@ This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
 
 You should have received a copy of the GNU Lesser General Public
 License along with this library; if not, write to the Free Software
diff --git a/src/common/caps.py b/src/common/caps.py
index 49179db648c77cd50423ae4b5f3d57033dc34f27..080c28503473e491aaa905cbc95051dd499c504d 100644
--- a/src/common/caps.py
+++ b/src/common/caps.py
@@ -1,15 +1,20 @@
 ##
 ## Copyright (C) 2006 Gajim Team
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 from itertools import *
 import xmpp
@@ -244,7 +249,7 @@ class ConnectionCaps(object):
 		if not contact: return
 		if not contact.caps_node: return # we didn't asked for that?
 		if not node.startswith(contact.caps_node+'#'): return
-		node, ext = node.split('#')
+		node, ext = node.split('#', 1)
 		if ext==contact.caps_ver:	# this can be also version (like '0.9')
 			exts=None
 		else:
diff --git a/src/common/check_paths.py b/src/common/check_paths.py
index b7f06046d978ca71c99db6533c0540d874a06003..aba84008cac19931c8fa8221f397b3b532dadb0a 100644
--- a/src/common/check_paths.py
+++ b/src/common/check_paths.py
@@ -1,17 +1,22 @@
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005-2006 Travis Shirk <travis@pobox.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
 import sys
@@ -122,7 +127,7 @@ def check_and_possibly_create_paths():
 			print _('%s is a directory but should be a file') % LOG_DB_PATH
 			print _('Gajim will now exit')
 			sys.exit()
-
+		
 	else: # dot_gajim doesn't exist
 		if dot_gajim: # is '' on win9x so avoid that
 			create_path(dot_gajim)
diff --git a/src/common/commands.py b/src/common/commands.py
index 8020958730e7f7dd5cfe17210cee26e8a90d858f..2e4ad6e25ff3e1f039eee3f4b18c0fd328a472df 100644
--- a/src/common/commands.py
+++ b/src/common/commands.py
@@ -1,15 +1,20 @@
 ##
 ## Copyright (C) 2006 Gajim Team
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import xmpp
 import helpers
@@ -162,7 +167,7 @@ def find_current_groupchats(account):
 
 class LeaveGroupchatsCommand(AdHocCommand):
 	commandnode = 'leave-groupchats'
-	commandname = 'Leave Groupchats'
+	commandname = _('Leave Groupchats')
 
 	@staticmethod
 	def isVisibleFor(samejid):
@@ -288,6 +293,8 @@ class ConnectionCommands:
 		iq = iq_obj.buildReply('result')
 		jid = helpers.get_full_jid_from_iq(iq_obj)
 		q = iq.getTag('query')
+		# buildReply don't copy the node attribute. Re-add it
+		q.setAttr('node', xmpp.NS_COMMANDS)
 
 		for node, cmd in self.__commands.iteritems():
 			if cmd.isVisibleFor(self.isSameJID(jid)):
@@ -299,8 +306,8 @@ class ConnectionCommands:
 
 		self.connection.send(iq)
 
-	def commandQuery(self, con, iq_obj):
-		''' Send disco result for query for command (JEP-0050, example 6.).
+	def commandInfoQuery(self, con, iq_obj):
+		''' Send disco#info result for query for command (JEP-0050, example 6.).
 		Return True if the result was sent, False if not. '''
 		jid = helpers.get_full_jid_from_iq(iq_obj)
 		node = iq_obj.getTagAttr('query', 'node')
@@ -323,6 +330,22 @@ class ConnectionCommands:
 
 		return False
 
+	def commandItemsQuery(self, con, iq_obj):
+		''' Send disco#items result for query for command.
+		Return True if the result was sent, False if not. '''
+		jid = helpers.get_full_jid_from_iq(iq_obj)
+		node = iq_obj.getTagAttr('query', 'node')
+
+		if node not in self.__commands: return False
+
+		cmd = self.__commands[node]
+		if cmd.isVisibleFor(self.isSameJID(jid)):
+			iq = iq_obj.buildReply('result')
+			self.connection.send(iq)
+			return True
+
+		return False
+
 	def _CommandExecuteCB(self, con, iq_obj):
 		jid = helpers.get_full_jid_from_iq(iq_obj)
 
diff --git a/src/common/config.py b/src/common/config.py
index 5f5a8d29bc0a534737efb7c4478bfb426ebbf5f9..1570059adeb415ae89515669f03130b9f14d6dcf 100644
--- a/src/common/config.py
+++ b/src/common/config.py
@@ -1,25 +1,32 @@
 ##	common/config.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2004-2005 Vincent Hanquez <tab@snarc.org>
 ## Copyright (C) 2005 Dimitur Kirov <dkirov@gmail.com>
-## Copyright (C) 2005 Travis Shirk <travis@pobox.com>
-## Copyright (C) 2005 Norman Rasmussen <norman@rasmussen.co.za>
+##                    Travis Shirk <travis@pobox.com>
+##                    Norman Rasmussen <norman@rasmussen.co.za>
 ## Copyright (C) 2006 Stefan Bethge <stefan@lanpartei.de>
 ## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
+##                    Stephan Erb <steve-e@h3c.de> 
 ## 
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 
+import sys
 import re
 import copy
 import defs
@@ -44,6 +51,16 @@ opt_treat_incoming_messages = ['', 'chat', 'normal']
 class Config:
 
 	DEFAULT_ICONSET = 'dcraven'
+	if sys.platform == 'darwin':
+		DEFAULT_OPENWITH = 'open'
+		DEFAULT_BROWSER = 'open -a Safari'
+		DEFAULT_MAILAPP = 'open -a Mail'
+		DEFAULT_FILE_MANAGER = 'open -a Finder'
+	else:
+		DEFAULT_OPENWITH = 'gnome-open'
+		DEFAULT_BROWSER = 'firefox'
+		DEFAULT_MAILAPP = 'mozilla-thunderbird -compose'
+		DEFAULT_FILE_MANAGER = 'xffm'
 
 	__options = {
 		# name: [ type, default_value, help_string ]
@@ -102,10 +119,10 @@ class Config:
 		'sounds_on': [ opt_bool, True ],
 		# 'aplay', 'play', 'esdplay', 'artsplay' detected first time only
 		'soundplayer': [ opt_str, '' ],
-		'openwith': [ opt_str, 'gnome-open' ],
-		'custombrowser': [ opt_str, 'firefox' ],
-		'custommailapp': [ opt_str, 'mozilla-thunderbird -compose' ],
-		'custom_file_manager': [ opt_str, 'xffm' ],
+		'openwith': [ opt_str, DEFAULT_OPENWITH ],
+		'custombrowser': [ opt_str, DEFAULT_BROWSER ],
+		'custommailapp': [ opt_str, DEFAULT_MAILAPP ],
+		'custom_file_manager': [ opt_str, DEFAULT_FILE_MANAGER ],
 		'gc-hpaned-position': [opt_int, 430],
 		'gc_refer_to_nick_char': [opt_str, ',', _('Character to add after nickname when using nick completion (tab) in group chat.')],
 		'gc_proposed_nick_char': [opt_str, '_', _('Character to propose to add after desired nickname when desired nickname is used by someone else in group chat.')],
@@ -127,7 +144,7 @@ class Config:
 		'single-msg-height': [opt_int, 280],
 		'roster_x-position': [ opt_int, 0 ],
 		'roster_y-position': [ opt_int, 0 ],
-		'roster_width': [ opt_int, 150 ],
+		'roster_width': [ opt_int, 200 ],
 		'roster_height': [ opt_int, 400 ],
 		'latest_disco_addresses': [ opt_str, '' ],
 		'recently_groupchat': [ opt_str, '' ],
@@ -136,9 +153,10 @@ class Config:
 		'after_nickname': [ opt_str, ':', _('Characters that are printed after the nickname in conversations') ],
 		'send_os_info': [ opt_bool, True ],
 		'set_status_msg_from_current_music_track': [ opt_bool, False ],
+		'set_status_msg_from_lastfm': [ opt_bool, False, _('If checked, Gajim can regularly poll a Last.fm account and adjust the status message to reflect recently played songs. set_status_msg_from_current_music_track option must be False.') ],
+		'lastfm_username': [ opt_str, '', _('The username used to identify the Last.fm account.')],
 		'notify_on_new_gmail_email': [ opt_bool, True ],
 		'notify_on_new_gmail_email_extra': [ opt_bool, False ],
-		'usegpg': [ opt_bool, False, '', True ],
 		'use_gpg_agent': [ opt_bool, False ],
 		'change_roster_title': [ opt_bool, True, _('Add * and [n] in roster title?')],
 		'restore_lines': [opt_int, 4, _('How many lines to remember from previous conversation when a chat tab/window is reopened.')],
@@ -175,6 +193,8 @@ class Config:
 		'tabs_always_visible': [opt_bool, False, _('Show tab when only one conversation?')],
 		'tabs_border': [opt_bool, False, _('Show tabbed notebook border in chat windows?')],
 		'tabs_close_button': [opt_bool, True, _('Show close button in tab?')],
+		'log_encrypted_sessions': [opt_bool, False, _('When negotiating an encrypted session, should Gajim assume you want your messages to be logged?')],
+		'e2e_public_key': [opt_bool, False, _('When negotiating an encrypted session, should Gajim prefer to use public keys for identification?')],
 		'chat_avatar_width': [opt_int, 52],
 		'chat_avatar_height': [opt_int, 52],
 		'roster_avatar_width': [opt_int, 32],
@@ -218,6 +238,7 @@ class Config:
 		'hide_groupchat_occupants_list': [opt_bool, False, _('Hides the group chat occupants list in group chat window.')],
 		'chat_merge_consecutive_nickname': [opt_bool, False, _('In a chat, show the nickname at the beginning of a line only when it\'s not the same person talking than in previous message.')],
 		'chat_merge_consecutive_nickname_indent': [opt_str, '  ', _('Indentation when using merge consecutive nickname.')],
+		'use_smooth_scrolling': [opt_bool, True, _('Smooth scroll message in conversation window')],
 		'gc_nicknames_colors': [ opt_str, '#a34526:#c000ff:#0012ff:#388a99:#045723:#7c7c7c:#ff8a00:#94452d:#244b5a:#32645a', _('List of colors that will be used to color nicknames in group chats.'), True ],
 		'ctrl_tab_go_to_next_composing': [opt_bool, True, _('Ctrl-Tab go to next composing tab when none is unread.')],
 		'confirm_metacontacts': [ opt_str, '', _('Should we show the confirm metacontacts creation dialog or not? Empty string means we never show the dialog.')],
@@ -235,6 +256,8 @@ class Config:
 		'subscribe_mood': [opt_bool, True],
 		'subscribe_activity': [opt_bool, True],
 		'subscribe_tune': [opt_bool, True],
+		'attach_notifications_to_systray': [opt_bool, False, _('If True, notification windows from notification-daemon will be attached to systray icon.')],
+		'use_pep': [opt_bool, False, 'temporary variable to enable pep support'],
 	}
 
 	__options_per_key = {
@@ -257,14 +280,14 @@ class Config:
 			'active': [ opt_bool, True],
 			'proxy': [ opt_str, '', '', True ],
 			'keyid': [ opt_str, '', '', True ],
+			'gpg_sign_presence': [ opt_bool, True, _('If disabled, don\'t sign presences with GPG key, even if GPG is configured.') ],
 			'keyname': [ opt_str, '', '', True ],
 			'usessl': [ opt_bool, False, '', True ],
+			'ssl_fingerprint_sha1': [ opt_str, '', '', True ],
 			'use_srv': [ opt_bool, True, '', True ],
 			'use_custom_host': [ opt_bool, False, '', True ],
 			'custom_port': [ opt_int, 5222, '', True ],
 			'custom_host': [ opt_str, '', '', True ],
-			'savegpgpass': [ opt_bool, False, '', True ],
-			'gpgpassword': [ opt_str, '' ],
 			'sync_with_global_status': [ opt_bool, False, ],
 			'no_log_for': [ opt_str, '' ],
 			'minimized_gc': [ opt_str, '' ],
diff --git a/src/common/configpaths.py b/src/common/configpaths.py
index da41fb8d71516f16a0b128a786ea2426ad3d66a2..516d849ef3bc00f25e6ce5de8bde020e0c4473f7 100644
--- a/src/common/configpaths.py
+++ b/src/common/configpaths.py
@@ -79,9 +79,9 @@ class ConfigPaths:
 
 		# LOG is deprecated
 		k = ( 'LOG',   'LOG_DB',   'VCARD',   'AVATAR',   'MY_EMOTS',
-			'MY_ICONSETS' )
+			'MY_ICONSETS', 'MY_CACERTS')
 		v = (u'logs', u'logs.db', u'vcards', u'avatars', u'emoticons',
-			u'iconsets')
+			u'iconsets',  u'cacerts.pem')
 
 		if os.name == 'nt':
 			v = map(lambda x: x.capitalize(), v)
@@ -102,16 +102,19 @@ class ConfigPaths:
 		# for k, v in paths.iteritems():
 		# 	print "%s: %s" % (repr(k), repr(v))
 
-	def init_profile(self, profile):
+	def init_profile(self, profile = ''):
 		conffile = windowsify(u'config')
 		pidfile = windowsify(u'gajim')
+		secretsfile = windowsify(u'secrets')
 
 		if len(profile) > 0:
 			conffile += u'.' + profile
 			pidfile += u'.' + profile
+			secretsfile += u'.' + profile
 		pidfile += u'.pid'
 		self.add_from_root('CONFIG_FILE', conffile)
 		self.add_from_root('PID_FILE', pidfile)
+		self.add_from_root('SECRETS_FILE', secretsfile)
 
 		# for k, v in paths.iteritems():
 		# 	print "%s: %s" % (repr(k), repr(v))
diff --git a/src/common/connection.py b/src/common/connection.py
index 393a7d741c2365bd7d42a1ea75e93da8cf5724e9..91c89f22098593aba5b8129b933090ca1d86bc15 100644
--- a/src/common/connection.py
+++ b/src/common/connection.py
@@ -2,26 +2,34 @@
 ##
 ##
 ## Copyright (C) 2003-2004 Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
-## Copyright (C) 2005-2006 Dimitur Kirov <dkirov@gmail.com>
-## Copyright (C) 2005-2006 Travis Shirk <travis@pobox.com>
+##                         Dimitur Kirov <dkirov@gmail.com>
+##                         Travis Shirk <travis@pobox.com>
 ## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
+##                    Stephan Erb <steve-e@h3c.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
 import random
 import socket
 
+import time
+
 try:
 	randomsource = random.SystemRandom()
 except:
@@ -50,39 +58,39 @@ log = logging.getLogger('gajim.c.connection')
 
 import gtkgui_helpers
 
-ssl_error = { 
-2: "Unable to get issuer certificate",
-3: "Unable to get certificate CRL",
-4: "Unable to decrypt certificate's signature",
-5: "Unable to decrypt CRL's signature",
-6: "Unable to decode issuer public key",
-7: "Certificate signature failure",
-8: "CRL signature failure",
-9: "Certificate is not yet valid",
-10: "Certificate has expired",
-11: "CRL is not yet valid",
-12: "CRL has expired",
-13: "Format error in certificate's notBefore field",
-14: "Format error in certificate's notAfter field",
-15: "Format error in CRL's lastUpdate field",
-16: "Format error in CRL's nextUpdate field",
-17: "Out of memory",
-18: "Self signed certificate in certificate chain",
-19: "Unable to get local issuer certificate",
-20: "Unable to verify the first certificate",
-21: "Unable to verify the first certificate",
-22: "Certificate chain too long",
-23: "Certificate revoked",
-24: "Invalid CA certificate",
-25: "Path length constraint exceeded",
-26: "Unsupported certificate purpose",
-27: "Certificate not trusted",
-28: "Certificate rejected",
-29: "Subject issuer mismatch",
-30: "Authority and subject key identifier mismatch",
-31: "Authority and issuer serial number mismatch",
-32: "Key usage does not include certificate signing",
-50: "Application verification failure"
+ssl_error = {
+2: _("Unable to get issuer certificate"),
+3: _("Unable to get certificate CRL"),
+4: _("Unable to decrypt certificate's signature"),
+5: _("Unable to decrypt CRL's signature"),
+6: _("Unable to decode issuer public key"),
+7: _("Certificate signature failure"),
+8: _("CRL signature failure"),
+9: _("Certificate is not yet valid"),
+10: _("Certificate has expired"),
+11: _("CRL is not yet valid"),
+12: _("CRL has expired"),
+13: _("Format error in certificate's notBefore field"),
+14: _("Format error in certificate's notAfter field"),
+15: _("Format error in CRL's lastUpdate field"),
+16: _("Format error in CRL's nextUpdate field"),
+17: _("Out of memory"),
+18: _("Self signed certificate in certificate chain"),
+19: _("Unable to get local issuer certificate"),
+20: _("Unable to verify the first certificate"),
+21: _("Unable to verify the first certificate"),
+22: _("Certificate chain too long"),
+23: _("Certificate revoked"),
+24: _("Invalid CA certificate"),
+25: _("Path length constraint exceeded"),
+26: _("Unsupported certificate purpose"),
+27: _("Certificate not trusted"),
+28: _("Certificate rejected"),
+29: _("Subject issuer mismatch"),
+30: _("Authority and subject key identifier mismatch"),
+31: _("Authority and issuer serial number mismatch"),
+32: _("Key usage does not include certificate signing"),
+50: _("Application verification failure")
 }
 class Connection(ConnectionHandlers):
 	'''Connection class'''
@@ -99,6 +107,8 @@ class Connection(ConnectionHandlers):
 		self.last_connection = None # last ClientCommon instance
 		self.is_zeroconf = False
 		self.gpg = None
+		if USE_GPG:
+			self.gpg = GnuPG.GnuPG(gajim.config.get('use_gpg_agent'))
 		self.status = ''
 		self.priority = gajim.get_priority(name, 'offline')
 		self.old_show = ''
@@ -109,6 +119,7 @@ class Connection(ConnectionHandlers):
 		self.time_to_reconnect = None
 		self.last_time_to_reconnect = None
 		self.new_account_info = None
+		self.new_account_form = None
 		self.bookmarks = []
 		self.annotations = {}
 		self.on_purpose = False
@@ -117,7 +128,7 @@ class Connection(ConnectionHandlers):
 		self.last_history_line = {}
 		self.password = passwords.get_password(name)
 		self.server_resource = gajim.config.get_per('accounts', name, 'resource')
-		# All valid resource substitution strings should be added to this hash. 
+		# All valid resource substitution strings should be added to this hash.
 		if self.server_resource:
 			self.server_resource = Template(self.server_resource).safe_substitute({
 				'hostname': socket.gethostname()
@@ -131,18 +142,13 @@ class Connection(ConnectionHandlers):
 		self.blocked_contacts = []
 		self.blocked_groups = []
 		self.pep_supported = False
-		# Do we continue connection when we get roster (send presence,get vcard...)
+		# Do we continue connection when we get roster (send presence,get vcard..)
 		self.continue_connect_info = None
 		# To know the groupchat jid associated with a sranza ID. Useful to
 		# request vcard or os info... to a real JID but act as if it comes from
 		# the fake jid
 		self.groupchat_jids = {} # {ID : groupchat_jid}
-		if USE_GPG:
-			self.gpg = GnuPG.GnuPG(gajim.config.get('use_gpg_agent'))
-			gajim.config.set('usegpg', True)
-		else:
-			gajim.config.set('usegpg', False)
-		
+
 		self.on_connect_success = None
 		self.on_connect_failure = None
 		self.retrycount = 0
@@ -151,7 +157,7 @@ class Connection(ConnectionHandlers):
 		self.available_transports = {} # list of available transports on this
 		# server {'icq': ['icq.server.com', 'icq2.server.com'], }
 		self.vcard_supported = True
-		self.metacontacts_supported = True
+		self.private_storage_supported = True
 	# END __init__
 
 	def put_event(self, ev):
@@ -171,16 +177,15 @@ class Connection(ConnectionHandlers):
 			self.connected = 1
 			self.dispatch('STATUS', 'connecting')
 			self.retrycount += 1
-			signed = self.get_signed_msg(self.status)
 			self.on_connect_auth = self._init_roster
-			self.connect_and_init(self.old_show, self.status, signed)
+			self.connect_and_init(self.old_show, self.status, self.gpg != None)
 		else:
 			# reconnect succeeded
 			self.time_to_reconnect = None
 			self.retrycount = 0
-	
+
 	# We are doing disconnect at so many places, better use one function in all
-	def disconnect(self, on_purpose = False):
+	def disconnect(self, on_purpose=False):
 		#FIXME: set the Tune to None before disconnection per account
 		#gajim.interface.roster._music_track_changed(None, None)
 		self.on_purpose = on_purpose
@@ -193,7 +198,7 @@ class Connection(ConnectionHandlers):
 			self.connection.disconnect()
 			self.last_connection = None
 			self.connection = None
-	
+
 	def _disconnectedReconnCB(self):
 		'''Called when we are disconnected'''
 		log.debug('disconnectedReconnCB')
@@ -202,8 +207,8 @@ class Connection(ConnectionHandlers):
 			# after we auth to server
 			self.old_show = STATUS_LIST[self.connected]
 		self.connected = 0
-		self.dispatch('STATUS', 'offline')
 		if not self.on_purpose:
+			self.dispatch('STATUS', 'offline')
 			self.disconnect()
 			if gajim.config.get_per('accounts', self.name, 'autoreconnect'):
 				self.connected = -1
@@ -235,7 +240,7 @@ class Connection(ConnectionHandlers):
 			self.disconnect()
 		self.on_purpose = False
 	# END disconenctedReconnCB
-	
+
 	def _connection_lost(self):
 		self.disconnect(on_purpose = False)
 		self.dispatch('STATUS', 'offline')
@@ -257,7 +262,63 @@ class Connection(ConnectionHandlers):
 						return
 					is_form = data[2]
 					conf = data[1]
-					self.dispatch('NEW_ACC_CONNECTED', (conf, is_form))
+					if self.new_account_form:
+						def _on_register_result(result):
+							if not common.xmpp.isResultNode(result):
+								self.dispatch('ACC_NOT_OK', (result.getError()))
+								return
+							if USE_GPG:
+								self.gpg = GnuPG.GnuPG(gajim.config.get(
+									'use_gpg_agent'))
+							self.dispatch('ACC_OK', (self.new_account_info))
+							self.new_account_info = None
+							self.new_account_form = None
+							if self.connection:
+								self.connection.UnregisterDisconnectHandler(
+									self._on_new_account)
+							self.disconnect(on_purpose=True)
+						# it's the second time we get the form, we have info user
+						# typed, so send them
+						if is_form:
+							#TODO: Check if form has changed
+							iq = common.xmpp.Iq('set', common.xmpp.NS_REGISTER, to=self._hostname)
+							iq.setTag('query').addChild(node=self.new_account_form)
+							self.connection.SendAndCallForResponse(iq,
+								_on_register_result)
+						else:
+							if self.new_account_form.keys().sort() != \
+							conf.keys().sort():
+								# requested config has changed since first connection
+								self.dispatch('ACC_NOT_OK', (_(
+									'Server %s provided a different registration form')\
+									% data[0]))
+								return
+							common.xmpp.features_nb.register(self.connection,
+								self._hostname, self.new_account_form,
+								_on_register_result)
+						return
+					try:
+						errnum = self.connection.Connection.ssl_errnum
+					except AttributeError:
+						errnum = -1 # we don't have an errnum
+					ssl_msg = ''
+					if errnum > 0:
+						if errnum in ssl_error:
+							ssl_msg = ssl_error[errnum]
+						else:
+							ssl_msg = _('Unknown SSL error: %d') % errnum
+					ssl_cert = ''
+					if hasattr(self.connection.Connection, 'ssl_cert_pem'):
+						ssl_cert = self.connection.Connection.ssl_cert_pem
+					ssl_fingerprint = ''
+					if hasattr(self.connection.Connection, 'ssl_fingerprint_sha1'):
+						ssl_fingerprint = \
+							self.connection.Connection.ssl_fingerprint_sha1
+					self.dispatch('NEW_ACC_CONNECTED', (conf, is_form, ssl_msg,
+						ssl_cert, ssl_fingerprint))
+					self.connection.UnregisterDisconnectHandler(
+						self._on_new_account)
+					self.disconnect(on_purpose=True)
 					return
 				if not data[1]: # wrong answer
 					self.dispatch('ERROR', (_('Invalid answer'),
@@ -477,7 +538,6 @@ class Connection(ConnectionHandlers):
 		con.RegisterDisconnectHandler(self._disconnectedReconnCB)
 		log.debug(_('Connected to server %s:%s with %s') % (self._current_host['host'],
 			self._current_host['port'], con_type))
-		self._register_handlers(con, con_type)
 
 		name = gajim.config.get_per('accounts', self.name, 'name')
 		hostname = gajim.config.get_per('accounts', self.name, 'hostname')
@@ -487,14 +547,31 @@ class Connection(ConnectionHandlers):
 		except AttributeError:
 			errnum = -1 # we don't have an errnum
 		if errnum > 0:
-			# FIXME: tell the user that the certificat is untrusted, and ask him what to do
-			try:
-				log.warning("The authenticity of the "+hostname+" certificate could be unvalid.\nSSL Error: "+ssl_error[errnum])
-			except KeyError:
-				log.warning("Unknown SSL error: %d" % errnum)
+			text = _('The authenticity of the %s certificate could be invalid.') %\
+				hostname
+			if errnum in ssl_error:
+				text += _('\nSSL Error: %s') % ssl_error[errnum]
+			else:
+				text += _('\nUnknown SSL error: %d') % errnum
+			self.dispatch('SSL_ERROR', (text, con.Connection.ssl_cert_pem,
+				con.Connection.ssl_fingerprint_sha1))
+			return True
+		if hasattr(con.Connection, 'ssl_fingerprint_sha1'):
+			saved_fingerprint = gajim.config.get_per('accounts', self.name, 'ssl_fingerprint_sha1')
+			if saved_fingerprint:
+				# Check sha1 fingerprint
+				if con.Connection.ssl_fingerprint_sha1 != saved_fingerprint:
+					self.dispatch('FINGERPRINT_ERROR',
+						(con.Connection.ssl_fingerprint_sha1,))
+					return True
+		self._register_handlers(con, con_type)
 		con.auth(name, self.password, self.server_resource, 1, self.__on_auth)
 
-		return True
+
+	def ssl_certificate_accepted(self):
+		name = gajim.config.get_per('accounts', self.name, 'name')
+		self._register_handlers(self.connection, 'ssl')
+		self.connection.auth(name, self.password, self.server_resource, 1, self.__on_auth)
 
 	def _register_handlers(self, con, con_type):
 		self.peerhost = con.get_peerhost()
@@ -528,13 +605,13 @@ class Connection(ConnectionHandlers):
 				self.on_connect_auth(con)
 				self.on_connect_auth = None
 		else:
-			# Forget password if needed
-			if not gajim.config.get_per('accounts', self.name, 'savepass'):
-				self.password = None
+			# Forget password, it's wrong
+			self.password = None
 			gajim.log.debug("Couldn't authenticate to %s" % self._hostname)
 			self.disconnect(on_purpose = True)
 			self.dispatch('STATUS', 'offline')
-			self.dispatch('ERROR', (_('Authentication failed with "%s"') % self._hostname,
+			self.dispatch('ERROR', (_('Authentication failed with "%s"') % \
+				self._hostname,
 				_('Please check your login and password for correctness.')))
 			if self.on_connect_auth:
 				self.on_connect_auth(None)
@@ -543,8 +620,8 @@ class Connection(ConnectionHandlers):
 
 	def quit(self, kill_core):
 		if kill_core and gajim.account_is_connected(self.name):
-			self.disconnect(on_purpose = True)
-	
+			self.disconnect(on_purpose=True)
+
 	def get_privacy_lists(self):
 		if not self.connection:
 			return
@@ -570,7 +647,7 @@ class Connection(ConnectionHandlers):
 		if not self.connection:
 			return
 		common.xmpp.features_nb.getActiveAndDefaultPrivacyLists(self.connection)
-	
+
 	def del_privacy_list(self, privacy_list):
 		if not self.connection:
 			return
@@ -584,17 +661,17 @@ class Connection(ConnectionHandlers):
 					'again.') % privacy_list))
 		common.xmpp.features_nb.delPrivacyList(self.connection, privacy_list,
 			_on_del_privacy_list_result)
-	
+
 	def get_privacy_list(self, title):
 		if not self.connection:
 			return
 		common.xmpp.features_nb.getPrivacyList(self.connection, title)
-	
+
 	def set_privacy_list(self, listname, tags):
 		if not self.connection:
 			return
 		common.xmpp.features_nb.setPrivacyList(self.connection, listname, tags)
-	
+
 	def set_active_list(self, listname):
 		if not self.connection:
 			return
@@ -604,7 +681,7 @@ class Connection(ConnectionHandlers):
 		if not self.connection:
 			return
 		common.xmpp.features_nb.setDefaultPrivacyList(self.connection, listname)
-	
+
 	def build_privacy_rule(self, name, action):
 		'''Build a Privacy rule stanza for invisibility'''
 		iq = common.xmpp.Iq('set', common.xmpp.NS_PRIVACY, xmlns = '')
@@ -657,7 +734,7 @@ class Connection(ConnectionHandlers):
 
 			#Get bookmarks from private namespace
 			self.get_bookmarks()
-			
+
 			#Get annotations
 			self.get_annotations()
 
@@ -665,29 +742,37 @@ class Connection(ConnectionHandlers):
 			self.dispatch('SIGNED_IN', ())
 
 	def test_gpg_passphrase(self, password):
+		if not self.gpg:
+			return False
 		self.gpg.passphrase = password
 		keyID = gajim.config.get_per('accounts', self.name, 'keyid')
 		signed = self.gpg.sign('test', keyID)
 		self.gpg.password = None
 		return signed != 'BAD_PASSPHRASE'
 
-	def get_signed_msg(self, msg):
+	def get_signed_presence(self, msg, callback = None):
+		if gajim.config.get_per('accounts', self.name, 'gpg_sign_presence'):
+			return self.get_signed_msg(msg, callback)
+		return ''
+
+	def get_signed_msg(self, msg, callback = None):
+		'''returns the signed message if possible
+		or an empty string if gpg is not used
+		or None if waiting for passphrase.
+		callback is the function to call when user give the passphrase'''
 		signed = ''
 		keyID = gajim.config.get_per('accounts', self.name, 'keyid')
-		if keyID and USE_GPG:
+		if keyID and self.gpg:
 			use_gpg_agent = gajim.config.get('use_gpg_agent')
-			if self.connected < 2 and self.gpg.passphrase is None and \
-				not use_gpg_agent:
+			if self.gpg.passphrase is None and not use_gpg_agent:
 				# We didn't set a passphrase
-				self.dispatch('ERROR', (_('OpenPGP passphrase was not given'),
-					#%s is the account name here
-					_('You will be connected to %s without OpenPGP.') % self.name))
-			elif self.gpg.passphrase is not None or use_gpg_agent:
+				return None
+			if self.gpg.passphrase is not None or use_gpg_agent:
 				signed = self.gpg.sign(msg, keyID)
 				if signed == 'BAD_PASSPHRASE':
+					self.gpg = None
 					signed = ''
-					if self.connected < 2:
-						self.dispatch('BAD_PASSPHRASE', ())
+					self.dispatch('BAD_PASSPHRASE', ())
 		return signed
 
 	def connect_and_auth(self):
@@ -695,21 +780,22 @@ class Connection(ConnectionHandlers):
 		self.on_connect_failure = self._connect_failure
 		self.connect()
 
-	def connect_and_init(self, show, msg, signed):
-		self.continue_connect_info = [show, msg, signed]
+	def connect_and_init(self, show, msg, sign_msg):
+		self.continue_connect_info = [show, msg, sign_msg]
 		self.on_connect_auth = self._init_roster
 		self.connect_and_auth()
 
 	def _init_roster(self, con):
 		self.connection = con
-		if self.connection:
-			con.set_send_timeout(self.keepalives, self.send_keepalive)
-			self.connection.onreceive(None)
-			iq = common.xmpp.Iq('get', common.xmpp.NS_PRIVACY, xmlns = '')
-			id = self.connection.getAnID()
-			iq.setID(id)
-			self.awaiting_answers[id] = (PRIVACY_ARRIVED, )
-			self.connection.send(iq)
+		if not self.connection:
+			return
+		self.connection.set_send_timeout(self.keepalives, self.send_keepalive)
+		self.connection.onreceive(None)
+		iq = common.xmpp.Iq('get', common.xmpp.NS_PRIVACY, xmlns = '')
+		id = self.connection.getAnID()
+		iq.setID(id)
+		self.awaiting_answers[id] = (PRIVACY_ARRIVED, )
+		self.connection.send(iq)
 
 	def send_custom_status(self, show, msg, jid):
 		if not show in STATUS_LIST:
@@ -726,7 +812,7 @@ class Connection(ConnectionHandlers):
 			if msg:
 				p.setStatus(msg)
 		else:
-			signed = self.get_signed_msg(msg)
+			signed = self.get_signed_presence(msg)
 			priority = unicode(gajim.get_priority(self.name, sshow))
 			p = common.xmpp.Presence(typ = None, priority = priority, show = sshow,
 				to = jid)
@@ -744,15 +830,15 @@ class Connection(ConnectionHandlers):
 		if not msg:
 			msg = ''
 		keyID = gajim.config.get_per('accounts', self.name, 'keyid')
-		signed = ''
+		sign_msg = False
 		if not auto and not show == 'offline':
-			signed = self.get_signed_msg(msg)
+			sign_msg = True
 		self.status = msg
 		if show != 'offline' and not self.connected:
 			# set old_show to requested 'show' in case we need to
 			# recconect before we auth to server
 			self.old_show = show
-			self.on_purpose = False 
+			self.on_purpose = False
 			self.server_resource = gajim.config.get_per('accounts', self.name,
 				'resource')
 			# All valid resource substitution strings should be added to this hash.
@@ -761,7 +847,9 @@ class Connection(ConnectionHandlers):
 					safe_substitute({
 						'hostname': socket.gethostname()
 					})
-			self.connect_and_init(show, msg, signed)
+			if USE_GPG:
+				self.gpg = GnuPG.GnuPG(gajim.config.get('use_gpg_agent'))
+			self.connect_and_init(show, msg, sign_msg)
 
 		elif show == 'offline':
 			self.connected = 0
@@ -785,6 +873,7 @@ class Connection(ConnectionHandlers):
 			was_invisible = self.connected == STATUS_LIST.index('invisible')
 			self.connected = STATUS_LIST.index(show)
 			if show == 'invisible':
+				signed = self.get_signed_presence(msg)
 				self.send_invisible_presence(msg, signed)
 				return
 			if was_invisible and self.privacy_rules_supported:
@@ -796,6 +885,7 @@ class Connection(ConnectionHandlers):
 			p = self.add_sha(p)
 			if msg:
 				p.setStatus(msg)
+			signed = self.get_signed_presence(msg)
 			if signed:
 				p.setTag(common.xmpp.NS_SIGNED + ' x').setData(signed)
 			if self.connection:
@@ -820,21 +910,21 @@ class Connection(ConnectionHandlers):
 
 		self.connection.send(msg_iq)
 
-	def send_message(self, jid, msg, keyID, type = 'chat', subject='',
-	chatstate = None, msg_id = None, composing_xep = None, resource = None,
-	user_nick = None, xhtml = None, forward_from = None):
+	def send_message(self, jid, msg, keyID, type='chat', subject='',
+	chatstate=None, msg_id=None, composing_xep=None, resource=None,
+	user_nick=None, xhtml=None, session=None, forward_from=None, form_node=None):
 		if not self.connection:
 			return 1
 		if msg and not xhtml and gajim.config.get('rst_formatting_outgoing_messages'):
 			xhtml = create_xhtml(msg)
-		if not msg and chatstate is None:
+		if not msg and chatstate is None and form_node is None:
 			return 2
 		fjid = jid
 		if resource:
 			fjid += '/' + resource
 		msgtxt = msg
 		msgenc = ''
-		if keyID and USE_GPG:
+		if keyID and self.gpg:
 			#encrypt
 			msgenc, error = self.gpg.encrypt(msg, [keyID])
 			if msgenc and not error:
@@ -866,12 +956,15 @@ class Connection(ConnectionHandlers):
 		if msgenc:
 			msg_iq.setTag(common.xmpp.NS_ENCRYPTED + ' x').setData(msgenc)
 
+		if form_node:
+			msg_iq.addChild(node=form_node)
+
 		# JEP-0172: user_nickname
 		if user_nick:
 			msg_iq.setTag('nick', namespace = common.xmpp.NS_NICK).setData(
 				user_nick)
 
-		# chatstates - if peer supports jep85 or jep22, send chatstates
+		# chatstates - if peer supports xep85 or xep22, send chatstates
 		# please note that the only valid tag inside a message containing a <body>
 		# tag is the active event
 		if chatstate is not None:
@@ -888,16 +981,25 @@ class Connection(ConnectionHandlers):
 						msg_id = ''
 					chatstate_node.setTagData('id', msg_id)
 				# when msgtxt, requests JEP-0022 composing notification
-				if chatstate is 'composing' or msgtxt: 
-					chatstate_node.addChild(name = 'composing') 
+				if chatstate is 'composing' or msgtxt:
+					chatstate_node.addChild(name = 'composing')
 
 		if forward_from:
 			addresses = msg_iq.addChild('addresses',
 				namespace=common.xmpp.NS_ADDRESS)
 			addresses.addChild('address', attrs = {'type': 'ofrom',
 				'jid': forward_from})
+		if session:
+			# XEP-0201
+			session.last_send = time.time()
+			msg_iq.setThread(session.thread_id)
+
+			# XEP-0200
+			if session.enable_encryption:
+				msg_iq = session.encrypt_stanza(msg_iq)
+
 		self.connection.send(msg_iq)
-		if not forward_from:
+		if not forward_from and session.is_loggable():
 			no_log_for = gajim.config.get_per('accounts', self.name, 'no_log_for')\
 				.split()
 			ji = gajim.get_jid_without_resource(jid)
@@ -914,14 +1016,14 @@ class Connection(ConnectionHandlers):
 						gajim.logger.write(kind, jid, log_msg)
 					except exceptions.PysqliteOperationalError, e:
 						self.dispatch('ERROR', (_('Disk Write Error'), str(e)))
-			self.dispatch('MSGSENT', (jid, msg, keyID))
-	
+		self.dispatch('MSGSENT', (jid, msg, keyID))
+
 	def send_stanza(self, stanza):
 		''' send a stanza untouched '''
 		if not self.connection:
 			return
 		self.connection.send(stanza)
-	
+
 	def ack_subscribed(self, jid):
 		if not self.connection:
 			return
@@ -1007,21 +1109,6 @@ class Connection(ConnectionHandlers):
 				groups = groups)
 
 	def send_new_account_infos(self, form, is_form):
-		def _on_register_result(result):
-			if not common.xmpp.isResultNode(result):
-				self.dispatch('ACC_NOT_OK', (result.getError()))
-				return
-			if USE_GPG:
-				self.gpg = GnuPG.GnuPG(gajim.config.get('use_gpg_agent'))
-				gajim.config.set('usegpg', True)
-			else:
-				gajim.config.set('usegpg', False)
-			gajim.connections[self.name] = self
-			self.dispatch('ACC_OK', (self.new_account_info))
-			self.new_account_info = None
-			if self.connection:
-				self.connection.UnregisterDisconnectHandler(self._on_new_account)
-			self.disconnect(on_purpose=True)
 		if is_form:
 			# Get username and password and put them in new_account_info
 			for field in self._data_form.iter_fields():
@@ -1029,17 +1116,14 @@ class Connection(ConnectionHandlers):
 					self.new_account_info['name'] = field.value
 				if field.var == 'password':
 					self.new_account_info['password'] = field.value
-			iq=Iq('set', NS_REGISTER, to = self._hostname)
-			iq.setTag('query').addChild(node = form)
-			self.connection.SendAndCallForResponse(iq, _on_register_result)
 		else:
 			# Get username and password and put them in new_account_info
 			if form.has_key('username'):
 				self.new_account_info['name'] = form['username']
 			if form.has_key('password'):
 				self.new_account_info['password'] = form['password']
-			common.xmpp.features_nb.register(self.connection, self._hostname,
-				form, _on_register_result)
+		self.new_account_form = form
+		self.new_account(self.name, self.new_account_info)
 
 	def new_account(self, name, config, sync = False):
 		# If a connection already exist we cannot create a new account
@@ -1204,6 +1288,20 @@ class Connection(ConnectionHandlers):
 		p = self.add_sha(p, ptype != 'unavailable')
 		self.connection.send(p)
 
+	def check_unique_room_id_support(self, server, instance):
+		if not self.connection:
+			return
+		iq = common.xmpp.Iq(typ = 'get', to = server)
+		iq.setAttr('id', 'unique1')
+		iq.addChild('unique', namespace=common.xmpp.NS_MUC_UNIQUE)
+		def _on_response(resp):
+			if not common.xmpp.isResultNode(resp):
+				self.dispatch('UNIQUE_ROOM_ID_UNSUPPORTED', (server, instance))
+				return
+			self.dispatch('UNIQUE_ROOM_ID_SUPPORTED', (server, instance,
+				resp.getTag('unique').getData()))
+		self.connection.SendAndCallForResponse(iq, _on_response)
+
 	def join_gc(self, nick, room_jid, password):
 		# FIXME: This room JID needs to be normalized; see #1364
 		if not self.connection:
@@ -1222,10 +1320,15 @@ class Connection(ConnectionHandlers):
 		self.connection.send(p)
 
 		# last date/time in history to avoid duplicate
-		if not self.last_history_line.has_key(room_jid): 
+		if not self.last_history_line.has_key(room_jid):
 			# Not in memory, get it from DB
-			last_log = gajim.logger.get_last_date_that_has_logs(room_jid,
-				is_room = True)
+			last_log = None
+			no_log_for = gajim.config.get_per('accounts', self.name, 'no_log_for')\
+				.split()
+			if self.name not in no_log_for and room_jid not in no_log_for:
+			# Do not check if we are not logging for this room
+				last_log = gajim.logger.get_last_date_that_has_logs(room_jid,
+					is_room = True)
 			if last_log is None:
 				last_log = 0
 			self.last_history_line[room_jid]= last_log
@@ -1280,7 +1383,7 @@ class Connection(ConnectionHandlers):
 		# send instantly so when we go offline, status is sent to gc before we
 		# disconnect from jabber server
 		self.connection.send(p)
-		# Save the time we quit to avoid duplicate logs AND be faster than 
+		# Save the time we quit to avoid duplicate logs AND be faster than
 		# get that date from DB
 		self.last_history_line[jid] = time_time()
 
@@ -1341,7 +1444,7 @@ class Connection(ConnectionHandlers):
 		self.connection.send(iq)
 
 	def gpg_passphrase(self, passphrase):
-		if USE_GPG:
+		if self.gpg:
 			use_gpg_agent = gajim.config.get('use_gpg_agent')
 			if use_gpg_agent:
 				self.gpg.passphrase = None
@@ -1349,13 +1452,13 @@ class Connection(ConnectionHandlers):
 				self.gpg.passphrase = passphrase
 
 	def ask_gpg_keys(self):
-		if USE_GPG:
+		if self.gpg:
 			keys = self.gpg.get_keys()
 			return keys
 		return None
 
 	def ask_gpg_secrete_keys(self):
-		if USE_GPG:
+		if self.gpg:
 			keys = self.gpg.get_secret_keys()
 			return keys
 		return None
@@ -1390,11 +1493,13 @@ class Connection(ConnectionHandlers):
 		else:
 			_on_unregister_account_connect(self.connection)
 
-	def send_invite(self, room, to, reason=''):
+	def send_invite(self, room, to, reason='', continue_tag=False):
 		'''sends invitation'''
 		message=common.xmpp.Message(to = room)
 		c = message.addChild(name = 'x', namespace = common.xmpp.NS_MUC_USER)
 		c = c.addChild(name = 'invite', attrs={'to' : to})
+		if continue_tag:
+			c.addChild(name = 'continue')
 		if reason != '':
 			c.setTagData('reason', reason)
 		self.connection.send(message)
diff --git a/src/common/connection_handlers.py b/src/common/connection_handlers.py
index 1451da0a8062dbb3cf75219f2deccb735a5336d1..6423d41544b212a13e8316f35482c00c5c21eb67 100644
--- a/src/common/connection_handlers.py
+++ b/src/common/connection_handlers.py
@@ -2,20 +2,25 @@
 ## Copyright (C) 2006 Gajim Team
 ##
 ## Contributors for this file:
-##	- Yann Le Boulanger <asterix@lagaule.org>
+##	- Yann Leboulanger <asterix@lagaule.org>
 ##	- Nikos Kouremenos <kourem@gmail.com>
 ##	- Dimitur Kirov <dkirov@gmail.com>
 ##	- Travis Shirk <travis@pobox.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
 import base64
@@ -24,7 +29,7 @@ import socket
 import sys
 
 from time import (altzone, daylight, gmtime, localtime, mktime, strftime,
-                  time as time_time, timezone, tzname)
+	time as time_time, timezone, tzname)
 from calendar import timegm
 
 import socks5
@@ -45,6 +50,8 @@ if dbus_support.supported:
 	import dbus
 	from music_track_listener import MusicTrackListener
 
+from common.stanza_session import EncryptedStanzaSession 
+
 STATUS_LIST = ['offline', 'connecting', 'online', 'chat', 'away', 'xa', 'dnd',
 	'invisible', 'error']
 # kind of events we can wait for an answer
@@ -64,8 +71,8 @@ except:
 class ConnectionBytestream:
 	def __init__(self):
 		self.files_props = {}
-	
-	def is_transfer_stoped(self, file_props):
+
+	def is_transfer_stopped(self, file_props):
 		if file_props.has_key('error') and file_props['error'] != 0:
 			return True
 		if file_props.has_key('completed') and file_props['completed']:
@@ -94,7 +101,7 @@ class ConnectionBytestream:
 	def remove_transfers_for_contact(self, contact):
 		''' stop all active transfer for contact '''
 		for file_props in self.files_props.values():
-			if self.is_transfer_stoped(file_props):
+			if self.is_transfer_stopped(file_props):
 				continue
 			receiver_jid = unicode(file_props['receiver']).split('/')[0]
 			if contact.jid == receiver_jid:
@@ -182,11 +189,7 @@ class ConnectionBytestream:
 			ft_add_hosts_to_send = map(lambda e:e.strip(),
 				ft_add_hosts_to_send.split(','))
 			for ft_host in ft_add_hosts_to_send:
-				try:
-					ft_host = socket.gethostbyname(ft_host)
-					ft_add_hosts.append(ft_host)
-				except socket.gaierror:
-					self.dispatch('ERROR', (_('Wrong host'), _('The host %s you configured as the ft_add_hosts_to_send advanced option is not valid, so ignored.') % ft_host))
+			    	ft_add_hosts.append(ft_host)
 		listener = gajim.socks5queue.start_listener(port,
 			sha_str, self._result_socks5_sid, file_props['sid'])
 		if listener == None:
@@ -212,17 +215,16 @@ class ConnectionBytestream:
 			ostreamhost.setAttr('port', unicode(port))
 			ostreamhost.setAttr('host', ft_host)
 			ostreamhost.setAttr('jid', sender)
-		for thehost in self.peerhost:
-			try:
-				thehost = self.peerhost[0]
-				streamhost = common.xmpp.Node(tag = 'streamhost') # My IP
-				query.addChild(node = streamhost)
-				streamhost.setAttr('port', unicode(port))
-				streamhost.setAttr('host', thehost)
-				streamhost.setAttr('jid', sender)
-			except socket.gaierror:
-				self.dispatch('ERROR', (_('Wrong host'),
-					_('Invalid local address? :-O')))
+		try:
+			thehost = self.peerhost[0]
+			streamhost = common.xmpp.Node(tag = 'streamhost') # My IP
+			query.addChild(node = streamhost)
+			streamhost.setAttr('port', unicode(port))
+			streamhost.setAttr('host', thehost)
+			streamhost.setAttr('jid', sender)
+		except socket.gaierror:
+			self.dispatch('ERROR', (_('Wrong host'),
+				_('Invalid local address? :-O')))
 
 		if fast and proxyhosts != [] and gajim.config.get_per('accounts',
 		self.name, 'use_ft_proxies'):
@@ -353,7 +355,7 @@ class ConnectionBytestream:
 		iq.setID(auth_id)
 		query = iq.setTag('query')
 		query.setNamespace(common.xmpp.NS_BYTESTREAM)
-		query.setAttr('sid',  proxy['sid'])
+		query.setAttr('sid', proxy['sid'])
 		activate = query.setTag('activate')
 		activate.setData(file_props['proxy_receiver'])
 		iq.setID(auth_id)
@@ -444,7 +446,7 @@ class ConnectionBytestream:
 		gajim.proxy65_manager.resolve_result(frm, query)
 		
 		try:
-			streamhost =  query.getTag('streamhost-used')
+			streamhost = query.getTag('streamhost-used')
 		except: # this bytestream result is not what we need
 			pass
 		id = real_id[3:]
@@ -473,7 +475,10 @@ class ConnectionBytestream:
 			raise common.xmpp.NodeProcessed
 
 		if real_id[:3] == 'au_':
-			gajim.socks5queue.send_file(file_props, self.name)
+			if file.has_key('stopped') and file_props['stopped']:
+				self.remove_transfer(file_props)
+			else:
+				gajim.socks5queue.send_file(file_props, self.name)
 			raise common.xmpp.NodeProcessed
 
 		proxy = None
@@ -495,7 +500,10 @@ class ConnectionBytestream:
 			raise common.xmpp.NodeProcessed
 
 		else:
-			gajim.socks5queue.send_file(file_props, self.name)
+			if file_props.has_key('stopped') and file_props['stopped']:
+				self.remove_transfer(file_props)
+			else:
+				gajim.socks5queue.send_file(file_props, self.name)
 			if file_props.has_key('fast'):
 				fasts = file_props['fast']
 				if len(fasts) > 0:
@@ -657,7 +665,8 @@ class ConnectionDisco:
 			common.xmpp.NS_DISCO, frm = to)
 		iq.setAttr('id', id)
 		query = iq.setTag('query')
-		query.setAttr('node','http://gajim.org/caps#' + gajim.version)
+		query.setAttr('node','http://gajim.org/caps#' + gajim.version.split('-',
+			1)[0])
 		for f in (common.xmpp.NS_BYTESTREAM, common.xmpp.NS_SI, \
 						common.xmpp.NS_FILE, common.xmpp.NS_COMMANDS):
 			feature = common.xmpp.Node('feature')
@@ -709,8 +718,10 @@ class ConnectionDisco:
 
 	def _DiscoverItemsGetCB(self, con, iq_obj):
 		gajim.log.debug('DiscoverItemsGetCB')
+		if self.commandItemsQuery(con, iq_obj):
+			raise common.xmpp.NodeProcessed
 		node = iq_obj.getTagAttr('query', 'node')
-                if node is None:
+		if node is None:
 			result = iq_obj.buildReply('result')
 			self.connection.send(result)
 			raise common.xmpp.NodeProcessed
@@ -723,7 +734,7 @@ class ConnectionDisco:
 		q = iq_obj.getTag('query')
 		node = q.getAttr('node')
 
-		if self.commandQuery(con, iq_obj):
+		if self.commandInfoQuery(con, iq_obj):
 			raise common.xmpp.NodeProcessed
 		
 		else:
@@ -736,7 +747,8 @@ class ConnectionDisco:
 			extension = None
 			if node and node.find('#') != -1:
 				extension = node[node.index('#') + 1:]
-			client_version = 'http://gajim.org/caps#' + gajim.version
+			client_version = 'http://gajim.org/caps#' + gajim.version.split('-',
+				1)[0]
 
 			if node in (None, client_version):
 				q.addChild('feature', attrs = {'var': common.xmpp.NS_BYTESTREAM})
@@ -745,12 +757,14 @@ class ConnectionDisco:
 				q.addChild('feature', attrs = {'var': common.xmpp.NS_MUC})
 				q.addChild('feature', attrs = {'var': common.xmpp.NS_COMMANDS})
 				q.addChild('feature', attrs = {'var': common.xmpp.NS_DISCO_INFO})
-				q.addChild('feature', attrs = {'var': common.xmpp.NS_ACTIVITY})
-				q.addChild('feature', attrs = {'var': common.xmpp.NS_ACTIVITY + '+notify'})
-				q.addChild('feature', attrs = {'var': common.xmpp.NS_TUNE})
-				q.addChild('feature', attrs = {'var': common.xmpp.NS_TUNE + '+notify'})
-				q.addChild('feature', attrs = {'var': common.xmpp.NS_MOOD})
-				q.addChild('feature', attrs = {'var': common.xmpp.NS_MOOD + '+notify'})
+				if gajim.config.get('use_pep'):
+					q.addChild('feature', attrs = {'var': common.xmpp.NS_ACTIVITY})
+					q.addChild('feature', attrs = {'var': common.xmpp.NS_ACTIVITY + '+notify'})
+					q.addChild('feature', attrs = {'var': common.xmpp.NS_TUNE})
+					q.addChild('feature', attrs = {'var': common.xmpp.NS_TUNE + '+notify'})
+					q.addChild('feature', attrs = {'var': common.xmpp.NS_MOOD})
+					q.addChild('feature', attrs = {'var': common.xmpp.NS_MOOD + '+notify'})
+				q.addChild('feature', attrs = {'var': common.xmpp.NS_ESESSION_INIT})
 
 			if (node is None or extension == 'cstates') and gajim.config.get('outgoing_chat_state_notifactions') != 'disabled':
 				q.addChild('feature', attrs = {'var': common.xmpp.NS_CHATSTATES})
@@ -792,12 +806,12 @@ class ConnectionDisco:
 				for key in i.getAttrs().keys():
 					attr[key] = i.getAttr(key)
 				if attr.has_key('category') and \
-				   attr['category'] in ('gateway', 'headline') and \
-				   attr.has_key('type'):
+					attr['category'] in ('gateway', 'headline') and \
+					attr.has_key('type'):
 					transport_type = attr['type']
 				if attr.has_key('category') and \
-				   attr['category'] == 'conference' and \
-				   attr.has_key('type') and attr['type'] == 'text':
+					attr['category'] == 'conference' and \
+					attr.has_key('type') and attr['type'] == 'text':
 					is_muc = True
 				identities.append(attr)
 			elif i.getName() == 'feature':
@@ -868,7 +882,7 @@ class ConnectionVcard:
  
 		if len(ext):
 			c.setAttr('ext', ' '.join(ext))
-		c.setAttr('ver', gajim.version)
+		c.setAttr('ver', gajim.version.split('-', 1)[0])
 		return p
 	
 	def node_to_dict(self, node):
@@ -1082,6 +1096,10 @@ class ConnectionVcard:
 					tag = meta.getAttr('tag')
 					data = {'jid': jid}
 					order = meta.getAttr('order')
+					try:
+						order = int(order)
+					except:
+						order = 0
 					if order != None:
 						data['order'] = order
 					if meta_list.has_key(tag):
@@ -1090,7 +1108,8 @@ class ConnectionVcard:
 						meta_list[tag] = [data]
 				self.dispatch('METACONTACTS', meta_list)
 			else:
-				self.metacontacts_supported = False
+				if iq_obj.getErrorCode() not in ('403', '406', '404'):
+					self.private_storage_supported = False
 			# We can now continue connection by requesting the roster
 			self.connection.initRoster()
 		elif self.awaiting_answers[id][0] == PRIVACY_ARRIVED:
@@ -1207,7 +1226,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		ConnectionBytestream.__init__(self)
 		ConnectionCommands.__init__(self)
 		ConnectionPubSub.__init__(self)
-		self.gmail_url=None
+		self.gmail_url = None
 		# List of IDs we are waiting answers for {id: (type_of_request, data), }
 		self.awaiting_answers = {}
 		# List of IDs that will produce a timeout is answer doesn't arrive
@@ -1216,14 +1235,17 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		# keep the jids we auto added (transports contacts) to not send the
 		# SUBSCRIBED event to gui
 		self.automatically_added = []
-		# keep the latest subscribed event for each jid to prevent loop when we 
+		# keep the latest subscribed event for each jid to prevent loop when we
 		# acknoledge presences
 		self.subscribed_events = {}
+
+		# keep track of sessions this connection has with other JIDs
+		self.sessions = {}
 		try:
 			idle.init()
 		except:
 			HAS_IDLE = False
-	
+
 	def build_http_auth_answer(self, iq_obj, answer):
 		if answer == 'yes':
 			self.connection.send(iq_obj.buildReply('result'))
@@ -1245,6 +1267,33 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 			self.dispatch('HTTP_AUTH', (method, url, id, iq_obj, msg));
 		raise common.xmpp.NodeProcessed
 
+	def _FeatureNegCB(self, con, stanza, session):
+		gajim.log.debug('FeatureNegCB')
+		feature = stanza.getTag(name='feature', namespace=common.xmpp.NS_FEATURE)
+		form = common.xmpp.DataForm(node=feature.getTag('x'))
+
+		if form['FORM_TYPE'] == 'urn:xmpp:ssn':
+			self.dispatch('SESSION_NEG', (stanza.getFrom(), session, form))
+		else:
+			reply = stanza.buildReply()
+			reply.setType('error')
+
+			reply.addChild(feature)
+			reply.addChild(node=xmpp.ErrorNode('service-unavailable', typ='cancel'))
+
+			con.send(reply)
+		
+		raise common.xmpp.NodeProcessed
+
+	def _InitE2ECB(self, con, stanza, session):
+		gajim.log.debug('InitE2ECB')
+		init = stanza.getTag(name='init', namespace=common.xmpp.NS_ESESSION_INIT)
+		form = common.xmpp.DataForm(node=init.getTag('x'))
+
+		self.dispatch('SESSION_NEG', (stanza.getFrom(), session, form))
+
+		raise common.xmpp.NodeProcessed
+
 	def _ErrorCB(self, con, iq_obj):
 		gajim.log.debug('ErrorCB')
 		if iq_obj.getQueryNS() == common.xmpp.NS_VERSION:
@@ -1313,7 +1362,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		if storage_tag:
 			ns = storage_tag.getNamespace()
 			if ns == 'storage:metacontacts':
-				self.metacontacts_supported = False
+				self.private_storage_supported = False
 				# Private XML Storage (XEP49) is not supported by server
 				# Continue connecting
 				self.connection.initRoster()
@@ -1321,10 +1370,10 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 	def _rosterSetCB(self, con, iq_obj):
 		gajim.log.debug('rosterSetCB')
 		for item in iq_obj.getTag('query').getChildren():
-			jid  = helpers.parse_jid(item.getAttr('jid'))
+			jid = helpers.parse_jid(item.getAttr('jid'))
 			name = item.getAttr('name')
-			sub  = item.getAttr('subscription')
-			ask  = item.getAttr('ask')
+			sub = item.getAttr('subscription')
+			ask = item.getAttr('ask')
 			groups = []
 			for group in item.getTags('group'):
 				groups.append(group.getData())
@@ -1399,7 +1448,8 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		qp = iq_obj.getTag('query')
 		qp.setTagData('utc', strftime('%Y%m%dT%T', gmtime()))
 		qp.setTagData('tz', tzname[daylight])
-		qp.setTagData('display', strftime('%c', localtime()))
+		qp.setTagData('display', helpers.decode_string(strftime('%c',
+			localtime())))
 		self.connection.send(iq_obj)
 		raise common.xmpp.NodeProcessed
 
@@ -1407,7 +1457,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		gajim.log.debug('TimeRevisedCB')
 		iq_obj = iq_obj.buildReply('result')
 		qp = iq_obj.setTag('time',
-                                   namespace=common.xmpp.NS_TIME_REVISED)
+			namespace=common.xmpp.NS_TIME_REVISED)
 		qp.setTagData('utc', strftime('%Y-%m-%dT%TZ', gmtime()))
 		zone = -(timezone, altzone)[daylight] / 60
 		tzo = (zone / 60, abs(zone % 60))
@@ -1460,6 +1510,19 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 
 	def _messageCB(self, con, msg):
 		'''Called when we receive a message'''
+		frm = helpers.get_full_jid_from_iq(msg)
+		mtype = msg.getType()
+		thread_id = msg.getThread()
+
+		if not mtype:
+			mtype = 'normal'
+
+		if not mtype == 'groupchat':
+			session = self.get_session(frm, thread_id, mtype)
+
+		if thread_id and not session.received_thread_id:
+			session.received_thread_id = True
+
 		# check if the message is pubsub#event
 		if msg.getTag('event') is not None:
 			self._pubsubEventCB(con, msg)
@@ -1469,9 +1532,31 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		common.xmpp.NS_HTTP_AUTH:
 			self._HttpAuthCB(con, msg)
 			return
+		if msg.getTag('feature') and msg.getTag('feature').namespace == \
+		common.xmpp.NS_FEATURE:
+			if gajim.HAVE_PYCRYPTO:
+				self._FeatureNegCB(con, msg, session)
+			return
+		if msg.getTag('init') and msg.getTag('init').namespace == \
+		common.xmpp.NS_ESESSION_INIT:
+			self._InitE2ECB(con, msg, session)
+		
+		encrypted = False
+		tim = msg.getTimestamp()
+		tim = helpers.datetime_tuple(tim)
+		tim = localtime(timegm(tim))
+
+		e2e_tag = msg.getTag('c', namespace = common.xmpp.NS_STANZA_CRYPTO)
+		if e2e_tag:
+			encrypted = True
+
+			try:
+				msg = session.decrypt_stanza(msg)
+			except:
+				self.dispatch('FAILED_DECRYPT', (frm, tim))
+
 		msgtxt = msg.getBody()
 		msghtml = msg.getXHTML()
-		mtype = msg.getType()
 		subject = msg.getSubject() # if not there, it's None
 		tim = msg.getTimestamp()
 		tim = helpers.datetime_tuple(tim)
@@ -1490,7 +1575,6 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		if not no_log_for:
 			no_log_for = ''
 		no_log_for = no_log_for.split()
-		encrypted = False
 		chatstate = None
 		encTag = msg.getTag('x', namespace = common.xmpp.NS_ENCRYPTED)
 		decmsg = ''
@@ -1510,8 +1594,17 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		for xtag in xtags:
 			if xtag.getNamespace() == common.xmpp.NS_CONFERENCE and not invite:
 				room_jid = xtag.getAttr('jid')
-				self.dispatch('GC_INVITATION', (room_jid, frm, '', None))
+				is_continued = False
+				if xtag.getTag('continue'):
+					is_continued = True
+				self.dispatch('GC_INVITATION', (room_jid, frm, '', None,
+					is_continued))
 				return
+		form_node = None
+		for xtag in xtags:
+			if xtag.getNamespace() == common.xmpp.NS_DATA:
+				form_node = xtag
+				break
 		# chatstates - look for chatstate tags in a message if not delayed
 		if not delayed:
 			composing_xep = False
@@ -1537,10 +1630,12 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		if encTag and GnuPG.USE_GPG:
 			#decrypt
 			encmsg = encTag.getData()
-			
+
 			keyID = gajim.config.get_per('accounts', self.name, 'keyid')
 			if keyID:
 				decmsg = self.gpg.decrypt(encmsg, keyID)
+				# \x00 chars are not allowed in C (so in GTK)
+				decmsg = decmsg.replace('\x00', '')
 		if decmsg:
 			msgtxt = decmsg
 			encrypted = True
@@ -1549,7 +1644,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 			if not error_msg:
 				error_msg = msgtxt
 				msgtxt = None
-			if self.name not in no_log_for:
+			if session.is_loggable():
 				try:
 					gajim.logger.write('error', frm, error_msg, tim = tim,
 						subject = subject)
@@ -1565,20 +1660,21 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 			if subject != None:
 				self.dispatch('GC_SUBJECT', (frm, subject, msgtxt, has_timestamp))
 			else:
+				statusCode = msg.getStatusCode()
 				if not msg.getTag('body'): #no <body>
 					# It could be a config change. See
 					# http://www.xmpp.org/extensions/xep-0045.html#roomconfig-notify
 					if msg.getTag('x'):
-						statusCode = msg.getStatusCode()
 						if statusCode != []:
 							self.dispatch('GC_CONFIG_CHANGE', (jid, statusCode))
 					return
 				# Ignore message from room in which we are not
 				if not self.last_history_line.has_key(jid):
 					return
-				self.dispatch('GC_MSG', (frm, msgtxt, tim, has_timestamp, msghtml))
-				if self.name not in no_log_for and not int(float(mktime(tim)))\
-				<= self.last_history_line[jid] and msgtxt:
+				self.dispatch('GC_MSG', (frm, msgtxt, tim, has_timestamp, msghtml,
+					statusCode))
+				if self.name not in no_log_for and jid not in no_log_for and not \
+				int(float(mktime(tim))) <= self.last_history_line[jid] and msgtxt:
 					try:
 						gajim.logger.write('gc_msg', frm, msgtxt, tim = tim)
 					except exceptions.PysqliteOperationalError, e:
@@ -1587,8 +1683,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		elif mtype == 'chat': # it's type 'chat'
 			if not msg.getTag('body') and chatstate is None: #no <body>
 				return
-			if msg.getTag('body') and self.name not in no_log_for and jid not in\
-				no_log_for and msgtxt:
+			if msg.getTag('body') and session.is_loggable() and msgtxt:
 				try:
 					msg_id = gajim.logger.write('chat_msg_recv', frm, msgtxt,
 						tim = tim, subject = subject)
@@ -1601,9 +1696,13 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 				reason = item.getTagData('reason')
 				item = invite.getTag('password')
 				password = invite.getTagData('password')
-				self.dispatch('GC_INVITATION',(frm, jid_from, reason, password))
+				is_continued = False
+				if invite.getTag('invite').getTag('continue'):
+					is_continued = True
+				self.dispatch('GC_INVITATION',(frm, jid_from, reason, password,
+					is_continued))
 				return
-			if self.name not in no_log_for and jid not in no_log_for and msgtxt:
+			if session.is_loggable()and msgtxt:
 				try:
 					gajim.logger.write('single_msg_recv', frm, msgtxt, tim = tim,
 						subject = subject)
@@ -1614,9 +1713,87 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		if treat_as:
 			mtype = treat_as
 		self.dispatch('MSG', (frm, msgtxt, tim, encrypted, mtype,
-			subject, chatstate, msg_id, composing_xep, user_nick, msghtml))
+			subject, chatstate, msg_id, composing_xep, user_nick, msghtml,
+			session, form_node))
 	# END messageCB
 
+	def get_session(self, jid, thread_id, type):
+		'''returns an existing session between this connection and 'jid', returns a new one if none exist.'''
+		session = self.find_session(jid, thread_id, type)
+
+		if session:
+			return session
+		else:
+			# it's possible we initiated a session with a bare JID and this is the
+			# first time we've seen a resource
+			bare_jid = gajim.get_jid_without_resource(jid)
+			if bare_jid != jid:
+				session = self.find_session(bare_jid, thread_id, type)
+				if session:
+					if not session.received_thread_id:
+						thread_id = session.thread_id
+
+					self.move_session(bare_jid, thread_id, jid.split("/")[1])
+					return session
+
+		return self.make_new_session(jid, thread_id, type)
+
+	def find_session(self, jid, thread_id, type):
+		try:
+			if type == 'chat' and not thread_id:
+				return self.find_null_session(jid)
+			else:
+				return self.sessions[jid][thread_id]
+		except KeyError:
+			return None
+
+	def delete_session(self, jid, thread_id):
+		try:
+			del self.sessions[jid][thread_id]
+			
+			if not self.sessions[jid]:
+				del self.sessions[jid]
+		except KeyError:
+			pass
+
+	def move_session(self, original_jid, thread_id, to_resource):
+		'''moves a session to another resource.'''
+		session = self.sessions[original_jid][thread_id]
+
+		del self.sessions[original_jid][thread_id]
+
+		new_jid = gajim.get_jid_without_resource(original_jid) + '/' + to_resource
+		session.jid = common.xmpp.JID(new_jid)
+
+		if not new_jid in self.sessions:
+			self.sessions[new_jid] = {}
+
+		self.sessions[new_jid][thread_id] = session
+
+	def find_null_session(self, jid):
+		'''finds all of the sessions between us and jid that jid hasn't sent a thread_id in yet.
+
+returns the session that we last sent a message to.'''
+		
+		sessions_with_jid = self.sessions[jid].values()
+		no_threadid_sessions = filter(lambda s: not s.received_thread_id, sessions_with_jid)
+
+		if no_threadid_sessions:
+			no_threadid_sessions.sort(key=lambda s: s.last_send)
+			return no_threadid_sessions[-1]
+		else:
+			return None
+
+	def make_new_session(self, jid, thread_id = None, type = 'chat'):
+		sess = EncryptedStanzaSession(self, common.xmpp.JID(jid), thread_id, type)
+
+		if not jid in self.sessions:
+			self.sessions[jid] = {}
+
+		self.sessions[jid][sess.thread_id] = sess
+
+		return sess
+
 	def _pubsubEventCB(self, con, msg):
 		''' Called when we receive <message/> with pubsub event. '''
 		# TODO: Logging? (actually services where logging would be useful, should
@@ -1663,12 +1840,12 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 			who = helpers.get_full_jid_from_iq(prs)
 		except:
 			if prs.getTag('error').getTag('jid-malformed'):
-				# wrong jid, we probably tried to change our nick in a room to a non valid
-				# one
+				# wrong jid, we probably tried to change our nick in a room to a non
+				# valid one
 				who = str(prs.getFrom())
 				jid_stripped, resource = gajim.get_room_and_nick_from_fjid(who)
 				self.dispatch('GC_MSG', (jid_stripped,
-					_('Nickname not allowed: %s') % resource, None, False, None))
+					_('Nickname not allowed: %s') % resource, None, False, None, []))
 			return
 		jid_stripped, resource = gajim.get_room_and_nick_from_fjid(who)
 		timestamp = None
@@ -1722,8 +1899,8 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 		except:
 			prio = 0
 		keyID = ''
-		if sigTag and GnuPG.USE_GPG:
-			#verify
+		if sigTag and self.gpg:
+			# verify
 			sigmsg = sigTag.getData()
 			keyID = self.gpg.verify(status, sigmsg)
 
@@ -1827,7 +2004,7 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 			else:
 				if not status:
 					status = _('I would like to add you to my roster.')
-				self.dispatch('SUBSCRIBE', (who, status, user_nick))
+				self.dispatch('SUBSCRIBE', (jid_stripped, status, user_nick))
 		elif ptype == 'subscribed':
 			if jid_stripped in self.automatically_added:
 				self.automatically_added.remove(jid_stripped)
@@ -1894,8 +2071,13 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 					gajim.logger.write('status', jid_stripped, status, show)
 				except exceptions.PysqliteOperationalError, e:
 					self.dispatch('ERROR', (_('Disk Write Error'), str(e)))
-			self.dispatch('NOTIFY', (jid_stripped, show, status, resource, prio,
-				keyID, timestamp, contact_nickname))
+			our_jid = gajim.get_jid_from_account(self.name)
+			if jid_stripped == our_jid and resource == self.server_resource:
+				# We got our own presence
+				self.dispatch('STATUS', show)
+			else:
+				self.dispatch('NOTIFY', (jid_stripped, show, status, resource, prio,
+					keyID, timestamp, contact_nickname))
 	# END presenceCB
 
 	def _StanzaArrivedCB(self, con, obj):
@@ -1993,41 +2175,62 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
 
 		# continue connection
 		if self.connected > 1 and self.continue_connect_info:
-			show = self.continue_connect_info[0]
 			msg = self.continue_connect_info[1]
-			signed = self.continue_connect_info[2]
-			self.connected = STATUS_LIST.index(show)
-			sshow = helpers.get_xmpp_show(show)
-			# send our presence
-			if show == 'invisible':
-				self.send_invisible_presence(msg, signed, True)
-				return
-			priority = gajim.get_priority(self.name, sshow)
-			vcard = self.get_cached_vcard(jid)
-			if vcard and vcard.has_key('PHOTO') and vcard['PHOTO'].has_key('SHA'):
-				self.vcard_sha = vcard['PHOTO']['SHA']
-			p = common.xmpp.Presence(typ = None, priority = priority, show = sshow)
-			p = self.add_sha(p)
-			if msg:
-				p.setStatus(msg)
-			if signed:
-				p.setTag(common.xmpp.NS_SIGNED + ' x').setData(signed)
-
-			if self.connection:
-				self.connection.send(p)
-				self.priority = priority
-			self.dispatch('STATUS', show)
-			# ask our VCard
-			self.request_vcard(None)
-
-			# Get bookmarks from private namespace
-			self.get_bookmarks()
-
-			# Get annotations from private namespace
-			self.get_annotations()
-
-			#Inform GUI we just signed in
-			self.dispatch('SIGNED_IN', ())
+			sign_msg = self.continue_connect_info[2]
+			signed = ''
+			if sign_msg:
+				signed = self.get_signed_presence(msg, self._send_first_presence)
+				if signed is None:
+					self.dispatch('GPG_PASSWORD_REQUIRED',
+						(self._send_first_presence,))
+					# _send_first_presence will be called when user enter passphrase
+					return
+			self._send_first_presence(signed)
+
+	def _send_first_presence(self, signed = ''):
+		show = self.continue_connect_info[0]
+		msg = self.continue_connect_info[1]
+		sign_msg = self.continue_connect_info[2]
+		if sign_msg and not signed:
+			signed = self.get_signed_presence(msg)
+			if signed is None:
+				self.dispatch('ERROR', (_('OpenPGP passphrase was not given'),
+					#%s is the account name here
+					_('You will be connected to %s without OpenPGP.') % self.name))
+				signed = ''
+		self.connected = STATUS_LIST.index(show)
+		sshow = helpers.get_xmpp_show(show)
+		# send our presence
+		if show == 'invisible':
+			self.send_invisible_presence(msg, signed, True)
+			return
+		priority = gajim.get_priority(self.name, sshow)
+		our_jid = helpers.parse_jid(gajim.get_jid_from_account(self.name))
+		vcard = self.get_cached_vcard(our_jid)
+		if vcard and vcard.has_key('PHOTO') and vcard['PHOTO'].has_key('SHA'):
+			self.vcard_sha = vcard['PHOTO']['SHA']
+		p = common.xmpp.Presence(typ = None, priority = priority, show = sshow)
+		p = self.add_sha(p)
+		if msg:
+			p.setStatus(msg)
+		if signed:
+			p.setTag(common.xmpp.NS_SIGNED + ' x').setData(signed)
+
+		if self.connection:
+			self.connection.send(p)
+			self.priority = priority
+		self.dispatch('STATUS', show)
+		# ask our VCard
+		self.request_vcard(None)
+
+		# Get bookmarks from private namespace
+		self.get_bookmarks()
+
+		# Get annotations from private namespace
+		self.get_annotations()
+
+		# Inform GUI we just signed in
+		self.dispatch('SIGNED_IN', ())
 		self.continue_connect_info = None
 	
 	def request_gmail_notifications(self):
diff --git a/src/common/contacts.py b/src/common/contacts.py
index 65fe13fb73af474027fe4e3a8c4b505fbe314228..ef02f43dad6c144815b4328b52eca9ba04878d30 100644
--- a/src/common/contacts.py
+++ b/src/common/contacts.py
@@ -1,20 +1,25 @@
 ## common/contacts.py
 ##
-## Copyright (C) 2006 Yann Le Boulanger <asterix@lagaule.org>
-## Copyright (C) 2006 Nikos Kouremenos <kourem@gmail.com>
+## Copyright (C) 2006 Yann Leboulanger <asterix@lagaule.org>
+##                    Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
-## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
+##                    Julien Pivotto <roidelapluie@gmail.com>
+##                    Stephan Erb <steve-e@h3c.de> 
 ##
+## This file is part of Gajim.
 ##
-## This program is free software; you can redistribute it and/or modify
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import common.gajim
 
@@ -41,9 +46,9 @@ class Contact:
 
 		# Capabilities; filled by caps.py/ConnectionCaps object
 		# every time it gets these from presence stanzas
-		self.caps_node=None
-		self.caps_ver=None
-		self.caps_exts=None
+		self.caps_node = None
+		self.caps_ver = None
+		self.caps_exts = None
 
 		# please read jep-85 http://www.jabber.org/jeps/jep-0085.html
 		# we keep track of jep85 support with the peer by three extra states:
@@ -206,6 +211,9 @@ class Contacts:
 		if len(self._contacts[account][contact.jid]) == 0:
 			del self._contacts[account][contact.jid]
 
+	def clear_contacts(self, account):
+		self._contacts[account] = {}
+
 	def remove_jid(self, account, jid):
 		'''Removes all contacts for a given jid'''
 		if not self._contacts.has_key(account):
@@ -281,6 +289,10 @@ class Contacts:
 		for account in accounts:
 			our_jid = common.gajim.get_jid_from_account(account)
 			for jid in self.get_jid_list(account):
+				if self.has_brother(account, jid) and not \
+					self.is_big_brother(account, jid):
+					# count metacontacts only once
+					continue
 				if jid == our_jid:
 					continue
 				if common.gajim.jid_is_transport(jid) and not \
@@ -300,6 +312,8 @@ class Contacts:
 						# Transports group
 						if common.gajim.jid_is_transport(jid):
 							contact_groups = [_('Transports')]
+						if contact.is_observer():
+							contact_groups = [_('Observers')]
 						else:
 							contact_groups = [_('General')]
 					for group in groups:
@@ -362,7 +376,7 @@ class Contacts:
 					found = data
 					break
 			if found:
-				self._metacontacts_tags[account][tag].remove(data)
+				self._metacontacts_tags[account][tag].remove(found)
 				break
 		common.gajim.connections[account].store_metacontacts(
 			self._metacontacts_tags[account])
@@ -374,6 +388,17 @@ class Contacts:
 				return True
 		return False
 
+	def is_big_brother(self, account, jid):
+		tag = self.get_metacontacts_tag(account, jid)
+		if tag:
+			family = self.get_metacontacts_family(account, jid)
+			bb_data = self.get_metacontacts_big_brother(family)
+			bb_jid = bb_data['jid']
+			bb_account = bb_data['account']
+			if bb_jid == jid and bb_account == account: 
+				return True
+		return False
+
 	def get_metacontacts_jids(self, tag):
 		'''Returns all jid for the given tag in the form {acct: [jid1, jid2],.}'''
 		answers = {}
@@ -399,48 +424,71 @@ class Contacts:
 					answers.append(data)
 		return answers
 
-	def _get_data_score(self, data):
-		'''compute thescore of a gived data
-		data is {'jid': jid, 'account': account, 'order': order}
-		order is optional
-		score = (max_order - order)*10000 + is_jabber*priority*10 + status'''
-		jid = data['jid']
-		account = data['account']
-		max_order = 0
-		order = 0
-		if data.has_key('order'):
-			order = data['order']
-		if order:
-			family = self.get_metacontacts_family(account, jid)
-			for data_ in family:
-				if data_.has_key('order') and data_['order'] > max_order:
-					max_order = data_['order']
-		contact = self.get_contact_with_highest_priority(account, jid)
-		score = (max_order - order)*10000
-		
-		if common.gajim.get_transport_name_from_jid(jid) is None and \
-		contact.show not in ('error', 'offline'):
-			score += 10
-			if contact.priority > 0:
-				score += contact.priority * 10
-		score += ['not in roster', 'error', 'offline', 'invisible', 'dnd', 'xa',
-		'away', 'chat', 'online', 'requested', 'message'].index(contact.show)
-		if contact.show == 'offline' and contact.status:
-			# Offline contacts with a status message have highest score
-			score += 1
-		return score
+	def compare_metacontacts(self, data1, data2):
+		'''compare 2 metacontacts.
+		Data is {'jid': jid, 'account': account, 'order': order}
+		order is optional'''
+		jid1 = data1['jid']
+		jid2 = data2['jid']
+		account1 = data1['account']
+		account2 = data2['account']
+		contact1 = self.get_contact_with_highest_priority(account1, jid1)
+		contact2 = self.get_contact_with_highest_priority(account2, jid2)
+		show_list = ['not in roster', 'error', 'offline', 'invisible', 'dnd',
+			'xa', 'away', 'chat', 'online', 'requested', 'message']
+		# contact can be null when we fill the roster on connection
+		if not contact1:
+			show1 = 0
+			priority1 = 0
+		else:
+			show1 = show_list.index(contact1.show)
+			priority1 = contact1.priority
+		if not contact2:
+			show2 = 0
+			priority2 = 0
+		else:
+			show2 = show_list.index(contact2.show)
+			priority2 = contact2.priority
+		# If only one is offline, it's always second
+		if show1 > 2 and show2 < 3:
+			return 1
+		if show2 > 2 and show1 < 3:
+			return -1
+		if 'order' in data1 and 'order' in data2:
+			if data1['order'] > data2['order']:
+				return 1
+			if data1['order'] < data2['order']:
+				return -1
+		transport1 = common.gajim.get_transport_name_from_jid(jid1)
+		transport2 = common.gajim.get_transport_name_from_jid(jid2)
+		if transport2 and not transport1:
+			return 1
+		if transport1 and not transport2:
+			return -1
+		if priority1 > priority2:
+			return 1
+		if priority2 > priority1:
+			return -1
+		if show1 > show2:
+			return 1
+		if show2 > show1:
+			return -1
+		if jid1 > jid2:
+			return 1
+		if jid2 > jid1:
+			return -1
+		# If all is the same, compare accounts, they can't be the same
+		if account1 > account2:
+			return 1
+		if account2 > account1:
+			return -1
+		return 0
 
 	def get_metacontacts_big_brother(self, family):
 		'''which of the family will be the big brother under wich all
 		others will be ?'''
-		max_score = 0
-		max_data = family[0]
-		for data in family:
-			score = self._get_data_score(data)
-			if score > max_score:
-				max_score = score
-				max_data = data
-		return max_data
+		family.sort(cmp=self.compare_metacontacts)
+		return family[-1]
 
 	def is_pm_from_jid(self, account, jid):
 		'''Returns True if the given jid is a private message jid'''
diff --git a/src/common/crypto.py b/src/common/crypto.py
new file mode 100644
index 0000000000000000000000000000000000000000..190685f11b221af11a9958240269441aa83c60bd
--- /dev/null
+++ b/src/common/crypto.py
@@ -0,0 +1,86 @@
+# common crypto functions (mostly specific to XEP-0116, but useful elsewhere)
+
+import os
+import math
+
+from Crypto.Hash import SHA256
+
+# convert a large integer to a big-endian bitstring
+def encode_mpi(n):
+	if n >= 256:
+		return encode_mpi(n / 256) + chr(n % 256)
+	else:
+		return chr(n)
+
+# convert a large integer to a big-endian bitstring, padded with \x00s to
+# a multiple of 16 bytes
+def encode_mpi_with_padding(n):
+	return pad_to_multiple(encode_mpi(n), 16, '\x00', True)
+
+# pad 'string' to a multiple of 'multiple_of' with 'char'.
+# pad on the left if 'left', otherwise pad on the right.
+def pad_to_multiple(string, multiple_of, char, left):
+	mod = len(string) % multiple_of
+	if mod == 0:
+		return string
+	else:
+		padding = (multiple_of - mod) * char
+
+	if left:
+		return padding + string
+	else:
+		return string + padding
+
+# convert a big-endian bitstring to an integer
+def decode_mpi(s):
+	if len(s) == 0:
+		return 0
+	else:
+		return 256 * decode_mpi(s[:-1]) + ord(s[-1])
+
+def sha256(string):
+	sh = SHA256.new()
+	sh.update(string)
+	return sh.digest()
+
+base28_chr = "acdefghikmopqruvwxy123456789"
+
+def sas_28x5(m_a, form_b):
+	sha = sha256(m_a + form_b + 'Short Authentication String')
+	lsb24 = decode_mpi(sha[-3:])
+	return base28(lsb24)
+
+def base28(n):
+	if n >= 28:
+		return base28(n / 28) + base28_chr[n % 28]
+	else:
+		return base28_chr[n]
+
+def random_bytes(bytes):
+	return os.urandom(bytes)
+
+def generate_nonce():
+	return random_bytes(8)
+
+# generate a random number between 'bottom' and 'top'
+def srand(bottom, top):
+	# minimum number of bytes needed to represent that range
+	bytes = int(math.ceil(math.log(top - bottom, 256)))
+
+	# in retrospect, this is horribly inadequate.
+	return (decode_mpi(random_bytes(bytes)) % (top - bottom)) + bottom
+
+# a faster version of (base ** exp) % mod
+#		taken from <http://lists.danga.com/pipermail/yadis/2005-September/001445.html> 
+def powmod(base, exp, mod):
+	square = base % mod
+	result = 1
+
+	while exp > 0:
+		if exp & 1: # exponent is odd
+			result = (result * square) % mod
+
+		square = (square * square) % mod
+		exp /= 2
+
+	return result
diff --git a/src/common/dataforms.py b/src/common/dataforms.py
index e46fcbfc25db25a6b8f0fc7fd5e5a7443fc08b00..0b59d7471cfb8d2277a1c2e8958ac9ed20933e75 100644
--- a/src/common/dataforms.py
+++ b/src/common/dataforms.py
@@ -170,7 +170,7 @@ class BooleanField(DataField):
 			v = self.getTagData('value')
 			if v in ('0', 'false'): return False
 			if v in ('1', 'true'): return True
-			if v is None: return None
+			if v is None: return False # default value is False
 			raise WrongFieldValue
 		def fset(self, value):
 			self.setTagData('value', value and '1' or '0')
diff --git a/src/common/dbus_support.py b/src/common/dbus_support.py
index 94b973c5d91cee7fc75fcb847dbd9e32d593c2c9..71695036a4b2c616ffe37623ccca78f22f910594 100644
--- a/src/common/dbus_support.py
+++ b/src/common/dbus_support.py
@@ -1,21 +1,26 @@
 ##  dbus_support.py
 ##
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005 Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2005 Andrew Sayman <lorien420@myrealbox.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
-import os
+import os, sys
 
 from common import gajim
 from common import exceptions
@@ -23,10 +28,13 @@ from common import exceptions
 _GAJIM_ERROR_IFACE = 'org.gajim.dbus.Error'
 
 try:
+	if sys.platform == 'darwin':
+		import osx.dbus
+		osx.dbus.load(True)
 	import dbus
 	import dbus.service
 	import dbus.glib
-	supported = True # does use have D-Bus bindings?
+	supported = True # does user have D-Bus bindings?
 except ImportError:
 	supported = False
 	if not os.name == 'nt': # only say that to non Windows users
@@ -98,7 +106,7 @@ class SessionBus:
 session_bus = SessionBus()
 
 def get_interface(interface, path):
-	'''Returns an interface on the current SessionBus. If the interface isn't 
+	'''Returns an interface on the current SessionBus. If the interface isn\'t 
 	running, it tries to start it first.'''
 	if not supported:
 		return None
diff --git a/src/common/defs.py b/src/common/defs.py
index d557e6912efc6c923e6eab278da19a5e0bd12f32..3f776c43e22272e87535936f9e71ffa198e18b1a 100644
--- a/src/common/defs.py
+++ b/src/common/defs.py
@@ -2,7 +2,7 @@ docdir = '../'
 
 datadir = '../'
 
-version = '0.11.1.5'
+version = '0.11.4.0-svn'
 
 import sys, os.path
 for base in ('.', 'common'):
diff --git a/src/common/dh.py b/src/common/dh.py
new file mode 100644
index 0000000000000000000000000000000000000000..8dd73f669ad99399a87b7829850c10714b048615
--- /dev/null
+++ b/src/common/dh.py
@@ -0,0 +1,207 @@
+import string
+
+# This file defines a number of constants; specifically, large primes suitable for
+# use with the Diffie-Hellman key exchange.
+#
+# These constants have been obtained from RFC2409 and RFC3526.
+
+generators = [	None, # one to get the right offset
+								2,
+								2,
+								None,
+								None,
+								2,
+								None,
+								None,
+								None,
+								None,
+								None,
+								None,
+								None,
+								None,
+								2,			# group 14
+								2,
+								2,
+								2,
+								2,
+											]
+
+hex_primes = [	None,
+
+# group 1
+'''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
+29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
+EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
+E485B576 625E7EC6 F44C42E9 A63A3620 FFFFFFFF FFFFFFFF''',
+
+# group 2
+'''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
+29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
+EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
+E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
+EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381
+FFFFFFFF FFFFFFFF''',
+
+# XXX how do I obtain these?
+None,
+None,
+
+# group 5
+'''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
+29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
+EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
+E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
+EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D
+C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F
+83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D
+670C354E 4ABC9804 F1746C08 CA237327 FFFFFFFF FFFFFFFF''',
+
+None,
+None,
+None,
+None,
+None,
+None,
+None,
+None,
+
+# group 14
+'''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
+29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
+EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
+E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
+EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D
+C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F
+83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D
+670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B
+E39E772C 180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9
+DE2BCBF6 95581718 3995497C EA956AE5 15D22618 98FA0510
+15728E5A 8AACAA68 FFFFFFFF FFFFFFFF''',
+
+# group 15
+'''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
+29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
+EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
+E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
+EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D
+C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F
+83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D
+670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B
+E39E772C 180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9
+DE2BCBF6 95581718 3995497C EA956AE5 15D22618 98FA0510
+15728E5A 8AAAC42D AD33170D 04507A33 A85521AB DF1CBA64
+ECFB8504 58DBEF0A 8AEA7157 5D060C7D B3970F85 A6E1E4C7
+ABF5AE8C DB0933D7 1E8C94E0 4A25619D CEE3D226 1AD2EE6B
+F12FFA06 D98A0864 D8760273 3EC86A64 521F2B18 177B200C
+BBE11757 7A615D6C 770988C0 BAD946E2 08E24FA0 74E5AB31
+43DB5BFC E0FD108E 4B82D120 A93AD2CA FFFFFFFF FFFFFFFF''',
+
+# group 16
+'''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
+29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
+EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
+E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
+EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D
+C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F
+83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D
+670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B
+E39E772C 180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9
+DE2BCBF6 95581718 3995497C EA956AE5 15D22618 98FA0510
+15728E5A 8AAAC42D AD33170D 04507A33 A85521AB DF1CBA64
+ECFB8504 58DBEF0A 8AEA7157 5D060C7D B3970F85 A6E1E4C7
+ABF5AE8C DB0933D7 1E8C94E0 4A25619D CEE3D226 1AD2EE6B
+F12FFA06 D98A0864 D8760273 3EC86A64 521F2B18 177B200C
+BBE11757 7A615D6C 770988C0 BAD946E2 08E24FA0 74E5AB31
+43DB5BFC E0FD108E 4B82D120 A9210801 1A723C12 A787E6D7
+88719A10 BDBA5B26 99C32718 6AF4E23C 1A946834 B6150BDA
+2583E9CA 2AD44CE8 DBBBC2DB 04DE8EF9 2E8EFC14 1FBECAA6
+287C5947 4E6BC05D 99B2964F A090C3A2 233BA186 515BE7ED
+1F612970 CEE2D7AF B81BDD76 2170481C D0069127 D5B05AA9
+93B4EA98 8D8FDDC1 86FFFB7DC 90A6C08F 4DF435C9 34063199
+FFFFFFFF FFFFFFFF''',
+
+# group 17
+'''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 29024E08
+8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD EF9519B3 CD3A431B
+302B0A6D F25F1437 4FE1356D 6D51C245 E485B576 625E7EC6 F44C42E9
+A637ED6B 0BFF5CB6 F406B7ED EE386BFB 5A899FA5 AE9F2411 7C4B1FE6
+49286651 ECE45B3D C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8
+FD24CF5F 83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D
+670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B E39E772C
+180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9 DE2BCBF6 95581718
+3995497C EA956AE5 15D22618 98FA0510 15728E5A 8AAAC42D AD33170D
+04507A33 A85521AB DF1CBA64 ECFB8504 58DBEF0A 8AEA7157 5D060C7D
+B3970F85 A6E1E4C7 ABF5AE8C DB0933D7 1E8C94E0 4A25619D CEE3D226
+1AD2EE6B F12FFA06 D98A0864 D8760273 3EC86A64 521F2B18 177B200C
+BBE11757 7A615D6C 770988C0 BAD946E2 08E24FA0 74E5AB31 43DB5BFC
+E0FD108E 4B82D120 A9210801 1A723C12 A787E6D7 88719A10 BDBA5B26
+99C32718 6AF4E23C 1A946834 B6150BDA 2583E9CA 2AD44CE8 DBBBC2DB
+04DE8EF9 2E8EFC14 1FBECAA6 287C5947 4E6BC05D 99B2964F A090C3A2
+233BA186 515BE7ED 1F612970 CEE2D7AF B81BDD76 2170481C D0069127
+D5B05AA9 93B4EA98 8D8FDDC1 86FFB7DC 90A6C08F 4DF435C9 34028492
+36C3FAB4 D27C7026 C1D4DCB2 602646DE C9751E76 3DBA37BD F8FF9406
+AD9E530E E5DB382F 413001AE B06A53ED 9027D831 179727B0 865A8918
+DA3EDBEB CF9B14ED 44CE6CBA CED4BB1B DB7F1447 E6CC254B 33205151
+2BD7AF42 6FB8F401 378CD2BF 5983CA01 C64B92EC F032EA15 D1721D03
+F482D7CE 6E74FEF6 D55E702F 46980C82 B5A84031 900B1C9E 59E7C97F
+BEC7E8F3 23A97A7E 36CC88BE 0F1D45B7 FF585AC5 4BD407B2 2B4154AA
+CC8F6D7E BF48E1D8 14CC5ED2 0F8037E0 A79715EE F29BE328 06A1D58B
+B7C5DA76 F550AA3D 8A1FBFF0 EB19CCB1 A313D55C DA56C9EC 2EF29632
+387FE8D7 6E3C0468 043E8F66 3F4860EE 12BF2D5B 0B7474D6 E694F91E
+6DCC4024 FFFFFFFF FFFFFFFF''',
+
+# group 18
+'''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
+29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
+EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
+E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
+EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D
+C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F
+83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D
+670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B
+E39E772C 180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9
+DE2BCBF6 95581718 3995497C EA956AE5 15D22618 98FA0510
+15728E5A 8AAAC42D AD33170D 04507A33 A85521AB DF1CBA64
+ECFB8504 58DBEF0A 8AEA7157 5D060C7D B3970F85 A6E1E4C7
+ABF5AE8C DB0933D7 1E8C94E0 4A25619D CEE3D226 1AD2EE6B
+F12FFA06 D98A0864 D8760273 3EC86A64 521F2B18 177B200C
+BBE11757 7A615D6C 770988C0 BAD946E2 08E24FA0 74E5AB31
+43DB5BFC E0FD108E 4B82D120 A9210801 1A723C12 A787E6D7
+88719A10 BDBA5B26 99C32718 6AF4E23C 1A946834 B6150BDA
+2583E9CA 2AD44CE8 DBBBC2DB 04DE8EF9 2E8EFC14 1FBECAA6
+287C5947 4E6BC05D 99B2964F A090C3A2 233BA186 515BE7ED
+1F612970 CEE2D7AF B81BDD76 2170481C D0069127 D5B05AA9
+93B4EA98 8D8FDDC1 86FFB7DC 90A6C08F 4DF435C9 34028492
+36C3FAB4 D27C7026 C1D4DCB2 602646DE C9751E76 3DBA37BD
+F8FF9406 AD9E530E E5DB382F 413001AE B06A53ED 9027D831
+179727B0 865A8918 DA3EDBEB CF9B14ED 44CE6CBA CED4BB1B
+DB7F1447 E6CC254B 33205151 2BD7AF42 6FB8F401 378CD2BF
+5983CA01 C64B92EC F032EA15 D1721D03 F482D7CE 6E74FEF6
+D55E702F 46980C82 B5A84031 900B1C9E 59E7C97F BEC7E8F3
+23A97A7E 36CC88BE 0F1D45B7 FF585AC5 4BD407B2 2B4154AA
+CC8F6D7E BF48E1D8 14CC5ED2 0F8037E0 A79715EE F29BE328
+06A1D58B B7C5DA76 F550AA3D 8A1FBFF0 EB19CCB1 A313D55C
+DA56C9EC 2EF29632 387FE8D7 6E3C0468 043E8F66 3F4860EE
+12BF2D5B 0B7474D6 E694F91E 6DBE1159 74A3926F 12FEE5E4
+38777CB6 A932DF8C D8BEC4D0 73B931BA 3BC832B6 8D9DD300
+741FA7BF 8AFC47ED 2576F693 6BA42466 3AAB639C 5AE4F568
+3423B474 2BF1C978 238F16CB E39D652D E3FDB8BE FC848AD9
+22222E04 A4037C07 13EB57A8 1A23F0C7 3473FC64 6CEA306B
+4BCBC886 2F8385DD FA9D4B7F A2C087E8 79683303 ED5BDD3A
+062B3CF5 B3A278A6 6D2A13F8 3F44F82D DF310EE0 74AB6A36
+4597E899 A0255DC1 64F31CC5 0846851D F9AB4819 5DED7EA1
+B1D510BD 7EE74D73 FAF36BC3 1ECFA268 359046F4 EB879F92
+4009438B 481C6CD7 889A002E D5EE382B C9190DA6 FC026E47
+9558E447 5677E9AA 9E3050E2 765694DF C81F56E8 80B96E71
+60C980DD 98EDD3DF FFFFFFFF FFFFFFFF'''
+]
+
+all_ascii = ''.join(map(chr, range(256)))
+
+def hex_to_decimal(stripee):
+	if not stripee:
+		return None
+
+	return int(stripee.translate(all_ascii, string.whitespace), 16)
+
+primes = map(hex_to_decimal, hex_primes)
diff --git a/src/common/events.py b/src/common/events.py
index ddb7eef2eb4363d00161bf74ac79247874d0f53c..f676ec7fc4942e91499b89c758d0c8783d212125 100644
--- a/src/common/events.py
+++ b/src/common/events.py
@@ -1,24 +1,30 @@
 ## common/events.py
 ##
 ## Contributors for this file:
-##	- Yann Le Boulanger <asterix@lagaule.org>
+##	- Yann Leboulanger <asterix@lagaule.org>
 ##
-## Copyright (C) 2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2006 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <kourem@gmail.com>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import time
 
@@ -159,12 +165,22 @@ class Events:
 		return self._get_nb_events(types = types, account = account)
 
 	def get_events(self, account, jid = None, types = []):
-		'''if event is not specified, get all events from this jid,
+		'''returns all events from the given account of the form
+		{jid1: [], jid2: []}
+		if jid is given, returns all events from the given jid in a list: []
 		optionnaly only from given type'''
 		if not self._events.has_key(account):
 			return []
 		if not jid:
-			return self._events[account]
+			events_list = {} # list of events
+			for jid_ in self._events[account]:
+				events = []
+				for ev in self._events[account][jid_]:
+					if not types or ev.type_ in types:
+						events.append(ev)
+				if events:
+					events_list[jid_] = events
+			return events_list
 		if not self._events[account].has_key(jid):
 			return []
 		events_list = [] # list of events
diff --git a/src/common/exceptions.py b/src/common/exceptions.py
index 12d674535c74fe3fd375602347dd8d2cd5f73c3b..7b19cddc23e575286ea5652f09e26fa295ac98e4 100644
--- a/src/common/exceptions.py
+++ b/src/common/exceptions.py
@@ -1,17 +1,22 @@
 ## exceptions.py
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 class PysqliteNotAvailable(Exception):
 	'''sqlite2 is not installed or python bindings are missing'''
@@ -54,8 +59,20 @@ class SessionBusNotPresent(Exception):
 	def __str__(self):
 		return _('Session bus is not available.\nTry reading http://trac.gajim.org/wiki/GajimDBus')
 
+class NegotiationError(Exception):
+	'''A session negotiation failed'''
+	pass
+
+class DecryptionError(Exception):
+	'''A message couldn't be decrypted into usable XML'''
+	pass
+
+class Cancelled(Exception):
+	'''The user cancelled an operation'''
+	pass
+
 class GajimGeneralException(Exception):
-	'''This exception ir our general exception'''
+	'''This exception is our general exception'''
 	def __init__(self, text=''):
 		Exception.__init__(self)
 		self.text = text
diff --git a/src/common/fuzzyclock.py b/src/common/fuzzyclock.py
index 50d155af4a45a3367f62ca37f4d8ca1a439ead38..a1ed31e5882342ef1f060032be90422ae9b2db62 100755
--- a/src/common/fuzzyclock.py
+++ b/src/common/fuzzyclock.py
@@ -2,23 +2,28 @@
 ##
 ## Contributors for this file:
 ##
-## - Yann Le Boulanger <asterix@lagaule.org>
+## - Yann Leboulanger <asterix@lagaule.org>
 ## - Christoph Neuroth <delmonico@gmx.net>
 ##
 ## Copyright (C) 2006 Christoph Neuroth <delmonico@gmx.net>
-##                    Yann Le Boulanger <asterix@lagaule.org>
+##                    Yann Leboulanger <asterix@lagaule.org>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 '''
 Python class to show a "fuzzy clock".
diff --git a/src/common/gajim.py b/src/common/gajim.py
index 09d837c4deaee9387aac9a9ec030dd794eee4ebe..bfc7a555a48e188bee4655114fa1fe230bf82198 100644
--- a/src/common/gajim.py
+++ b/src/common/gajim.py
@@ -1,19 +1,24 @@
 ##	common/gajim.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005-2006 Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2005-2006 Travis Shirk <travis@pobox.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import sys
 import logging
@@ -72,6 +77,7 @@ VCARD_PATH = gajimpaths['VCARD']
 AVATAR_PATH = gajimpaths['AVATAR']
 MY_EMOTS_PATH = gajimpaths['MY_EMOTS']
 MY_ICONSETS_PATH = gajimpaths['MY_ICONSETS']
+MY_CACERTS =  gajimpaths['MY_CACERTS']
 TMP = gajimpaths['TMP']
 DATA_DIR = gajimpaths['DATA']
 HOME_DIR = gajimpaths['HOME']
@@ -136,6 +142,18 @@ priority_dict = {}
 for status in ('online', 'chat', 'away', 'xa', 'dnd', 'invisible'):
 	priority_dict[status] = config.get('autopriority' + status)
 
+HAVE_PYCRYPTO = True
+try:
+	import Crypto
+except ImportError:
+	HAVE_PYCRYPTO = False
+
+HAVE_PYSEXY = True
+try:
+	import sexy
+except ImportError:
+	HAVE_PYSEXY = False
+
 def get_nick_from_jid(jid):
 	pos = jid.find('@')
 	return jid[:pos]
diff --git a/src/common/helpers.py b/src/common/helpers.py
index c768d10f8e7466941566178a55208560c7f02050..aed9e5280083183b22ca8c0b69131f3e5204ee4b 100644
--- a/src/common/helpers.py
+++ b/src/common/helpers.py
@@ -1,21 +1,26 @@
 ##	common/helpers.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
-## Copyright (C) 2005
-##                    Dimitur Kirov <dkirov@gmail.com>
+## Copyright (C) 2005 Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
+##                    Stephan Erb <steve-e@h3c.de> 
+##			
+## This file is part of Gajim.
 ##
-## This program is free software; you can redistribute it and/or modify
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import re
 import locale
@@ -25,6 +30,7 @@ import urllib
 import errno
 import select
 import sha
+import sys
 from encodings.punycode import punycode_encode
 from encodings import idna
 
@@ -34,6 +40,9 @@ from i18n import ngettext
 from xmpp_stringprep import nodeprep, resourceprep, nameprep
 
 
+if sys.platform == 'darwin':
+	from osx import nsapp
+
 try:
 	import winsound # windows-only built-in module for playing wav
 	import win32api
@@ -420,6 +429,9 @@ def launch_browser_mailer(kind, uri):
 			command = 'kfmclient exec'
 		elif gajim.config.get('openwith') == 'exo-open':
 			command = 'exo-open'
+		elif ((sys.platform == 'darwin') and
+			  (gajim.config.get('openwith') == 'open')):
+			command = 'open'
 		elif gajim.config.get('openwith') == 'custom':
 			if kind == 'url':
 				command = gajim.config.get('custombrowser')
@@ -447,6 +459,9 @@ def launch_file_manager(path_to_open):
 			command = 'kfmclient exec'
 		elif gajim.config.get('openwith') == 'exo-open':
 			command = 'exo-open'
+		elif ((sys.platform == 'darwin') and
+			  (gajim.config.get('openwith') == 'open')):
+			command = 'open'
 		elif gajim.config.get('openwith') == 'custom':
 			command = gajim.config.get('custom_file_manager')
 		if command == '': # if no app is configured
@@ -469,7 +484,9 @@ def play_sound_file(path_to_soundfile):
 		return
 	if path_to_soundfile is None or not os.path.exists(path_to_soundfile):
 		return
-	if os.name == 'nt':
+	if sys.platform == 'darwin':
+		nsapp.playFile(path_to_soundfile)
+	elif os.name == 'nt':
 		try:
 			winsound.PlaySound(path_to_soundfile,
 				winsound.SND_FILENAME|winsound.SND_ASYNC)
@@ -489,7 +506,11 @@ def get_file_path_from_dnd_dropped_uri(uri):
 	if path.startswith('file:\\\\\\'): # windows
 		path = path[8:] # 8 is len('file:///')
 	elif path.startswith('file://'): # nautilus, rox
-		path = path[7:] # 7 is len('file://')
+		if sys.platform == 'darwin':
+			# OS/X includes hostname in file:// URI
+			path = re.sub('file://[^/]*', '', path)
+		else:
+			path = path[7:] # 7 is len('file://')
 	elif path.startswith('file:'): # xffm
 		path = path[5:] # 5 is len('file:')
 	return path
@@ -544,6 +565,19 @@ def get_global_status():
 			status = gajim.connections[account].status
 	return status
 
+def statuses_unified(): 
+	'''testing if all statuses are the same.'''
+	reference = None
+	for account in gajim.connections:
+		if not gajim.config.get_per('accounts', account,
+		'sync_with_global_status'):
+			continue
+		if reference == None:
+			reference = gajim.connections[account].connected
+		elif reference != gajim.connections[account].connected:
+			return False
+	return True
+
 def get_icon_name_to_show(contact, account = None):
 	'''Get the icon name to show in online, away, requested, ...'''
 	if account and gajim.events.get_nb_roster_events(account, contact.jid):
@@ -1050,3 +1084,11 @@ def get_iconset_path(iconset):
 		return os.path.join(gajim.DATA_DIR, 'iconsets', iconset)
 	elif os.path.isdir(os.path.join(gajim.MY_ICONSETS_PATH, iconset)):
 		return os.path.join(gajim.MY_ICONSETS_PATH, iconset)
+
+def get_transport_path(transport):
+	if os.path.isdir(os.path.join(gajim.DATA_DIR, 'iconsets', 'transports',
+	transport)):
+		return os.path.join(gajim.DATA_DIR, 'iconsets', 'transports', transport)
+	elif os.path.isdir(os.path.join(gajim.MY_ICONSETS_PATH, 'transports',
+	transport)):
+		return os.path.join(gajim.MY_ICONSETS_PATH, 'transports', transport)
diff --git a/src/common/i18n.py b/src/common/i18n.py
index 8eae356213d8abedba1505a4708edec8839f2300..450a73002c152527b2cf69c10992fa612ed4a31b 100644
--- a/src/common/i18n.py
+++ b/src/common/i18n.py
@@ -1,27 +1,32 @@
 ##	common/i18n.py
 ## -*- coding: utf-8 -*-
 ## Contributors for this file:
-##  - Yann Le Boulanger <asterix@lagaule.org>
+##  - Yann Leboulanger <asterix@lagaule.org>
 ##  - Nikos Kouremenos <kourem@gmail.com>
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <kourem@gmail.com>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import locale
 import gettext
diff --git a/src/common/logger.py b/src/common/logger.py
index e5a36a8feac62017a271fb9f96b35b2ed8acbeb4..489986faa28007c2d7ade48a1ba36b08a42053bf 100644
--- a/src/common/logger.py
+++ b/src/common/logger.py
@@ -1,17 +1,22 @@
 ## logger.py
 ##
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 ''' This module allows to access the on-disk database of logs. '''
 
@@ -137,6 +142,9 @@ class Logger:
 		for row in rows:
 			# row[0] is first item of row (the only result here, the jid)
 			self.jids_already_in.append(row[0])
+	
+	def get_jids_in_db(self):
+		return self.jids_already_in
 
 	def jid_is_from_pm(self, jid):
 		'''if jid is gajim@conf/nkour it's likely a pm one, how we know
@@ -181,7 +189,13 @@ class Logger:
 			typ = constants.JID_ROOM_TYPE
 		else:
 			typ = constants.JID_NORMAL_TYPE
-		self.cur.execute('INSERT INTO jids (jid, type) VALUES (?, ?)', (jid, typ))
+		try:
+			self.cur.execute('INSERT INTO jids (jid, type) VALUES (?, ?)', (jid,
+				typ))
+		except sqlite.IntegrityError, e:
+			# Jid already in DB, maybe added by another instance. re-read DB
+			self.get_jids_already_in_db()
+			return self.get_jid_id(jid, typestr)
 		try:
 			self.con.commit()
 		except sqlite.OperationalError, e:
diff --git a/src/common/nslookup.py b/src/common/nslookup.py
index 484dc7f1dda80a09bab238e1efd0d7ed9e565a90..ae535993e824470fc958e36760d622f9a1d1f712 100644
--- a/src/common/nslookup.py
+++ b/src/common/nslookup.py
@@ -2,15 +2,20 @@
 ##
 ## Copyright (C) 2006 Dimitur Kirov <dkirov@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import sys
 import os
diff --git a/src/common/optparser.py b/src/common/optparser.py
index c5aaede3eef4eaeb7a045d4fcb68c9c6a0892759..86a86b5d7e106e56bc79d063a6fab6d677553a73 100644
--- a/src/common/optparser.py
+++ b/src/common/optparser.py
@@ -1,16 +1,22 @@
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
 import locale
@@ -57,9 +63,10 @@ class OptionsParser:
 			if os.path.exists(self.__filename):
 				#we talk about a file
 				print _('error: cannot open %s for reading') % self.__filename
-			return
+			return False
 
 		new_version = gajim.config.get('version')
+		new_version = new_version.split('-', 1)[0]
 		for line in fd.readlines():
 			try:
 				line = line.decode('utf-8')
@@ -67,11 +74,13 @@ class OptionsParser:
 				line = line.decode(locale.getpreferredencoding())
 			self.read_line(line)
 		old_version = gajim.config.get('version')
+		old_version = old_version.split('-', 1)[0]
 
 		self.update_config(old_version, new_version)
 		self.old_values = {} # clean mem
 
 		fd.close()
+		return True
 
 	def write_line(self, fd, opt, parents, value):
 		if value == None:
@@ -163,6 +172,10 @@ class OptionsParser:
 			self.update_config_to_01114()
 		if old < [0, 11, 1, 5] and new >= [0, 11, 1, 5]:
 			self.update_config_to_01115()
+		if old < [0, 11, 2, 1] and new >= [0, 11, 2, 1]:
+			self.update_config_to_01121()
+		if old < [0, 11, 2, 2] and new >= [0, 11, 2, 2]:
+			self.update_config_to_01122()
 
 		gajim.logger.init_vars()
 		gajim.config.set('version', new_version)
@@ -476,3 +489,40 @@ class OptionsParser:
 			pass
 		con.close()
 		gajim.config.set('version', '0.11.1.5')
+
+	def update_config_to_01121(self):
+		# remove old unencrypted secrets file
+		from common.configpaths import gajimpaths
+
+		new_file = gajimpaths['SECRETS_FILE']
+
+		old_file = os.path.dirname(new_file) + '/secrets'
+
+		if os.path.exists(old_file):
+			os.remove(old_file)
+
+		gajim.config.set('version', '0.11.2.1')
+
+	def update_config_to_01122(self):
+		back = os.getcwd()
+		os.chdir(logger.LOG_DB_FOLDER)
+		con = sqlite.connect(logger.LOG_DB_FILE)
+		os.chdir(back)
+		cur = con.cursor()
+		try:
+			cur.executescript(
+				'''
+				CREATE TABLE IF NOT EXISTS caps_cache (
+					node TEXT,
+					ver TEXT,
+					ext TEXT,
+					data BLOB
+				);
+				'''
+			)
+			con.commit()
+		except sqlite.OperationalError, e:
+			pass
+		con.close()
+		gajim.config.set('version', '0.11.2.2')
+
diff --git a/src/common/passwords.py b/src/common/passwords.py
index 79d83cb16a9d1dd9de75d947ee1975dd5b5eb244..08514bbdaf0f70c86cbf24f6542593c9c8666b83 100644
--- a/src/common/passwords.py
+++ b/src/common/passwords.py
@@ -2,15 +2,20 @@
 ## Copyright (C) 2006 Gustavo J. A. M. Carneiro <gjcarneiro@gmail.com>
 ## Copyright (C) 2006 Nikos Kouremenos <kourem@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 __all__ = ['get_password', 'save_password']
 
@@ -37,7 +42,8 @@ class SimplePasswordStorage(PasswordStorage):
 
 	def save_password(self, account_name, password):
 		gajim.config.set_per('accounts', account_name, 'password', password)
-		gajim.connections[account_name].password = password
+		if account_name in gajim.connections:
+			gajim.connections[account_name].password = password
 
 
 class GnomePasswordStorage(PasswordStorage):
diff --git a/src/common/proxy65_manager.py b/src/common/proxy65_manager.py
index 4dd5080299fe8abea915fba22d9ef73e779c6d13..29627478fffe0a0e721cdd29172c47f7051deb3c 100644
--- a/src/common/proxy65_manager.py
+++ b/src/common/proxy65_manager.py
@@ -4,15 +4,20 @@
 ## Contributors for this file:
 ##	- Dimitur Kirov <dkirov@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 import socket 
 import struct
 import errno
@@ -108,9 +113,8 @@ class ProxyResolver:
 		query.setNamespace(common.xmpp.NS_BYTESTREAM)
 		query.setAttr('sid',  self.sid)
 		
-		query.setTag('activate')
-		# activate = query.setTag('activate')
-		# activate.setData(self.jid + "/" + self.sid)
+		activate = query.setTag('activate')
+		activate.setData(self.jid + "/" + self.sid)
 
 		if self.active_connection:
 			self.active_connection.send(iq)
@@ -253,7 +257,8 @@ class HostTester(Socks5, IdleObject):
 			self._recv=self._sock.recv
 		except Exception, ee:
 			(errnum, errstr) = ee
-			if errnum in (errno.EINPROGRESS, errno.EALREADY, errno.EWOULDBLOCK): 
+			# 56 is for freebsd
+			if errnum in (errno.EINPROGRESS, errno.EALREADY, errno.EWOULDBLOCK):
 				# still trying to connect
 				return
 			# win32 needs this
diff --git a/src/common/rst_xhtml_generator.py b/src/common/rst_xhtml_generator.py
index 6b78828ef1f6f733babd0aeebfdb886328e969c9..978ca2b488a156d096ff8864e3bbbcd3af50f065 100644
--- a/src/common/rst_xhtml_generator.py
+++ b/src/common/rst_xhtml_generator.py
@@ -1,18 +1,23 @@
 ##	rst_xhtml_generator.py
 ##
-## Copyright (C) 2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2006 Santiago Gala
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 try:
 	from docutils import io
diff --git a/src/common/sleepy.py b/src/common/sleepy.py
index 4ebf7ad248766eb4eed981c32ff7743a9d4bd4f7..bcc5f73c343a1a37c6a101f739fef81f86430d96 100644
--- a/src/common/sleepy.py
+++ b/src/common/sleepy.py
@@ -1,26 +1,31 @@
 ## common/sleepy.py
 ##
 ## Contributors for this file:
-##	  - Yann Le Boulanger <asterix@lagaule.org>
+##	  - Yann Leboulanger <asterix@lagaule.org>
 ##	  - Nikos Kouremenos <kourem@gmail.com>
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##						 Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ##					Nikos Kouremenos <kourem@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 from common import gajim
-import os
+import os, sys
 
 
 STATE_UNKNOWN  = 'OS probably not supported'
@@ -42,6 +47,8 @@ try:
 			lastInputInfo = LASTINPUTINFO()
 			lastInputInfo.cbSize = ctypes.sizeof(lastInputInfo)
 
+		elif sys.platform == 'darwin':
+			import osx.idle as idle
 		else: # unix
 			import idle
 except:
diff --git a/src/common/socks5.py b/src/common/socks5.py
index a4529b7816418aa86696623756b44b8ffdc603b7..6d70266a808b37961239665a89c346dd3445a9d9 100644
--- a/src/common/socks5.py
+++ b/src/common/socks5.py
@@ -2,28 +2,33 @@
 ##	common/xmpp/socks5.py
 ##
 ## Contributors for this file:
-##	- Yann Le Boulanger <asterix@lagaule.org>
+##	- Yann Leboulanger <asterix@lagaule.org>
 ##	- Nikos Kouremenos <kourem@gmail.com>
 ##	- Dimitur Kirov <dkirov@gmail.com>
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <kourem@gmail.com>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 
 import socket
diff --git a/src/common/stanza_session.py b/src/common/stanza_session.py
new file mode 100644
index 0000000000000000000000000000000000000000..d8625d6a74e8d4e0345a14f1037fc04d48ffa582
--- /dev/null
+++ b/src/common/stanza_session.py
@@ -0,0 +1,910 @@
+from common import gajim
+
+from common import xmpp
+from common import helpers
+from common import exceptions
+
+import random
+import string
+
+import time
+
+import xmpp.c14n
+
+import base64
+
+XmlDsig = 'http://www.w3.org/2000/09/xmldsig#'
+
+class StanzaSession(object):
+	def __init__(self, conn, jid, thread_id, type):
+		self.conn = conn
+
+		self.jid = jid
+
+		self.type = type
+
+		if thread_id:
+			self.received_thread_id = True
+			self.thread_id = thread_id
+		else:
+			self.received_thread_id = False
+			if type == 'normal':
+				self.thread_id = None
+			else:
+				self.thread_id = self.generate_thread_id()
+
+		self.last_send = 0
+		self.status = None
+		self.negotiated = {}
+
+	def generate_thread_id(self):
+		return "".join([random.choice(string.ascii_letters) for x in xrange(0,32)])
+
+	def send(self, msg):
+		if self.thread_id:
+			msg.NT.thread = self.thread_id
+
+		msg.setAttr('to', self.jid)
+		self.conn.send_stanza(msg)
+
+		if isinstance(msg, xmpp.Message):
+			self.last_send = time.time()
+
+	def reject_negotiation(self, body = None):
+		msg = xmpp.Message()
+		feature = msg.NT.feature
+		feature.setNamespace(xmpp.NS_FEATURE)
+
+		x = xmpp.DataForm(typ='submit')
+		x.addChild(node=xmpp.DataField(name='FORM_TYPE', value='urn:xmpp:ssn'))
+		x.addChild(node=xmpp.DataField(name='accept', value='0'))
+
+		feature.addChild(node=x)
+
+		if body:
+			msg.setBody(body)
+
+		self.send(msg)
+
+		self.cancelled_negotiation()
+
+	def cancelled_negotiation(self):
+		'''A negotiation has been cancelled, so reset this session to its default state.'''
+
+		if hasattr(self, 'control'):
+			self.control.on_cancel_session_negotiation()
+
+		self.status = None
+		self.negotiated = {}
+
+	def terminate(self):
+		msg = xmpp.Message()
+		feature = msg.NT.feature
+		feature.setNamespace(xmpp.NS_FEATURE)
+
+		x = xmpp.DataForm(typ='submit')
+		x.addChild(node=xmpp.DataField(name='FORM_TYPE', value='urn:xmpp:ssn'))
+		x.addChild(node=xmpp.DataField(name='terminate', value='1'))
+
+		feature.addChild(node=x)
+
+		self.send(msg)
+
+		self.status = None
+
+	def acknowledge_termination(self):
+		# we could send an acknowledgement message to the remote client here
+		self.status = None
+
+if gajim.HAVE_PYCRYPTO:
+	from Crypto.Cipher import AES
+	from Crypto.Hash import HMAC, SHA256
+	from Crypto.PublicKey import RSA
+	from common import crypto
+
+	from common import dh
+	import secrets
+
+# an encrypted stanza negotiation has several states. i've represented them
+# as the following values in the 'status'
+# attribute of the session object:
+
+# 1. None:
+#				default state
+# 2. 'requested-e2e':
+#				this client has initiated an esession negotiation and is waiting
+#				for a response
+# 3. 'responded-e2e':
+#				this client has responded to an esession negotiation request and
+#				is waiting for the initiator to identify itself and complete the
+#				negotiation
+# 4. 'identified-alice':
+#				this client identified itself and is waiting for the responder to
+#				identify itself and complete the negotiation
+# 5. 'active':
+#				an encrypted session has been successfully negotiated. messages
+#				of any of the types listed in 'encryptable_stanzas' should be
+#				encrypted before they're sent.
+
+# the transition between these states is handled in gajim.py's
+#	handle_session_negotiation method.
+
+class EncryptedStanzaSession(StanzaSession):
+	def __init__(self, conn, jid, thread_id, type = 'chat'):
+		StanzaSession.__init__(self, conn, jid, thread_id, type = 'chat')
+
+		self.loggable = True
+
+		self.xes = {}
+		self.es = {}
+
+		self.n = 128
+
+		self.enable_encryption = False
+
+		# _s denotes 'self' (ie. this client)
+		self._kc_s = None
+
+		# _o denotes 'other' (ie. the client at the other end of the session)
+		self._kc_o = None
+
+	# keep the encrypter updated with my latest cipher key
+	def set_kc_s(self, value):
+		self._kc_s = value
+		self.encrypter = self.cipher.new(self._kc_s, self.cipher.MODE_CTR,
+			counter=self.encryptcounter)
+
+	def get_kc_s(self):
+		return self._kc_s
+
+	# keep the decrypter updated with the other party's latest cipher key
+	def set_kc_o(self, value):
+		self._kc_o = value
+		self.decrypter = self.cipher.new(self._kc_o, self.cipher.MODE_CTR,
+			counter=self.decryptcounter)
+
+	def get_kc_o(self):
+		return self._kc_o
+
+	kc_s = property(get_kc_s, set_kc_s)
+	kc_o = property(get_kc_o, set_kc_o)
+
+	def encryptcounter(self):
+		self.c_s = (self.c_s + 1) % (2 ** self.n)
+		return crypto.encode_mpi_with_padding(self.c_s)
+
+	def decryptcounter(self):
+		self.c_o = (self.c_o + 1) % (2 ** self.n)
+		return crypto.encode_mpi_with_padding(self.c_o)
+
+	def sign(self, string):
+		if self.negotiated['sign_algs'] == (XmlDsig + 'rsa-sha256'):
+			hash = crypto.sha256(string)
+			return crypto.encode_mpi(gajim.pubkey.sign(hash, '')[0])
+
+	def encrypt_stanza(self, stanza):
+		encryptable = filter(lambda x: x.getName() not in ('error', 'amp',
+			'thread'), stanza.getChildren())
+
+		# XXX can also encrypt contents of <error/> elements in stanzas @type =
+		# 'error'
+		# (except for <defined-condition
+		# xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/> child elements)
+
+		old_en_counter = self.c_s
+
+		for element in encryptable:
+			stanza.delChild(element)
+
+		plaintext = ''.join(map(str, encryptable))
+
+		m_compressed = self.compress(plaintext)
+		m_final = self.encrypt(m_compressed)
+
+		c = stanza.NT.c
+		c.setNamespace('http://www.xmpp.org/extensions/xep-0200.html#ns')
+		c.NT.data = base64.b64encode(m_final)
+
+		# XXX check for rekey request, handle <key/> elements
+
+		m_content = ''.join(map(str, c.getChildren()))
+		c.NT.mac = base64.b64encode(self.hmac(self.km_s, m_content + \
+			crypto.encode_mpi(old_en_counter)))
+
+		return stanza
+
+	def hmac(self, key, content):
+		return HMAC.new(key, content, self.hash_alg).digest()
+
+	def generate_initiator_keys(self, k):
+		return (self.hmac(k, 'Initiator Cipher Key'),
+						self.hmac(k, 'Initiator MAC Key'),
+						self.hmac(k, 'Initiator SIGMA Key')		 )
+
+	def generate_responder_keys(self, k):
+		return (self.hmac(k, 'Responder Cipher Key'),
+						self.hmac(k, 'Responder MAC Key'),
+						self.hmac(k, 'Responder SIGMA Key')		)
+
+	def compress(self, plaintext):
+		if self.compression == None:
+			return plaintext
+
+	def decompress(self, compressed):
+		if self.compression == None:
+			return compressed
+
+	def encrypt(self, encryptable):
+		padded = crypto.pad_to_multiple(encryptable, 16, ' ', False)
+
+		return self.encrypter.encrypt(padded)
+
+	def decrypt_stanza(self, stanza):
+		c = stanza.getTag(name='c',
+			namespace='http://www.xmpp.org/extensions/xep-0200.html#ns')
+
+		stanza.delChild(c)
+
+		# contents of <c>, minus <mac>, minus whitespace
+		macable = ''.join(map(str, filter(lambda x: x.getName() != 'mac',
+			c.getChildren())))
+
+		received_mac = base64.b64decode(c.getTagData('mac'))
+		calculated_mac = self.hmac(self.km_o, macable + \
+			crypto.encode_mpi_with_padding(self.c_o))
+
+		if not calculated_mac == received_mac:
+			raise exceptions.DecryptionError, 'bad signature'
+
+		m_final = base64.b64decode(c.getTagData('data'))
+		m_compressed = self.decrypt(m_final)
+		plaintext = self.decompress(m_compressed)
+
+		try:
+			parsed = xmpp.Node(node='<node>' + plaintext + '</node>')
+		except:
+			raise exceptions.DecryptionError, 'decrypted <data/> not parseable as XML'
+
+		for child in parsed.getChildren():
+			stanza.addChild(node=child)
+
+		return stanza
+
+	def decrypt(self, ciphertext):
+		return self.decrypter.decrypt(ciphertext)
+
+	def logging_preference(self):
+		if gajim.config.get('log_encrypted_sessions'):
+			return ["may", "mustnot"]
+		else:
+			return ["mustnot", "may"]
+
+	def get_shared_secret(self, e, y, p):
+		if (not 1 < e < (p - 1)):
+			raise exceptions.NegotiationError, "invalid DH value"
+
+		return crypto.sha256(crypto.encode_mpi(crypto.powmod(e, y, p)))
+
+	def c7lize_mac_id(self, form):
+		kids = form.getChildren()
+		macable = filter(lambda x: x.getVar() not in ('mac', 'identity'), kids)
+		return ''.join(map(lambda el: xmpp.c14n.c14n(el), macable))
+
+	def verify_identity(self, form, dh_i, sigmai, i_o):
+		m_o = base64.b64decode(form['mac'])
+		id_o = base64.b64decode(form['identity'])
+
+		m_o_calculated = self.hmac(self.km_o, crypto.encode_mpi(self.c_o) + id_o)
+
+		if m_o_calculated != m_o:
+			raise exceptions.NegotiationError, 'calculated m_%s differs from received m_%s' % (i_o, i_o)
+
+		if i_o == 'a' and self.sas_algs == 'sas28x5':
+			# XXX not necessary if there's a verified retained secret
+			self.sas = crypto.sas_28x5(m_o, self.form_s)
+
+		if self.negotiated['recv_pubkey']:
+			plaintext = self.decrypt(id_o)
+			parsed = xmpp.Node(node='<node>' + plaintext + '</node>')
+
+			if self.negotiated['recv_pubkey'] == 'hash':
+				fingerprint = parsed.getTagData('fingerprint')
+
+				# XXX find stored pubkey or terminate session
+				raise 'unimplemented'
+			else:
+				if self.negotiated['sign_algs'] == (XmlDsig + 'rsa-sha256'):
+					keyvalue = parsed.getTag(name='RSAKeyValue', namespace=XmlDsig)
+
+					n, e = map(lambda x: crypto.decode_mpi(base64.b64decode(
+						keyvalue.getTagData(x))), ('Modulus', 'Exponent'))
+					eir_pubkey = RSA.construct((n,long(e)))
+
+					pubkey_o = xmpp.c14n.c14n(keyvalue)
+				else:
+					# XXX DSA, etc.
+					raise 'unimplemented'
+
+			enc_sig = parsed.getTag(name='SignatureValue',
+				namespace=XmlDsig).getData()
+			signature = (crypto.decode_mpi(base64.b64decode(enc_sig)),)
+		else:
+			mac_o = self.decrypt(id_o)
+			pubkey_o = ''
+
+		c7l_form = self.c7lize_mac_id(form)
+
+		content = self.n_s + self.n_o + crypto.encode_mpi(dh_i) + pubkey_o
+
+		if sigmai:
+			self.form_o = c7l_form
+			content += self.form_o
+		else:
+			form_o2 = c7l_form
+			content += self.form_o + form_o2
+
+		mac_o_calculated = self.hmac(self.ks_o, content)
+
+		if self.negotiated['recv_pubkey']:
+			hash = crypto.sha256(mac_o_calculated)
+
+			if not eir_pubkey.verify(hash, signature):
+				raise exceptions.NegotiationError, 'public key signature verification failed!'
+
+		elif mac_o_calculated != mac_o:
+			raise exceptions.NegotiationError, 'calculated mac_%s differs from received mac_%s' % (i_o, i_o)
+
+	def make_identity(self, form, dh_i):
+		if self.negotiated['send_pubkey']:
+			if self.negotiated['sign_algs'] == (XmlDsig + 'rsa-sha256'):
+				pubkey = secrets.secrets().my_pubkey(self.conn.name)
+				fields = (pubkey.n, pubkey.e)
+
+				cb_fields = map(lambda f: base64.b64encode(crypto.encode_mpi(f)), fields)
+
+				pubkey_s = '<RSAKeyValue xmlns="http://www.w3.org/2000/09/xmldsig#"><Modulus>%s</Modulus><Exponent>%s</Exponent></RSAKeyValue>' % tuple(cb_fields)
+		else:
+			pubkey_s = ''
+
+		form_s2 = ''.join(map(lambda el: xmpp.c14n.c14n(el), form.getChildren()))
+
+		old_c_s = self.c_s
+		content = self.n_o + self.n_s + crypto.encode_mpi(dh_i) + pubkey_s + self.form_s + form_s2
+
+		mac_s = self.hmac(self.ks_s, content)
+
+		if self.negotiated['send_pubkey']:
+			signature = self.sign(mac_s)
+
+			sign_s = '<SignatureValue xmlns="http://www.w3.org/2000/09/xmldsig#">%s</SignatureValue>' % base64.b64encode(signature)
+
+			if self.negotiated['send_pubkey'] == 'hash':
+				b64ed = base64.b64encode(self.hash(pubkey_s))
+				pubkey_s = '<fingerprint>%s</fingerprint>' % b64ed
+
+			id_s = self.encrypt(pubkey_s + sign_s)
+		else:
+			id_s = self.encrypt(mac_s)
+
+		m_s = self.hmac(self.km_s, crypto.encode_mpi(old_c_s) + id_s)
+
+		if self.status == 'requested-e2e' and self.sas_algs == 'sas28x5':
+			# we're alice; check for a retained secret
+			# if none exists, prompt the user with the SAS
+			self.sas = crypto.sas_28x5(m_s, self.form_o)
+
+			if self.sigmai:
+				# XXX save retained secret?
+				self.check_identity(lambda : ())
+
+		return (xmpp.DataField(name='identity', value=base64.b64encode(id_s)), \
+						xmpp.DataField(name='mac', value=base64.b64encode(m_s)))
+
+	def negotiate_e2e(self, sigmai):
+		self.negotiated = {}
+
+		request = xmpp.Message()
+		feature = request.NT.feature
+		feature.setNamespace(xmpp.NS_FEATURE)
+
+		x = xmpp.DataForm(typ='form')
+
+		x.addChild(node=xmpp.DataField(name='FORM_TYPE', value='urn:xmpp:ssn', typ='hidden'))
+		x.addChild(node=xmpp.DataField(name='accept', value='1', typ='boolean', required=True))
+
+		# this field is incorrectly called 'otr' in XEPs 0116 and 0217
+		x.addChild(node=xmpp.DataField(name='logging', typ='list-single', options=self.logging_preference(), required=True))
+
+		# unsupported options: 'disabled', 'enabled'
+		x.addChild(node=xmpp.DataField(name='disclosure', typ='list-single', options=['never'], required=True))
+		x.addChild(node=xmpp.DataField(name='security', typ='list-single', options=['e2e'], required=True))
+		x.addChild(node=xmpp.DataField(name='crypt_algs', value='aes128-ctr', typ='hidden'))
+		x.addChild(node=xmpp.DataField(name='hash_algs', value='sha256', typ='hidden'))
+		x.addChild(node=xmpp.DataField(name='compress', value='none', typ='hidden'))
+
+		# unsupported options: 'iq', 'presence'
+		x.addChild(node=xmpp.DataField(name='stanzas', typ='list-multi', options=['message']))
+
+		x.addChild(node=xmpp.DataField(name='init_pubkey', options=['none', 'key', 'hash'], typ='list-single'))
+
+		# XXX store key, use hash
+		x.addChild(node=xmpp.DataField(name='resp_pubkey', options=['none', 'key'], typ='list-single'))
+
+		x.addChild(node=xmpp.DataField(name='ver', value='1.0', typ='hidden'))
+
+		x.addChild(node=xmpp.DataField(name='rekey_freq', value='4294967295', typ='hidden'))
+
+		x.addChild(node=xmpp.DataField(name='sas_algs', value='sas28x5', typ='hidden'))
+		x.addChild(node=xmpp.DataField(name='sign_algs', value='http://www.w3.org/2000/09/xmldsig#rsa-sha256', typ='hidden'))
+
+		self.n_s = crypto.generate_nonce()
+
+		x.addChild(node=xmpp.DataField(name='my_nonce', value=base64.b64encode(self.n_s), typ='hidden'))
+
+		modp_options = [ 5, 14, 2, 1 ]
+
+		x.addChild(node=xmpp.DataField(name='modp', typ='list-single', options=map(lambda x: [ None, x ], modp_options)))
+
+		x.addChild(node=self.make_dhfield(modp_options, sigmai))
+		self.sigmai = sigmai
+
+		self.form_s = ''.join(map(lambda el: xmpp.c14n.c14n(el), x.getChildren()))
+
+		feature.addChild(node=x)
+
+		self.status = 'requested-e2e'
+
+		self.send(request)
+
+	# 4.3 esession response (bob)
+	def verify_options_bob(self, form):
+		negotiated = {'recv_pubkey': None, 'send_pubkey': None}
+		not_acceptable = []
+		ask_user = {}
+
+		fixed = { 'disclosure': 'never',
+								'security': 'e2e',
+							'crypt_algs': 'aes128-ctr',
+							'hash_algs': 'sha256',
+								'compress': 'none',
+								'stanzas': 'message',
+						'init_pubkey': 'none',
+						'resp_pubkey': 'none',
+										'ver': '1.0',
+								'sas_algs': 'sas28x5' }
+
+		self.encryptable_stanzas = ['message']
+
+		self.sas_algs = 'sas28x5'
+		self.cipher = AES
+		self.hash_alg = SHA256
+		self.compression = None
+
+		for name, field in map(lambda name: (name, form.getField(name)), form.asDict().keys()):
+			options = map(lambda x: x[1], field.getOptions())
+			values = field.getValues()
+
+			if not field.getType() in ('list-single', 'list-multi'):
+				options = values
+
+			if name in fixed:
+				if fixed[name] in options:
+					negotiated[name] = fixed[name]
+				else:
+					not_acceptable.append(name)
+			elif name == 'rekey_freq':
+				preferred = int(options[0])
+				negotiated['rekey_freq'] = preferred
+				self.rekey_freq = preferred
+			elif name == 'logging':
+				my_prefs = self.logging_preference()
+
+				if my_prefs[0] in options: # our first choice is offered, select it
+					pref = my_prefs[0]
+					negotiated['logging'] = pref
+				else:	# see if other acceptable choices are offered
+					for pref in my_prefs:
+						if pref in options:
+							ask_user['logging'] = pref
+							break
+
+					if not 'logging' in ask_user:
+						not_acceptable.append(name)
+			elif name == 'init_pubkey':
+				for x in ('key'):
+					if x in options:
+						negotiated['recv_pubkey'] = x
+						break
+			elif name == 'resp_pubkey':
+				for x in ('hash', 'key'):
+					if x in options:
+						negotiated['send_pubkey'] = x
+						break
+			elif name == 'sign_algs':
+				if (XmlDsig + 'rsa-sha256') in options:
+					negotiated['sign_algs'] = XmlDsig + 'rsa-sha256'
+			else:
+				# XXX some things are handled elsewhere, some things are not-implemented
+				pass
+
+		return (negotiated, not_acceptable, ask_user)
+
+	# 4.3 esession response (bob)
+	def respond_e2e_bob(self, form, negotiated, not_acceptable):
+		response = xmpp.Message()
+		feature = response.NT.feature
+		feature.setNamespace(xmpp.NS_FEATURE)
+
+		x = xmpp.DataForm(typ='submit')
+
+		x.addChild(node=xmpp.DataField(name='FORM_TYPE', value='urn:xmpp:ssn'))
+		x.addChild(node=xmpp.DataField(name='accept', value='true'))
+
+		for name in negotiated:
+			# some fields are internal and should not be sent
+			if not name in ('send_pubkey', 'recv_pubkey'):
+				x.addChild(node=xmpp.DataField(name=name, value=negotiated[name]))
+
+		self.negotiated = negotiated
+
+		# the offset of the group we chose (need it to match up with the dhhash)
+		group_order = 0
+		self.modp = int(form.getField('modp').getOptions()[group_order][1])
+		x.addChild(node=xmpp.DataField(name='modp', value=self.modp))
+
+		g = dh.generators[self.modp]
+		p = dh.primes[self.modp]
+
+		self.n_o = base64.b64decode(form['my_nonce'])
+
+		dhhashes = form.getField('dhhashes').getValues()
+		self.negotiated['He'] = base64.b64decode(dhhashes[group_order].encode("utf8"))
+
+		bytes = int(self.n / 8)
+
+		self.n_s = crypto.generate_nonce()
+
+		self.c_o = crypto.decode_mpi(crypto.random_bytes(bytes)) # n-bit random number
+		self.c_s = self.c_o ^ (2 ** (self.n - 1))
+
+		self.y = crypto.srand(2 ** (2 * self.n - 1), p - 1)
+		self.d = crypto.powmod(g, self.y, p)
+
+		to_add = { 'my_nonce': self.n_s,
+							 'dhkeys': crypto.encode_mpi(self.d),
+							 'counter': crypto.encode_mpi(self.c_o),
+							 'nonce': self.n_o }
+
+		for name in to_add:
+			b64ed = base64.b64encode(to_add[name])
+			x.addChild(node=xmpp.DataField(name=name, value=b64ed))
+
+		self.form_o = ''.join(map(lambda el: xmpp.c14n.c14n(el), form.getChildren()))
+		self.form_s = ''.join(map(lambda el: xmpp.c14n.c14n(el), x.getChildren()))
+
+		self.status = 'responded-e2e'
+
+		feature.addChild(node=x)
+
+		if not_acceptable:
+			response = xmpp.Error(response, xmpp.ERR_NOT_ACCEPTABLE)
+
+			feature = xmpp.Node(xmpp.NS_FEATURE + ' feature')
+
+			for f in not_acceptable:
+				n = xmpp.Node('field')
+				n['var'] = f
+				feature.addChild(node=n)
+
+			response.T.error.addChild(node=feature)
+
+		self.send(response)
+
+	# 'Alice Accepts'
+	def verify_options_alice(self, form):
+		negotiated = {}
+		ask_user = {}
+		not_acceptable = []
+
+		if not form['logging'] in self.logging_preference():
+			not_acceptable.append(form['logging'])
+		elif form['logging'] != self.logging_preference()[0]:
+			ask_user['logging'] = form['logging']
+		else:
+			negotiated['logging'] = self.logging_preference()[0]
+
+		for r,a in (('recv_pubkey', 'resp_pubkey'), ('send_pubkey', 'init_pubkey')):
+			negotiated[r] = None
+
+			if a in form.asDict() and form[a] in ('key', 'hash'):
+				negotiated[r] = form[a]
+
+		if 'sign_algs' in form.asDict():
+			if form['sign_algs'] in (XmlDsig + 'rsa-sha256',):
+				negotiated['sign_algs'] = form['sign_algs']
+			else:
+				not_acceptable.append(form['sign_algs'])
+
+		return (negotiated, not_acceptable, ask_user)
+
+	# 'Alice Accepts', continued
+	def accept_e2e_alice(self, form, negotiated):
+		self.encryptable_stanzas = ['message']
+		self.sas_algs = 'sas28x5'
+		self.cipher = AES
+		self.hash_alg = SHA256
+		self.compression = None
+
+		self.negotiated = negotiated
+
+		accept = xmpp.Message()
+		feature = accept.NT.feature
+		feature.setNamespace(xmpp.NS_FEATURE)
+
+		result = xmpp.DataForm(typ='result')
+
+		self.c_s = crypto.decode_mpi(base64.b64decode(form['counter']))
+		self.c_o = self.c_s ^ (2 ** (self.n - 1))
+
+		self.n_o = base64.b64decode(form['my_nonce'])
+
+		mod_p = int(form['modp'])
+		p = dh.primes[mod_p]
+		x = self.xes[mod_p]
+		e = self.es[mod_p]
+
+		self.d = crypto.decode_mpi(base64.b64decode(form['dhkeys']))
+
+		self.k = self.get_shared_secret(self.d, x, p)
+
+		result.addChild(node=xmpp.DataField(name='FORM_TYPE', value='urn:xmpp:ssn'))
+		result.addChild(node=xmpp.DataField(name='accept', value='1'))
+		result.addChild(node=xmpp.DataField(name='nonce', value=base64.b64encode(self.n_o)))
+
+		self.kc_s, self.km_s, self.ks_s = self.generate_initiator_keys(self.k)
+
+		if self.sigmai:
+			self.kc_o, self.km_o, self.ks_o = self.generate_responder_keys(self.k)
+			self.verify_identity(form, self.d, True, 'b')
+		else:
+			srses = secrets.secrets().retained_secrets(self.conn.name, self.jid.getStripped())
+			rshashes = [self.hmac(self.n_s, rs) for (rs,v) in srses]
+
+			if not rshashes:
+				# we've never spoken before, but we'll pretend we have
+				rshash_size = self.hash_alg.digest_size
+				rshashes.append(crypto.random_bytes(rshash_size))
+
+			rshashes = [base64.b64encode(rshash) for rshash in rshashes]
+			result.addChild(node=xmpp.DataField(name='rshashes', value=rshashes))
+			result.addChild(node=xmpp.DataField(name='dhkeys', value=base64.b64encode(crypto.encode_mpi(e))))
+
+			self.form_o = ''.join(map(lambda el: xmpp.c14n.c14n(el), form.getChildren()))
+
+		# MUST securely destroy K unless it will be used later to generate the final shared secret
+
+		for datafield in self.make_identity(result, e):
+			result.addChild(node=datafield)
+
+		feature.addChild(node=result)
+		self.send(accept)
+
+		if self.sigmai:
+			self.status = 'active'
+			self.enable_encryption = True
+		else:
+			self.status = 'identified-alice'
+
+	# 4.5 esession accept (bob)
+	def accept_e2e_bob(self, form):
+		response = xmpp.Message()
+
+		init = response.NT.init
+		init.setNamespace(xmpp.NS_ESESSION_INIT)
+
+		x = xmpp.DataForm(typ='result')
+
+		for field in ('nonce', 'dhkeys', 'rshashes', 'identity', 'mac'):
+			assert field in form.asDict(), "alice's form didn't have a %s field" % field
+
+		# 4.5.1 generating provisory session keys
+		e = crypto.decode_mpi(base64.b64decode(form['dhkeys']))
+		p = dh.primes[self.modp]
+
+		if crypto.sha256(crypto.encode_mpi(e)) != self.negotiated['He']:
+			raise exceptions.NegotiationError, 'SHA256(e) != He'
+
+		k = self.get_shared_secret(e, self.y, p)
+
+		self.kc_o, self.km_o, self.ks_o = self.generate_initiator_keys(k)
+
+		# 4.5.2 verifying alice's identity
+
+		self.verify_identity(form, e, False, 'a')
+
+		# 4.5.4 generating bob's final session keys
+
+		srs = ''
+
+		srses = secrets.secrets().retained_secrets(self.conn.name, self.jid.getStripped())
+		rshashes = [base64.b64decode(rshash) for rshash in form.getField('rshashes').getValues()]
+
+		for (secret, verified) in srses:
+			if self.hmac(self.n_o, secret) in rshashes:
+				srs = secret
+				break
+
+		# other shared secret
+		# (we're not using one)
+		oss = ''
+
+		k = crypto.sha256(k + srs + oss)
+
+		self.kc_s, self.km_s, self.ks_s = self.generate_responder_keys(k)
+		self.kc_o, self.km_o, self.ks_o = self.generate_initiator_keys(k)
+
+		# 4.5.5
+		if srs:
+			srshash = self.hmac(srs, 'Shared Retained Secret')
+		else:
+			srshash = crypto.random_bytes(32)
+
+		x.addChild(node=xmpp.DataField(name='FORM_TYPE', value='urn:xmpp:ssn'))
+		x.addChild(node=xmpp.DataField(name='nonce', value=base64.b64encode(self.n_o)))
+		x.addChild(node=xmpp.DataField(name='srshash', value=base64.b64encode(srshash)))
+
+		for datafield in self.make_identity(x, self.d):
+			x.addChild(node=datafield)
+
+		init.addChild(node=x)
+
+		self.send(response)
+
+		self.do_retained_secret(k, srs)
+
+		if self.negotiated['logging'] == 'mustnot':
+			self.loggable = False
+
+		self.status = 'active'
+		self.enable_encryption = True
+
+		if hasattr(self, 'control'):
+			self.control.print_esession_details()
+
+	def final_steps_alice(self, form):
+		srs = ''
+		srses = secrets.secrets().retained_secrets(self.conn.name, self.jid.getStripped())
+
+		srshash = base64.b64decode(form['srshash'])
+
+		for (secret, verified) in srses:
+			if self.hmac(secret, 'Shared Retained Secret') == srshash:
+				srs = secret
+				break
+
+		oss = ''
+		k = crypto.sha256(self.k + srs + oss)
+		del self.k
+
+		self.do_retained_secret(k, srs)
+
+		# don't need to calculate ks_s here
+
+		self.kc_s, self.km_s, self.ks_s = self.generate_initiator_keys(k)
+		self.kc_o, self.km_o, self.ks_o = self.generate_responder_keys(k)
+
+		# 4.6.2 Verifying Bob's Identity
+
+		self.verify_identity(form, self.d, False, 'b')
+# Note: If Alice discovers an error then she SHOULD ignore any encrypted content she received in the stanza.
+
+		if self.negotiated['logging'] == 'mustnot':
+			self.loggable = False
+
+		self.status = 'active'
+		self.enable_encryption = True
+
+		if hasattr(self, 'control'):
+			self.control.print_esession_details()
+
+	# calculate and store the new retained secret
+	# prompt the user to check the remote party's identity (if necessary)
+	def do_retained_secret(self, k, srs):
+		new_srs = self.hmac(k, 'New Retained Secret')
+		account = self.conn.name
+		bjid = self.jid.getStripped()
+
+		if srs:
+			if secrets.secrets().srs_verified(account, bjid, srs):
+				secrets.secrets().replace_srs(account, bjid, srs, new_srs, True)
+			else:
+				def _cb(verified):
+					secrets.secrets().replace_srs(account, bjid, srs, new_srs, verified)
+
+				self.check_identity(_cb)
+		else:
+			def _cb(verified):
+				secrets.secrets().save_new_srs(account, bjid, new_srs, verified)
+
+			self.check_identity(_cb)
+
+	def make_dhfield(self, modp_options, sigmai):
+		dhs = []
+
+		for modp in modp_options:
+			p = dh.primes[modp]
+			g = dh.generators[modp]
+
+			x = crypto.srand(2 ** (2 * self.n - 1), p - 1)
+
+			# XXX this may be a source of performance issues
+			e = crypto.powmod(g, x, p)
+
+			self.xes[modp] = x
+			self.es[modp] = e
+
+			if sigmai:
+				dhs.append(base64.b64encode(crypto.encode_mpi(e)))
+				name = 'dhkeys'
+			else:
+				He = crypto.sha256(crypto.encode_mpi(e))
+				dhs.append(base64.b64encode(He))
+				name = 'dhhashes'
+
+		return xmpp.DataField(name=name, typ='hidden', value=dhs)
+
+	def terminate_e2e(self):
+		self.terminate()
+
+		self.enable_encryption = False
+
+	def acknowledge_termination(self):
+		StanzaSession.acknowledge_termination(self)
+
+		self.enable_encryption = False
+
+	def fail_bad_negotiation(self, reason, fields = None):
+		'''sends an error and cancels everything.
+
+if fields == None, the remote party has given us a bad cryptographic value of some kind
+
+otherwise, list the fields we haven't implemented'''
+
+		err = xmpp.Error(xmpp.Message(), xmpp.ERR_FEATURE_NOT_IMPLEMENTED)
+		err.T.error.T.text.setData(reason)
+
+		if fields:
+			feature = xmpp.Node(xmpp.NS_FEATURE + ' feature')
+
+			for field in fields:
+				fn = xmpp.Node('field')
+				fn['var'] = field
+				feature.addChild(node=feature)
+
+			err.addChild(node=feature)
+
+		self.send(err)
+
+		self.status = None
+		self.enable_encryption = False
+
+		# this prevents the MAC check on decryption from succeeding,
+		# preventing falsified messages from going through.
+		self.km_o = ''
+
+	def is_loggable(self):
+		account = self.conn.name
+		no_log_for = gajim.config.get_per('accounts', account, 'no_log_for')
+
+		if not no_log_for:
+			no_log_for = ''
+
+		no_log_for = no_log_for.split()
+
+		return self.loggable and account not in no_log_for and self.jid not in no_log_for
+
+	def cancelled_negotiation(self):
+		StanzaSession.cancelled_negotiation(self)
+		self.enable_encryption = False
+
+		self.km_o = ''
diff --git a/src/common/xmpp/c14n.py b/src/common/xmpp/c14n.py
new file mode 100644
index 0000000000000000000000000000000000000000..b58e0a1d6cf70e2f871ac191d04d0970d77d0c2b
--- /dev/null
+++ b/src/common/xmpp/c14n.py
@@ -0,0 +1,36 @@
+from simplexml import ustr
+
+# XML canonicalisation methods (for XEP-0116)
+def c14n(node):
+	s = "<" + node.name
+	if node.namespace:
+		if not node.parent or node.parent.namespace != node.namespace:
+			s = s + ' xmlns="%s"' % node.namespace
+
+	sorted_attrs = node.attrs.keys()
+	sorted_attrs.sort()
+	for key in sorted_attrs:
+		val = ustr(node.attrs[key])
+		# like XMLescape() but with whitespace and without &gt;
+		s = s + ' %s="%s"' % ( key, normalise_attr(val) )
+	s = s + ">"
+	cnt = 0
+	if node.kids:
+		for a in node.kids:
+			if (len(node.data)-1) >= cnt:
+				s = s + normalise_text(node.data[cnt])
+			s = s + c14n(a)
+			cnt=cnt+1
+	if (len(node.data)-1) >= cnt: s = s + normalise_text(node.data[cnt])
+	if not node.kids and s[-1:]=='>':
+		s=s[:-1]+' />'
+	else:
+		s = s + "</" + node.name + ">"
+	return s.encode('utf-8')
+
+def normalise_attr(val):
+	return val.replace('&', '&amp;').replace('<', '&lt;').replace('"', '&quot;').replace('\t', '&#x9;').replace('\n', '&#xA;').replace('\r', '&#xD;')
+
+def normalise_text(val):
+	return val.replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace('\r', '&#xD;')
+
diff --git a/src/common/xmpp/idlequeue.py b/src/common/xmpp/idlequeue.py
index db0c575bdd28f340977dcda39002fd9d5ff3dbc3..5ee73c9874a005e38c968110ca750bca5b602d1c 100644
--- a/src/common/xmpp/idlequeue.py
+++ b/src/common/xmpp/idlequeue.py
@@ -204,15 +204,15 @@ class SelectIdleQueue(IdleQueue):
 		except select.error, e:
 			waiting_descriptors = ((),(),())
 			if e[0] != 4: # interrupt
-				raise
-		for fd in waiting_descriptors[0]:
-			self.queue.get(fd).pollin()
-			self.check_time_events()
-			return True
+				raise
+		for fd in waiting_descriptors[0]:
+			q = self.queue.get(fd)
+			if q:
+				q.pollin()
 		for fd in waiting_descriptors[1]:
-			self.queue.get(fd).pollout()
-			self.check_time_events()
-			return True
+			q = self.queue.get(fd)
+			if q:
+				q.pollout()
 		for fd in waiting_descriptors[2]:
 			self.queue.get(fd).pollend()
 		self.check_time_events()
diff --git a/src/common/xmpp/protocol.py b/src/common/xmpp/protocol.py
index 3c160a62c0c7804bd757f86e193f7903ddeca3f5..c09b9921f0ee34121f50bb236a1020738c7569c6 100644
--- a/src/common/xmpp/protocol.py
+++ b/src/common/xmpp/protocol.py
@@ -48,6 +48,7 @@ NS_DISCO        ='http://jabber.org/protocol/disco'
 NS_DISCO_INFO   =NS_DISCO+'#info'
 NS_DISCO_ITEMS  =NS_DISCO+'#items'
 NS_ENCRYPTED    ='jabber:x:encrypted'                                   # XEP-0027
+NS_ESESSION_INIT='http://www.xmpp.org/extensions/xep-0116.html#ns-init' # XEP-0116
 NS_EVENT        ='jabber:x:event'                                       # XEP-0022
 NS_FEATURE      ='http://jabber.org/protocol/feature-neg'  
 NS_FILE         ='http://jabber.org/protocol/si/profile/file-transfer'  # JEP-0096
@@ -66,6 +67,7 @@ NS_MUC          ='http://jabber.org/protocol/muc'
 NS_MUC_USER     =NS_MUC+'#user'
 NS_MUC_ADMIN    =NS_MUC+'#admin'
 NS_MUC_OWNER    =NS_MUC+'#owner'
+NS_MUC_UNIQUE   =NS_MUC+'#unique'
 NS_NICK         ='http://jabber.org/protocol/nick'                      # XEP-0172
 NS_OFFLINE      ='http://www.jabber.org/jeps/jep-0030.html'             # XEP-0013
 NS_PHYSLOC      ='http://jabber.org/protocol/physloc'                   # XEP-0112
@@ -86,6 +88,7 @@ NS_SESSION      ='urn:ietf:params:xml:ns:xmpp-session'
 NS_SI           ='http://jabber.org/protocol/si'                        # XEP-0096
 NS_SI_PUB       ='http://jabber.org/protocol/sipub'                     # XEP-0137
 NS_SIGNED       ='jabber:x:signed'                                      # XEP-0027
+NS_STANZA_CRYPTO='http://www.xmpp.org/extensions/xep-0200.html#ns'			# JEP-0200
 NS_STANZAS      ='urn:ietf:params:xml:ns:xmpp-stanzas'
 NS_STREAM       ='http://affinix.com/jabber/stream'
 NS_STREAMS      ='http://etherx.jabber.org/streams'
diff --git a/src/common/xmpp/roster.py b/src/common/xmpp/roster.py
index 86c9e8438efeeac306347ef70438e9f2d8a719fe..b90c30732f774d11bf368f5e41066b4d7c2ac5f3 100644
--- a/src/common/xmpp/roster.py
+++ b/src/common/xmpp/roster.py
@@ -64,6 +64,10 @@ class Roster(PlugIn):
     def RosterIqHandler(self,dis,stanza):
         """ Subscription tracker. Used internally for setting items state in
             internal roster representation. """
+        sender = stanza.getAttr('from')
+        if not sender == None and not sender.bareMatch(
+        self._owner.User + '@' + self._owner.Server):
+            return
         for item in stanza.getTag('query').getTags('item'):
             jid=item.getAttr('jid')
             if item.getAttr('subscription')=='remove':
diff --git a/src/common/xmpp/transports_nb.py b/src/common/xmpp/transports_nb.py
index c5115cc1ca26e0589e91fb02a9429bbd907ee00a..c4cda46366284fa2991376bf875788915071c24c 100644
--- a/src/common/xmpp/transports_nb.py
+++ b/src/common/xmpp/transports_nb.py
@@ -554,8 +554,8 @@ class NonBlockingTcp(PlugIn, IdleObject):
 			# FIXME: This happens when we switch an already
 			# connected socket to SSL (STARTTLS). Instead of
 			# ignoring the error, the socket should only be
-			# connected to once. See #2846.
-			workaround = (errno.EALREADY, 10056)
+			# connected to once. See #2846 and #3396.
+			workaround = (errno.EALREADY, 10056, 56)
 
 			# 10035 - winsock equivalent of EINPROGRESS
 			if errnum not in (errno.EINPROGRESS, 10035) + workaround:
@@ -745,10 +745,34 @@ class NonBlockingTLS(PlugIn):
 		#tcpsock._sslContext = OpenSSL.SSL.Context(OpenSSL.SSL.SSLv23_METHOD)
 		tcpsock.ssl_errnum = 0
 		tcpsock._sslContext.set_verify(OpenSSL.SSL.VERIFY_PEER, self._ssl_verify_callback)
+		cacerts = os.path.join(gajim.DATA_DIR, 'other', 'cacerts.pem')
 		try:
-			tcpsock._sslContext.load_verify_locations(os.path.join(gajim.DATA_DIR, 'other', 'cacerts.pem'))
+			tcpsock._sslContext.load_verify_locations(cacerts)
 		except:
-			log.warning(_("Unable to load SSL certificats from file %s" % os.path.abspath(os.path.join(gajim.DATA_DIR,'other','ca.crt'))))
+			log.warning('Unable to load SSL certificats from file %s' % \
+				os.path.abspath(cacerts))
+		# load users certs
+		if os.path.isfile(gajim.MY_CACERTS):
+			store = tcpsock._sslContext.get_cert_store()
+			f = open(gajim.MY_CACERTS)
+			lines = f.readlines()
+			i = 0
+			begin = -1
+			for line in lines:
+				if 'BEGIN CERTIFICATE' in line:
+					begin = i
+					continue
+				elif 'END CERTIFICATE' in line and begin > -1:
+					cert = ''.join(lines[begin:i+2])
+					try:
+						X509cert = OpenSSL.crypto.load_certificate(
+							OpenSSL.crypto.FILETYPE_PEM, cert)
+						store.add_cert(X509cert)
+					except:
+						log.warning('Unable to load a certificate from file %s' % \
+							gajim.MY_CACERTS)
+					begin = -1
+				i += 1
 		tcpsock._sslObj = OpenSSL.SSL.Connection(tcpsock._sslContext, tcpsock._sock)
 		tcpsock._sslObj.set_connect_state() # set to client mode
 
@@ -788,9 +812,12 @@ class NonBlockingTLS(PlugIn):
 	def _ssl_verify_callback(self, sslconn, cert, errnum, depth, ok):
 		# Exceptions can't propagate up through this callback, so print them here.
 		try:
+			self._owner.Connection.ssl_fingerprint_sha1 = cert.digest('sha1')
 			if errnum == 0:
 				return True
 			self._owner.Connection.ssl_errnum = errnum
+			self._owner.Connection.ssl_cert_pem = OpenSSL.crypto.dump_certificate(
+				OpenSSL.crypto.FILETYPE_PEM, cert)
 			return True
 		except:
 			log.error("Exception caught in _ssl_info_callback:", exc_info=True)
diff --git a/src/common/xmpp_stringprep.py b/src/common/xmpp_stringprep.py
index f0cb473c9e3e452642e70e38872d95d5e35767ca..9ce38e16f2275a66aa2a9e99960598e1bb0d616f 100644
--- a/src/common/xmpp_stringprep.py
+++ b/src/common/xmpp_stringprep.py
@@ -1,21 +1,26 @@
 ##	common/xmpp_stringprep.py
 ##
 ## Contributors for this file:
-##	- Yann Le Boulanger <asterix@lagaule.org>
+##	- Yann Leboulanger <asterix@lagaule.org>
 ##	- Nikos Kouremenos <kourem@gmail.com>
 ##
 ##	Copyright (C) 2001-2005 Twisted Matrix Laboratories.
 ##	Copyright (C) 2005 Gajim Team
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import sys, warnings
 
diff --git a/src/common/zeroconf/client_zeroconf.py b/src/common/zeroconf/client_zeroconf.py
index c3de88a387da894cade5a571e9b6a16a03657afb..ff9308162e79e9354f29534846090145e4b8e2a3 100644
--- a/src/common/zeroconf/client_zeroconf.py
+++ b/src/common/zeroconf/client_zeroconf.py
@@ -3,15 +3,20 @@
 ## Copyright (C) 2006 Stefan Bethge <stefan@lanpartei.de>
 ## 				2006 Dimitur Kirov <dkirov@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 from common import gajim
 import common.xmpp
 from common.xmpp.idlequeue import IdleObject
@@ -74,7 +79,16 @@ class ZeroconfListener(IdleObject):
 	def pollin(self):
 		''' accept a new incomming connection and notify queue'''
 		sock = self.accept_conn()
-		P2PClient(sock[0], sock[1][0], sock[1][1], self.conn_holder)
+		''' loop through roster to find who has connected to us'''
+		from_jid = None
+		nameinfo = socket.getnameinfo(sock[1], 0)
+		ipaddr = socket.gethostbyname(nameinfo[0])
+		for jid in self.conn_holder.getRoster().keys():
+			entry = self.conn_holder.getRoster().getItem(jid)
+			if (entry['address'] == ipaddr):
+				from_jid = jid
+				break;
+		P2PClient(sock[0], sock[1][0], sock[1][1], self.conn_holder, [], from_jid)
 	
 	def disconnect(self):
 		''' free all resources, we are not listening anymore '''
@@ -212,11 +226,11 @@ class P2PClient(IdleObject):
 	
 	def on_disconnect(self):
 		if self.conn_holder:
-			if self.conn_holder.number_of_awaiting_messages.has_key(self.conn_holder.fd):
-				if self.conn_holder.number_of_awaiting_messages[self.conn_holder.fd] > 0:
+			if self.conn_holder.number_of_awaiting_messages.has_key(self.fd):
+				if self.conn_holder.number_of_awaiting_messages[self.fd] > 0:
 					self._caller.dispatch('MSGERROR',[unicode(self.to), -1, \
 					_('Connection to host could not be established'), None, None])
-				del self.conn_holder.number_of_awaiting_messages[self.conn_holder.fd]
+				del self.conn_holder.number_of_awaiting_messages[self.fd]
 			self.conn_holder.remove_connection(self.sock_hash) 
 		if self.__dict__.has_key('Dispatcher'):
 			self.Dispatcher.PlugOut()
diff --git a/src/common/zeroconf/connection_handlers_zeroconf.py b/src/common/zeroconf/connection_handlers_zeroconf.py
index eaa2f6a17c0b50449e2014e41df66824281e87ac..8ccc68d644211a29dc357451220da636bb73c365 100644
--- a/src/common/zeroconf/connection_handlers_zeroconf.py
+++ b/src/common/zeroconf/connection_handlers_zeroconf.py
@@ -2,21 +2,26 @@
 ## Copyright (C) 2006 Gajim Team
 ##
 ## Contributors for this file:
-##	- Yann Le Boulanger <asterix@lagaule.org>
+##	- Yann Leboulanger <asterix@lagaule.org>
 ##	- Nikos Kouremenos <nkour@jabber.org>
 ##	- Dimitur Kirov <dkirov@gmail.com>
 ##	- Travis Shirk <travis@pobox.com>
 ## - Stefan Bethge <stefan@lanpartei.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
 import time
@@ -44,6 +49,8 @@ except:
 	gajim.log.debug(_('Unable to load idle module'))
 	HAS_IDLE = False
 
+from common.stanza_session import EncryptedStanzaSession 
+
 class ConnectionVcard:
 	def __init__(self): 
 		self.vcard_sha = None 
@@ -138,7 +145,7 @@ class ConnectionBytestream:
 	def __init__(self):
 		self.files_props = {}
 	
-	def is_transfer_stoped(self, file_props):
+	def is_transfer_stopped(self, file_props):
 		if file_props.has_key('error') and file_props['error'] != 0:
 			return True
 		if file_props.has_key('completed') and file_props['completed']:
@@ -167,7 +174,7 @@ class ConnectionBytestream:
 	def remove_transfers_for_contact(self, contact):
 		''' stop all active transfer for contact '''
 		for file_props in self.files_props.values():
-			if self.is_transfer_stoped(file_props):
+			if self.is_transfer_stopped(file_props):
 				continue
 			receiver_jid = unicode(file_props['receiver']).split('/')[0]
 			if contact.jid == receiver_jid:
@@ -593,6 +600,7 @@ class ConnectionBytestream:
 		file_props['sender'] = unicode(iq_obj.getFrom())
 		file_props['request-id'] = unicode(iq_obj.getAttr('id'))
 		file_props['sid'] = unicode(si.getAttr('id'))
+		file_props['transfered_size'] = []
 		gajim.socks5queue.add_file_props(self.name, file_props)
 		self.dispatch('FILE_REQUEST', (jid, file_props))
 		raise common.xmpp.NodeProcessed
@@ -628,6 +636,8 @@ class ConnectionHandlersZeroconf(ConnectionVcard, ConnectionBytestream):
 		# keep the jids we auto added (transports contacts) to not send the
 		# SUBSCRIBED event to gui
 		self.automatically_added = []
+		# keep track of sessions this connection has with other JIDs
+		self.sessions = {}
 		try:
 			idle.init()
 		except:
@@ -635,26 +645,55 @@ class ConnectionHandlersZeroconf(ConnectionVcard, ConnectionBytestream):
 			
 	def _messageCB(self, ip, con, msg):
 		'''Called when we receive a message'''
-		msgtxt = msg.getBody()
-		msghtml = msg.getXHTML()
 		mtype = msg.getType()
-		subject = msg.getSubject() # if not there, it's None
+		thread_id = msg.getThread()
 		tim = msg.getTimestamp()
 		tim = helpers.datetime_tuple(tim)
 		tim = time.localtime(timegm(tim))
 		frm = msg.getFrom()
+
 		if frm == None:
 			for key in self.connection.zeroconf.contacts:
 				if ip == self.connection.zeroconf.contacts[key][zeroconf.C_ADDRESS]:
 					frm = key
 		frm = unicode(frm)
 		jid  = frm
+
+		session = self.get_session(frm, thread_id, mtype)
+
+		if thread_id and not session.received_thread_id:
+			session.received_thread_id = True
+		
+		if msg.getTag('feature') and msg.getTag('feature').namespace == \
+		common.xmpp.NS_FEATURE:
+			if gajim.HAVE_PYCRYPTO:
+				self._FeatureNegCB(con, msg, session)
+			return
+		if msg.getTag('init') and msg.getTag('init').namespace == \
+		common.xmpp.NS_ESESSION_INIT:
+			self._InitE2ECB(con, msg, session)
+
 		no_log_for = gajim.config.get_per('accounts', self.name,
 			'no_log_for').split()
 		encrypted = False
 		chatstate = None
+
+		e2e_tag = msg.getTag('c', namespace = common.xmpp.NS_STANZA_CRYPTO)
+		if e2e_tag:
+			encrypted = True
+
+			try:
+				msg = session.decrypt_stanza(msg)
+			except:
+				self.dispatch('FAILED_DECRYPT', (frm, tim))
+		
+		msgtxt = msg.getBody()
+		msghtml = msg.getXHTML()
+		subject = msg.getSubject() # if not there, it's None
+
 		encTag = msg.getTag('x', namespace = common.xmpp.NS_ENCRYPTED)
 		decmsg = ''
+		form_node = msg.getTag('x', namespace = common.xmpp.NS_DATA)
 		# invitations
 		invite = None
 		if not encTag:
@@ -715,16 +754,122 @@ class ConnectionHandlersZeroconf(ConnectionVcard, ConnectionBytestream):
 				msg_id = gajim.logger.write('chat_msg_recv', frm, msgtxt, tim = tim,
 					subject = subject)
 			self.dispatch('MSG', (frm, msgtxt, tim, encrypted, mtype, subject,
-				chatstate, msg_id, composing_xep, user_nick, msghtml))
+				chatstate, msg_id, composing_xep, user_nick, msghtml, session,
+				form_node))
 		elif mtype == 'normal': # it's single message
 			if self.name not in no_log_for and jid not in no_log_for and msgtxt:
 				gajim.logger.write('single_msg_recv', frm, msgtxt, tim = tim,
 					subject = subject)
 			if invite:
 				self.dispatch('MSG', (frm, msgtxt, tim, encrypted, 'normal',
-					subject, chatstate, msg_id, composing_xep, user_nick))
+					subject, chatstate, msg_id, composing_xep, user_nick, msghtml,
+					session, form_node))
 	# END messageCB
 	
+	def _FeatureNegCB(self, con, stanza, session):
+		gajim.log.debug('FeatureNegCB')
+		feature = stanza.getTag(name='feature', namespace=common.xmpp.NS_FEATURE)
+		form = common.xmpp.DataForm(node=feature.getTag('x'))
+
+		if form['FORM_TYPE'] == 'urn:xmpp:ssn':
+			self.dispatch('SESSION_NEG', (stanza.getFrom(), session, form))
+		else:
+			reply = stanza.buildReply()
+			reply.setType('error')
+
+			reply.addChild(feature)
+			reply.addChild(node=xmpp.ErrorNode('service-unavailable', typ='cancel'))
+
+			con.send(reply)
+		
+		raise common.xmpp.NodeProcessed
+
+	def _InitE2ECB(self, con, stanza, session):
+		gajim.log.debug('InitE2ECB')
+		init = stanza.getTag(name='init', namespace=common.xmpp.NS_ESESSION_INIT)
+		form = common.xmpp.DataForm(node=init.getTag('x'))
+
+		self.dispatch('SESSION_NEG', (stanza.getFrom(), session, form))
+
+		raise common.xmpp.NodeProcessed
+
+	def get_session(self, jid, thread_id, type):
+		'''returns an existing session between this connection and 'jid', returns a new one if none exist.'''
+		session = self.find_session(jid, thread_id, type)
+
+		if session:
+			return session
+		else:
+			# it's possible we initiated a session with a bare JID and this is the
+			# first time we've seen a resource
+			bare_jid = gajim.get_jid_without_resource(jid)
+			if bare_jid != jid:
+				session = self.find_session(bare_jid, thread_id, type)
+				if session:
+					if not session.received_thread_id:
+						thread_id = session.thread_id
+
+					self.move_session(bare_jid, thread_id, jid.split("/")[1])
+					return session
+
+		return self.make_new_session(jid, thread_id, type)
+
+	def find_session(self, jid, thread_id, type):
+		try:
+			if type == 'chat' and not thread_id:
+				return self.find_null_session(jid)
+			else:
+				return self.sessions[jid][thread_id]
+		except KeyError:
+			return None
+
+	def delete_session(self, jid, thread_id):
+		try:
+			del self.sessions[jid][thread_id]
+			
+			if not self.sessions[jid]:
+				del self.sessions[jid]
+		except KeyError:
+			print "jid %s should have been in %s, but it wasn't. missing session?" % (repr(jid), repr(self.sessions.keys()))
+
+	def move_session(self, original_jid, thread_id, to_resource):
+		'''moves a session to another resource.'''
+		session = self.sessions[original_jid][thread_id]
+
+		del self.sessions[original_jid][thread_id]
+
+		new_jid = gajim.get_jid_without_resource(original_jid) + '/' + to_resource
+		session.jid = common.xmpp.JID(new_jid)
+
+		if not new_jid in self.sessions:
+			self.sessions[new_jid] = {}
+
+		self.sessions[new_jid][thread_id] = session
+
+	def find_null_session(self, jid):
+		'''finds all of the sessions between us and jid that jid hasn't sent a thread_id in yet.
+
+returns the session that we last sent a message to.'''
+		
+		sessions_with_jid = self.sessions[jid].values()
+		no_threadid_sessions = filter(lambda s: not s.received_thread_id, sessions_with_jid)
+
+		if no_threadid_sessions:
+			no_threadid_sessions.sort(key=lambda s: s.last_send)
+			return no_threadid_sessions[-1]
+		else:
+			return None
+
+	def make_new_session(self, jid, thread_id = None, type = 'chat'):
+		sess = EncryptedStanzaSession(self, common.xmpp.JID(jid), thread_id, type)
+
+		if not jid in self.sessions:
+			self.sessions[jid] = {}
+
+		self.sessions[jid][sess.thread_id] = sess
+
+		return sess
+
 	def parse_data_form(self, node):
 		dic = {}
 		tag = node.getTag('title')
diff --git a/src/common/zeroconf/connection_zeroconf.py b/src/common/zeroconf/connection_zeroconf.py
index b218eab41c87dbe0b31b8aac0532d241344b46f3..36f56a34764e3f63b9be962f172ed84b354ef099 100644
--- a/src/common/zeroconf/connection_zeroconf.py
+++ b/src/common/zeroconf/connection_zeroconf.py
@@ -1,15 +1,15 @@
 ##	common/zeroconf/connection_zeroconf.py
 ##
 ## Contributors for this file:
-##	- Yann Le Boulanger <asterix@lagaule.org>
+##	- Yann Leboulanger <asterix@lagaule.org>
 ##	- Nikos Kouremenos <nkour@jabber.org>
 ##	- Dimitur Kirov <dkirov@gmail.com>
 ##	- Travis Shirk <travis@pobox.com>
 ##  - Stefan Bethge <stefan@lanpartei.de>
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2006 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <nkour@jabber.org>
 ##                    Dimitur Kirov <dkirov@gmail.com>
@@ -17,15 +17,20 @@
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
 ##                    Stefan Bethge <stefan@lanpartei.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 
 import os
@@ -57,6 +62,8 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
 		self.connected = 0 # offline
 		self.connection = None
 		self.gpg = None
+		if USE_GPG:
+			self.gpg = GnuPG.GnuPG(gajim.config.get('use_gpg_agent'))
 		self.is_zeroconf = True
 		self.privacy_rules_supported = False
 		self.blocked_contacts = []
@@ -82,15 +89,13 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
 		# Do we continue connection when we get roster (send presence,get vcard...)
 		self.continue_connect_info = None
 		if USE_GPG:
-			self.gpg = GnuPG.GnuPG()
-			gajim.config.set('usegpg', True)
-		else:
-			gajim.config.set('usegpg', False)
+			self.gpg = GnuPG.GnuPG(gajim.config.get('use_gpg_agent'))
 		
 		self.get_config_values_or_default()
 		
 		self.muc_jid = {} # jid of muc server for each transport type
 		self.vcard_supported = False
+		self.private_storage_supported = False
 
 	def get_config_values_or_default(self):
 		''' get name, host, port from config, or 
@@ -135,7 +140,8 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
 		gajim.log.debug('reconnect')
 
 #		signed = self.get_signed_msg(self.status)
-		self.connect(self.old_show, self.status)
+		self.disconnect()
+		self.change_status(self.old_show, self.status)
 
 	def quit(self, kill_core):
 		if kill_core and self.connected > 1:
@@ -314,6 +320,7 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
 				check = self.connection.announce()
 			else:
 				self.connected = STATUS_LIST.index(show)
+			self.dispatch('SIGNED_IN', ())
 
 		# 'disconnect'
 		elif show == 'offline' and self.connected:
@@ -349,7 +356,7 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
 
 	def send_message(self, jid, msg, keyID, type = 'chat', subject='',
 	chatstate = None, msg_id = None, composing_xep = None, resource = None, 
-	user_nick = None):
+	user_nick = None, session=None):
 		fjid = jid
 
 		if not self.connection:
@@ -410,12 +417,20 @@ class ConnectionZeroconf(ConnectionHandlersZeroconf):
 				if chatstate is 'composing' or msgtxt: 
 					chatstate_node.addChild(name = 'composing') 
 
+		if session:
+			session.last_send = time.time()
+			msg_iq.setThread(session.thread_id)
+
+			if session.enable_encryption:
+				msg_iq = session.encrypt_stanza(msg_iq)
+
 		if not self.connection.send(msg_iq, msg != None):
 			return
 
 		no_log_for = gajim.config.get_per('accounts', self.name, 'no_log_for')
 		ji = gajim.get_jid_without_resource(jid)
-		if self.name not in no_log_for and ji not in no_log_for:
+		if session.is_loggable() and self.name not in no_log_for and\
+		ji not in no_log_for:
 			log_msg = msg
 			if subject:
 				log_msg = _('Subject: %s\n%s') % (subject, msg)
diff --git a/src/common/zeroconf/roster_zeroconf.py b/src/common/zeroconf/roster_zeroconf.py
index 1de058af754f4534d16acd1ee96ce20a469e2d18..2fb4123f81ceec1cd10d75aa75b8532dcfb5fa36 100644
--- a/src/common/zeroconf/roster_zeroconf.py
+++ b/src/common/zeroconf/roster_zeroconf.py
@@ -2,15 +2,20 @@
 ##
 ## Copyright (C) 2006 Stefan Bethge <stefan@lanpartei.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 
 from common.zeroconf import zeroconf
diff --git a/src/common/zeroconf/zeroconf.py b/src/common/zeroconf/zeroconf.py
index e34599da26cc92b5a61f96229b4c71c2083490f8..8d8e70185e24047a360a0598b779b618c5205dfb 100644
--- a/src/common/zeroconf/zeroconf.py
+++ b/src/common/zeroconf/zeroconf.py
@@ -2,15 +2,20 @@
 ##
 ## Copyright (C) 2006 Stefan Bethge <stefan@lanpartei.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 C_NAME, C_DOMAIN, C_INTERFACE, C_PROTOCOL, C_HOST, \
 C_ADDRESS, C_PORT, C_BARE_NAME, C_TXT = range(9)
diff --git a/src/common/zeroconf/zeroconf_avahi.py b/src/common/zeroconf/zeroconf_avahi.py
index 6ad768826799c6c4a2eb50be74dc539a383ffc93..626d1be32888d3e27b7f1d2aafe6c591d701ec17 100644
--- a/src/common/zeroconf/zeroconf_avahi.py
+++ b/src/common/zeroconf/zeroconf_avahi.py
@@ -2,15 +2,20 @@
 ##
 ## Copyright (C) 2006 Stefan Bethge <stefan@lanpartei.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 from common import gajim
 
@@ -171,7 +176,7 @@ class Zeroconf:
 
 	def service_add_fail_callback(self, err):
 		gajim.log.debug('Error while adding service. %s' % str(err))
-		if str(err) == 'Local name collision':
+		if 'Local name collision' in str(err):
 			alternative_name = self.server.GetAlternativeServiceName(self.username)
 			self.name_conflictCB(alternative_name)
 			return
@@ -179,9 +184,12 @@ class Zeroconf:
 		self.disconnect()
 
 	def server_state_changed_callback(self, state, error):
+		gajim.log.debug('server state changed to %s' % state)
 		if state == self.avahi.SERVER_RUNNING:
 			self.create_service()
-		elif state == self.avahi.SERVER_COLLISION:
+		elif state in (self.avahi.SERVER_COLLISION,
+				self.avahi.SERVER_REGISTERING):
+			self.disconnect()
 			self.entrygroup.Reset()
 		elif state == self.avahi.CLIENT_FAILURE:
 			# does it ever go here?
@@ -190,8 +198,11 @@ class Zeroconf:
 	def entrygroup_state_changed_callback(self, state, error):
 		# the name is already present, so recreate
 		if state == self.avahi.ENTRY_GROUP_COLLISION:
+			gajim.log.debug('zeroconf.py: local name collision')
 			self.service_add_fail_callback('Local name collision')
 		elif state == self.avahi.ENTRY_GROUP_FAILURE:
+			self.disconnect()
+			self.entrygroup.Reset()
 			gajim.log.debug('zeroconf.py: ENTRY_GROUP_FAILURE reached(that'
 				' should not happen)')
 
@@ -238,8 +249,13 @@ class Zeroconf:
 				txt['status'] = 'avail'
 
 			self.txt = txt
-			gajim.log.debug('Publishing service %s of type %s' % (self.name, self.stype))
-			self.entrygroup.AddService(self.avahi.IF_UNSPEC, self.avahi.PROTO_UNSPEC, dbus.UInt32(0), self.name, self.stype, '', '', self.port, self.avahi_txt(), reply_handler=self.service_added_callback, error_handler=self.service_add_fail_callback)
+			gajim.log.debug('Publishing service %s of type %s' % (self.name,
+				self.stype))
+			self.entrygroup.AddService(self.avahi.IF_UNSPEC,
+				self.avahi.PROTO_UNSPEC, dbus.UInt32(0), self.name, self.stype, '',
+				'', dbus.UInt16(self.port), self.avahi_txt(),
+				reply_handler=self.service_added_callback,
+				error_handler=self.service_add_fail_callback)
 			
 			self.entrygroup.Commit(reply_handler=self.service_committed_callback, 
 				error_handler=self.entrygroup_commit_error_CB)
@@ -268,8 +284,7 @@ class Zeroconf:
 				self.entrygroup.Reset()
 				self.entrygroup.Free()
 				# .Free() has mem leaks
-				obj = self.entrygroup._obj
-				obj._bus = None
+				self.entrygroup._obj._bus = None
 				self.entrygroup._obj = None
 				self.entrygroup = None
 				self.announced = False
diff --git a/src/common/zeroconf/zeroconf_bonjour.py b/src/common/zeroconf/zeroconf_bonjour.py
index 3b72070040f039a82039570463d8bfe79d2f2d85..79d699ba473babafd9ee27e9a91c688c5c0a5ac3 100644
--- a/src/common/zeroconf/zeroconf_bonjour.py
+++ b/src/common/zeroconf/zeroconf_bonjour.py
@@ -2,19 +2,25 @@
 ##
 ## Copyright (C) 2006 Stefan Bethge <stefan@lanpartei.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 from common import gajim
 import sys
 import select
+import re
 from string import split
 from common.zeroconf.zeroconf import C_BARE_NAME, C_DOMAIN
 
@@ -109,7 +115,8 @@ class Zeroconf:
 		r'\064': '@',
 		}
 
-		name, stype, protocol, domain, dummy = split(fullname, '.')
+		# Split on '.' but do not split on '\.'
+		name, stype, protocol, domain, dummy = re.split('(?<!\\\\)\.', fullname)
 		
 		# Replace the escaped values
 		for src, trg in escaping.items():
diff --git a/src/config.py b/src/config.py
index 02fce854cac2b90020eaad429bfd2542624ec953..e2a8999dc1bb2114cb10fe22cdbfa8991b64c823 100644
--- a/src/config.py
+++ b/src/config.py
@@ -1,24 +1,30 @@
 ##	config.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005 Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2003-2005 Vincent Hanquez <tab@snarc.org>
 ## Copyright (C) 2006 Stefan Bethge <stefan@lanpartei.de>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gobject
-import os
+import os, sys
 import common.config
 import common.sleepy
 from common.i18n import Q_
@@ -63,11 +69,12 @@ class PreferencesWindow:
 		self.xml = gtkgui_helpers.get_glade('preferences_window.glade')
 		self.window = self.xml.get_widget('preferences_window')
 		self.window.set_transient_for(gajim.interface.roster.window)
+		self.notebook = self.xml.get_widget('preferences_notebook')
+		self.treat_incoming_messages_combobox =\
+			self.xml.get_widget('treat_incoming_messages_combobox')
+		self.one_window_type_combobox =\
+			self.xml.get_widget('one_window_type_combobox')
 		self.iconset_combobox = self.xml.get_widget('iconset_combobox')
-		self.notify_on_new_message_radiobutton = self.xml.get_widget(
-			'notify_on_new_message_radiobutton')
-		self.popup_new_message_radiobutton = self.xml.get_widget(
-			'popup_new_message_radiobutton')
 		self.notify_on_signin_checkbutton = self.xml.get_widget(
 			'notify_on_signin_checkbutton')
 		self.notify_on_signout_checkbutton = self.xml.get_widget(
@@ -83,30 +90,10 @@ class PreferencesWindow:
 		self.auto_xa_time_spinbutton = self.xml.get_widget(
 			'auto_xa_time_spinbutton')
 		self.auto_xa_message_entry = self.xml.get_widget('auto_xa_message_entry')
-		self.trayicon_checkbutton = self.xml.get_widget('trayicon_checkbutton')
-		self.notebook = self.xml.get_widget('preferences_notebook')
-		self.one_window_type_combobox =\
-			self.xml.get_widget('one_window_type_combobox')
-		self.treat_incoming_messages_combobox =\
-			self.xml.get_widget('treat_incoming_messages_combobox')
 
 		w = self.xml.get_widget('anc_hbox')
 
-		# trayicon
-		if gajim.interface.systray_capabilities:
-			st = gajim.config.get('trayicon')
-			self.trayicon_checkbutton.set_active(st)
-		else:
-			self.trayicon_checkbutton.set_sensitive(False)
-
-		# Save position
-		st = gajim.config.get('saveposition')
-		self.xml.get_widget('save_position_checkbutton').set_active(st)
-
-		# Sort contacts by show
-		st = gajim.config.get('sort_by_show')
-		self.xml.get_widget('sort_by_show_checkbutton').set_active(st)
-
+		### General tab ###
 		# Display avatars in roster
 		st = gajim.config.get('show_avatars_in_roster')
 		self.xml.get_widget('show_avatars_in_roster_checkbutton').set_active(st)
@@ -116,6 +103,10 @@ class PreferencesWindow:
 		self.xml.get_widget('show_status_msgs_in_roster_checkbutton').set_active(
 			st)
 
+		# Sort contacts by show
+		st = gajim.config.get('sort_by_show')
+		self.xml.get_widget('sort_by_show_checkbutton').set_active(st)
+
 		# emoticons
 		emoticons_combobox = self.xml.get_widget('emoticons_combobox')
 		emoticons_list = os.listdir(os.path.join(gajim.DATA_DIR, 'emoticons'))
@@ -142,6 +133,44 @@ class PreferencesWindow:
 		if not gajim.config.get('emoticons_theme'):
 			emoticons_combobox.set_active(len(l)-1)
 
+		# Set default for treat incoming messages
+		choices = common.config.opt_treat_incoming_messages
+		type = gajim.config.get('treat_incoming_messages')
+		if type in choices:
+			self.treat_incoming_messages_combobox.set_active(choices.index(type))
+		else:
+			self.treat_incoming_messages_combobox.set_active(0)
+
+		# Set default for single window type
+		choices = common.config.opt_one_window_types
+		type = gajim.config.get('one_message_window')
+		if type in choices:
+			self.one_window_type_combobox.set_active(choices.index(type))
+		else:
+			self.one_window_type_combobox.set_active(0)
+
+		# Compact View
+		st = gajim.config.get('compact_view')
+		self.xml.get_widget('compact_view_checkbutton').set_active(st)
+
+		# Ignore XHTML
+		st = gajim.config.get('ignore_incoming_xhtml')
+		self.xml.get_widget('xhtml_checkbutton').set_active(st)
+
+		# use speller
+		if HAS_GTK_SPELL:
+			st = gajim.config.get('use_speller')
+			self.xml.get_widget('speller_checkbutton').set_active(st)
+		else:
+			self.xml.get_widget('speller_checkbutton').set_sensitive(False)
+
+		# Themes
+		theme_combobox = self.xml.get_widget('theme_combobox')
+		cell = gtk.CellRendererText()
+		theme_combobox.pack_start(cell, True)
+		theme_combobox.add_attribute(cell, 'text', 0)
+		self.update_theme_list()
+
 		# iconset
 		iconsets_list = os.listdir(os.path.join(gajim.DATA_DIR, 'iconsets'))
 		if os.path.isdir(gajim.MY_ICONSETS_PATH):
@@ -179,121 +208,11 @@ class PreferencesWindow:
 			if gajim.config.get('iconset') == l[i]:
 				self.iconset_combobox.set_active(i)
 
-		# Set default for single window type
-		choices = common.config.opt_one_window_types
-		type = gajim.config.get('one_message_window')
-		if type in choices:
-			self.one_window_type_combobox.set_active(choices.index(type))
-		else:
-			self.one_window_type_combobox.set_active(0)
-
-		# Compact View
-		st = gajim.config.get('compact_view')
-		self.xml.get_widget('compact_view_checkbutton').set_active(st)
-		
-		# Set default for treat incoming messages
-		choices = common.config.opt_treat_incoming_messages
-		type = gajim.config.get('treat_incoming_messages')
-		if type in choices:
-			self.treat_incoming_messages_combobox.set_active(choices.index(type))
-		else:
-			self.treat_incoming_messages_combobox.set_active(0)
-
 		# Use transports iconsets
 		st = gajim.config.get('use_transports_iconsets')
 		self.xml.get_widget('transports_iconsets_checkbutton').set_active(st)
 
-		# Themes
-		theme_combobox = self.xml.get_widget('theme_combobox')
-		cell = gtk.CellRendererText()
-		theme_combobox.pack_start(cell, True)
-		theme_combobox.add_attribute(cell, 'text', 0)
-		self.update_theme_list()
-
-		# use speller
-		if os.name == 'nt':
-			self.xml.get_widget('speller_checkbutton').set_no_show_all(True)
-		else:
-			if HAS_GTK_SPELL:
-				st = gajim.config.get('use_speller')
-				self.xml.get_widget('speller_checkbutton').set_active(st)
-			else:
-				self.xml.get_widget('speller_checkbutton').set_sensitive(False)
-
-		# Ignore XHTML
-		st = gajim.config.get('ignore_incoming_xhtml')
-		self.xml.get_widget('xhtml_checkbutton').set_active(st)
-
-		# Print time
-		st = gajim.config.get('print_ichat_every_foo_minutes')
-		text = _('Every %s _minutes') % st
-		self.xml.get_widget('time_sometimes_radiobutton').set_label(text)
-
-		if gajim.config.get('print_time') == 'never':
-			self.xml.get_widget('time_never_radiobutton').set_active(True)
-		elif gajim.config.get('print_time') == 'sometimes':
-			self.xml.get_widget('time_sometimes_radiobutton').set_active(True)
-		else:
-			self.xml.get_widget('time_always_radiobutton').set_active(True)
-
-		# Color for incoming messages
-		colSt = gajim.config.get('inmsgcolor')
-		self.xml.get_widget('incoming_msg_colorbutton').set_color(
-			gtk.gdk.color_parse(colSt))
-
-		# Color for outgoing messages
-		colSt = gajim.config.get('outmsgcolor')
-		self.xml.get_widget('outgoing_msg_colorbutton').set_color(
-			gtk.gdk.color_parse(colSt))
-
-		# Color for status messages
-		colSt = gajim.config.get('statusmsgcolor')
-		self.xml.get_widget('status_msg_colorbutton').set_color(
-			gtk.gdk.color_parse(colSt))
-		
-		# Color for hyperlinks
-		colSt = gajim.config.get('urlmsgcolor')
-		self.xml.get_widget('url_msg_colorbutton').set_color(
-			gtk.gdk.color_parse(colSt))
-
-		# Font for messages
-		font = gajim.config.get('conversation_font')
-		# try to set default font for the current desktop env
-		fontbutton = self.xml.get_widget('conversation_fontbutton')
-		if font == '':
-			fontbutton.set_sensitive(False)
-			self.xml.get_widget('default_chat_font').set_active(True)
-		else:
-			fontbutton.set_font_name(font)
-
-		# on new message
-		only_in_roster = True
-		if gajim.config.get('notify_on_new_message'):
-			self.xml.get_widget('notify_on_new_message_radiobutton').set_active(
-				True)
-			only_in_roster = False
-		if gajim.config.get('autopopup'):
-			self.xml.get_widget('popup_new_message_radiobutton').set_active(True)
-			only_in_roster = False
-		if only_in_roster:
-			self.xml.get_widget('only_in_roster_radiobutton').set_active(True)
-
-		# notify on online statuses
-		st = gajim.config.get('notify_on_signin')
-		self.notify_on_signin_checkbutton.set_active(st)
-
-		# notify on offline statuses
-		st = gajim.config.get('notify_on_signout')
-		self.notify_on_signout_checkbutton.set_active(st)
-
-		# autopopupaway
-		st = gajim.config.get('autopopupaway')
-		self.auto_popup_away_checkbutton.set_active(st)
-
-		# Ignore messages from unknown contacts
-		self.xml.get_widget('ignore_events_from_unknown_contacts_checkbutton').\
-			set_active(gajim.config.get('ignore_unknown_contacts'))
-
+		### Privacy tab ###
 		# outgoing send chat state notifications
 		st = gajim.config.get('outgoing_chat_state_notifications')
 		combo = self.xml.get_widget('outgoing_chat_states_combobox')
@@ -314,8 +233,34 @@ class PreferencesWindow:
 		else: # disabled
 			combo.set_active(2)
 
+		# Ignore messages from unknown contacts
+		self.xml.get_widget('ignore_events_from_unknown_contacts_checkbutton').\
+			set_active(gajim.config.get('ignore_unknown_contacts'))
+
+		### Events tab ###
+		# On new event
+		on_event_combobox = self.xml.get_widget('on_event_combobox')
+		if gajim.config.get('autopopup'):
+			on_event_combobox.set_active(0)
+		elif gajim.config.get('notify_on_new_message'):
+			on_event_combobox.set_active(1)
+		else:
+			on_event_combobox.set_active(2)
+
+		# notify on online statuses
+		st = gajim.config.get('notify_on_signin')
+		self.notify_on_signin_checkbutton.set_active(st)
+
+		# notify on offline statuses
+		st = gajim.config.get('notify_on_signout')
+		self.notify_on_signout_checkbutton.set_active(st)
+
+		# autopopupaway
+		st = gajim.config.get('autopopupaway')
+		self.auto_popup_away_checkbutton.set_active(st)
+
 		# sounds
-		if os.name == 'nt':
+		if ((os.name == 'nt') or (sys.platform == 'darwin')):
 			# if windows, player must not become visible on show_all
 			soundplayer_hbox = self.xml.get_widget('soundplayer_hbox')
 			soundplayer_hbox.set_no_show_all(True)
@@ -362,7 +307,7 @@ class PreferencesWindow:
 
 		self.fill_sound_treeview()
 
-		#Autoaway
+		# Autoaway
 		st = gajim.config.get('autoaway')
 		self.auto_away_checkbutton.set_active(st)
 
@@ -453,18 +398,34 @@ class PreferencesWindow:
 				'applications_combobox')
 			self.xml.get_widget('custom_apps_frame').hide()
 			self.xml.get_widget('custom_apps_frame').set_no_show_all(True)
+
+			if sys.platform == 'darwin':
+				self.applications_combobox.remove_text(4)
+				self.applications_combobox.remove_text(3)
+				self.applications_combobox.remove_text(2)
+				self.applications_combobox.remove_text(1)
+				self.applications_combobox.append_text(
+					_('Always use OS/X default applications'))
+				self.applications_combobox.append_text(_('Custom'))
+
 			if gajim.config.get('autodetect_browser_mailer'):
 				self.applications_combobox.set_active(0)
 			# else autodetect_browser_mailer is False.
-			# so user has 'Always Use GNOME/KDE/XFCE4' or Custom
+			# so user has 'Always Use GNOME/KDE/Xfce' or Custom
 			elif gajim.config.get('openwith') == 'gnome-open':
 				self.applications_combobox.set_active(1)
 			elif gajim.config.get('openwith') == 'kfmclient exec':
 				self.applications_combobox.set_active(2)
 			elif gajim.config.get('openwith') == 'exo-open':
-				self.applications_combobox.set_active(3)				
+				self.applications_combobox.set_active(3)
+			elif ((sys.platform == 'darwin') and
+				  (gajim.config.get('openwith') == 'open')):
+				self.applications_combobox.set_active(1)
 			elif gajim.config.get('openwith') == 'custom':
-				self.applications_combobox.set_active(4)
+				if sys.platform == 'darwin':
+					self.applications_combobox.set_active(2)
+				else:
+					self.applications_combobox.set_active(4)
 				self.xml.get_widget('custom_apps_frame').show()
 				
 			self.xml.get_widget('custom_browser_entry').set_text(
@@ -500,23 +461,23 @@ class PreferencesWindow:
 
 		# PEP
 		st = gajim.config.get('publish_mood')
-		self.xml.get_widget('pub_mood').set_active(st)
-		
+		self.xml.get_widget('publish_mood_checkbutton').set_active(st)
+
 		st = gajim.config.get('publish_activity')
-		self.xml.get_widget('pub_activity').set_active(st)
-		
+		self.xml.get_widget('publish_activity_checkbutton').set_active(st)
+
 		st = gajim.config.get('publish_tune')
-		self.xml.get_widget('pub_tune').set_active(st)
-		
+		self.xml.get_widget('publish_tune_checkbutton').set_active(st)
+
 		st = gajim.config.get('subscribe_mood')
-		self.xml.get_widget('sub_mood').set_active(st)
-		
+		self.xml.get_widget('subscribe_mood_checkbutton').set_active(st)
+
 		st = gajim.config.get('subscribe_activity')
-		self.xml.get_widget('sub_activity').set_active(st)
-		
+		self.xml.get_widget('subscribe_activity_checkbutton').set_active(st)
+
 		st = gajim.config.get('subscribe_tune')
-		self.xml.get_widget('sub_tune').set_active(st)
-		
+		self.xml.get_widget('subscribe_tune_checkbutton').set_active(st)
+
 		# Notify user of new gmail e-mail messages,
 		# only show checkbox if user has a gtalk account
 		frame_gmail = self.xml.get_widget('frame_gmail')
@@ -535,7 +496,37 @@ class PreferencesWindow:
 				break
 		else:
 			frame_gmail.hide()
-		
+
+		# Color for incoming messages
+		colSt = gajim.config.get('inmsgcolor')
+		self.xml.get_widget('incoming_msg_colorbutton').set_color(
+			gtk.gdk.color_parse(colSt))
+
+		# Color for outgoing messages
+		colSt = gajim.config.get('outmsgcolor')
+		self.xml.get_widget('outgoing_msg_colorbutton').set_color(
+			gtk.gdk.color_parse(colSt))
+
+		# Color for status messages
+		colSt = gajim.config.get('statusmsgcolor')
+		self.xml.get_widget('status_msg_colorbutton').set_color(
+			gtk.gdk.color_parse(colSt))
+
+		# Color for hyperlinks
+		colSt = gajim.config.get('urlmsgcolor')
+		self.xml.get_widget('url_msg_colorbutton').set_color(
+			gtk.gdk.color_parse(colSt))
+
+		# Font for messages
+		font = gajim.config.get('conversation_font')
+		# try to set default font for the current desktop env
+		fontbutton = self.xml.get_widget('conversation_fontbutton')
+		if font == '':
+			fontbutton.set_sensitive(False)
+			self.xml.get_widget('default_chat_font').set_active(True)
+		else:
+			fontbutton.set_font_name(font)
+
 		self.xml.signal_autoconnect(self)
 
 		self.sound_tree.get_model().connect('row-changed',
@@ -550,6 +541,8 @@ class PreferencesWindow:
 		self.theme_preferences = None
 		
 		self.notebook.set_current_page(0)
+		if not gajim.config.get('use_pep'):
+			self.notebook.remove_page(5)
 		self.window.show_all()
 		gtkgui_helpers.possibly_move_window_in_current_desktop(self.window)
 
@@ -565,37 +558,21 @@ class PreferencesWindow:
 				w.set_sensitive(widget.get_active())
 		gajim.interface.save_config()
 
-	def on_trayicon_checkbutton_toggled(self, widget):
-		if widget.get_active():
-			gajim.config.set('trayicon', True)
-			gajim.interface.show_systray()
-			show = helpers.get_global_show()
-			gajim.interface.systray.change_status(show)
-		else:
-			gajim.config.set('trayicon', False)
-			if not gajim.interface.roster.window.get_property('visible'):
-				gajim.interface.roster.window.present()
-			gajim.interface.hide_systray()
-			# no tray, show roster!
-			gajim.config.set('show_roster_on_startup', True)
-		gajim.interface.roster.draw_roster()
-		gajim.interface.save_config()
-
-	def on_pub_mood_toggled(self, widget):
+	def on_publish_mood_checkbutton_toggled(self, widget):
 		if widget.get_active() == False:
 			for account in gajim.connections:
 				if gajim.connections[account].pep_supported:
 					pep.user_send_mood(account, '')
 		self.on_checkbutton_toggled(widget, 'publish_mood')
 
-	def on_pub_activity_toggled(self, widget):
+	def on_publish_activity_checkbutton_toggled(self, widget):
 		if widget.get_active() == False:
 			for account in gajim.connections:
 				if gajim.connections[account].pep_supported:
 					pep.user_send_activity(account, '')
 		self.on_checkbutton_toggled(widget, 'publish_activity')
 
-	def on_pub_tune_toggled(self, widget):
+	def on_publish_tune_checkbutton_toggled(self, widget):
 		if widget.get_active() == False:
 			for account in gajim.connections:
 				if gajim.connections[account].pep_supported:
@@ -604,13 +581,13 @@ class PreferencesWindow:
 		gajim.interface.roster.enable_syncing_status_msg_from_current_music_track(
 			widget.get_active())
 
-	def on_sub_mood_toggled(self, widget):
+	def on_subscribe_mood_checkbutton_toggled(self, widget):
 		self.on_checkbutton_toggled(widget, 'subscribe_mood')
 
-	def on_sub_activity_toggled(self, widget):
+	def on_subscribe_activity_checkbutton_toggled(self, widget):
 		self.on_checkbutton_toggled(widget, 'subscribe_activity')
 
-	def on_sub_tune_toggled(self, widget):
+	def on_subscribe_tune_checkbutton_toggled(self, widget):
 		self.on_checkbutton_toggled(widget, 'subscribe_tune')
 
 	def on_save_position_checkbutton_toggled(self, widget):
@@ -620,13 +597,6 @@ class PreferencesWindow:
 		self.on_checkbutton_toggled(widget, 'sort_by_show')
 		gajim.interface.roster.draw_roster()
 
-	def on_show_status_msgs_in_roster_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'show_status_msgs_in_roster')
-		gajim.interface.roster.draw_roster()
-		for ctl in gajim.interface.msg_win_mgr.controls():
-			if ctl.type_id == message_control.TYPE_GC:
-				ctl.update_ui()
-
 	def on_show_avatars_in_roster_checkbutton_toggled(self, widget):
 		self.on_checkbutton_toggled(widget, 'show_avatars_in_roster')
 		gajim.interface.roster.draw_roster()
@@ -637,7 +607,18 @@ class PreferencesWindow:
 					message_control.TYPE_GC) + \
 					gajim.interface.minimized_controls[account].values():
 						gc_control.draw_roster()
-	
+
+	def on_show_status_msgs_in_roster_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'show_status_msgs_in_roster')
+		gajim.interface.roster.draw_roster()
+		for ctl in gajim.interface.msg_win_mgr.controls():
+			if ctl.type_id == message_control.TYPE_GC:
+				ctl.update_ui()
+
+	def on_sort_by_show_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'sort_by_show')
+		gajim.interface.roster.draw_roster()
+
 	def on_emoticons_combobox_changed(self, widget):
 		active = widget.get_active()
 		model = widget.get_model()
@@ -656,51 +637,10 @@ class PreferencesWindow:
 		for win in gajim.interface.msg_win_mgr.windows():
 			win.toggle_emoticons()
 
-	def on_iconset_combobox_changed(self, widget):
-		model = widget.get_model()
-		active = widget.get_active()
-		icon_string = model[active][1].decode('utf-8')
-		gajim.config.set('iconset', icon_string)
-		gajim.interface.roster.reload_jabber_state_images()
-		gajim.interface.save_config()
-
-	def on_transports_iconsets_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'use_transports_iconsets')
-		gajim.interface.roster.reload_jabber_state_images()
-
-	def on_manage_theme_button_clicked(self, widget):
-		if self.theme_preferences is None:
-			self.theme_preferences = dialogs.GajimThemesWindow()
-		else:
-			self.theme_preferences.window.present()
-			self.theme_preferences.select_active_theme()
-
-	def on_theme_combobox_changed(self, widget):
-		model = widget.get_model()
+	def on_treat_incoming_messages_combobox_changed(self, widget):
 		active = widget.get_active()
-		config_theme = model[active][0].decode('utf-8').replace(' ', '_')
-
-		gajim.config.set('roster_theme', config_theme)
-
-		# begin repainting themed widgets throughout
-		gajim.interface.roster.repaint_themed_widgets()
-		gajim.interface.roster.change_roster_style(None)
-		gajim.interface.save_config()
-
-	def update_theme_list(self):
-		theme_combobox = self.xml.get_widget('theme_combobox')
-		model = gtk.ListStore(str)
-		theme_combobox.set_model(model) 
-		i = 0
-		for config_theme in gajim.config.get_per('themes'):
-			theme = config_theme.replace('_', ' ')
-			model.append([theme])
-			if gajim.config.get('roster_theme') == config_theme:
-				theme_combobox.set_active(i)
-			i += 1
-
-	def on_open_advanced_notifications_button_clicked(self, widget):
-		dialogs.AdvancedNotificationsWindow()
+		config_type = common.config.opt_treat_incoming_messages[active]
+		gajim.config.set('treat_incoming_messages', config_type)
 
 	def on_one_window_type_combo_changed(self, widget):
 		active = widget.get_active()
@@ -709,10 +649,16 @@ class PreferencesWindow:
 		gajim.interface.save_config()
 		gajim.interface.msg_win_mgr.reconfig()
 
-	def on_treat_incoming_messages_combobox_changed(self, widget):
+	def on_compact_view_checkbutton_toggled(self, widget):
 		active = widget.get_active()
-		config_type = common.config.opt_treat_incoming_messages[active]
-		gajim.config.set('treat_incoming_messages', config_type)
+		for ctl in gajim.interface.msg_win_mgr.controls():
+			ctl.chat_buttons_set_visible(active)
+		gajim.config.set('compact_view', active)
+		gajim.interface.save_config()
+		gajim.interface.roster.draw_roster()
+
+	def on_xhtml_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'ignore_incoming_xhtml')
 
 	def apply_speller(self):
 		for acct in gajim.connections:
@@ -737,15 +683,6 @@ class PreferencesWindow:
 					if spell_obj:
 						spell_obj.detach()
 
-	def on_compact_view_checkbutton_toggled(self, widget):
-		active = widget.get_active()
-		for ctl in gajim.interface.msg_win_mgr.controls():
-			ctl.chat_buttons_set_visible(active)
-		gajim.config.set('compact_view', active)
-		gajim.interface.save_config()
-		gajim.interface.roster.draw_roster()
-
-	
 	def on_speller_checkbutton_toggled(self, widget):
 		active = widget.get_active()
 		gajim.config.set('use_speller', active)
@@ -771,22 +708,111 @@ class PreferencesWindow:
 		else:
 			self.remove_speller()
 
-	def on_xhtml_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'ignore_incoming_xhtml')
-		
-	def on_time_never_radiobutton_toggled(self, widget):
-		if widget.get_active():
-			gajim.config.set('print_time', 'never')
+	def on_theme_combobox_changed(self, widget):
+		model = widget.get_model()
+		active = widget.get_active()
+		config_theme = model[active][0].decode('utf-8').replace(' ', '_')
+
+		gajim.config.set('roster_theme', config_theme)
+
+		# begin repainting themed widgets throughout
+		gajim.interface.roster.repaint_themed_widgets()
+		gajim.interface.roster.change_roster_style(None)
 		gajim.interface.save_config()
 
-	def on_time_sometimes_radiobutton_toggled(self, widget):
-		if widget.get_active():
-			gajim.config.set('print_time', 'sometimes')
+	def update_theme_list(self):
+		theme_combobox = self.xml.get_widget('theme_combobox')
+		model = gtk.ListStore(str)
+		theme_combobox.set_model(model) 
+		i = 0
+		for config_theme in gajim.config.get_per('themes'):
+			theme = config_theme.replace('_', ' ')
+			model.append([theme])
+			if gajim.config.get('roster_theme') == config_theme:
+				theme_combobox.set_active(i)
+			i += 1
+
+	def on_manage_theme_button_clicked(self, widget):
+		if self.theme_preferences is None:
+			self.theme_preferences = dialogs.GajimThemesWindow()
+		else:
+			self.theme_preferences.window.present()
+			self.theme_preferences.select_active_theme()
+
+	def on_iconset_combobox_changed(self, widget):
+		model = widget.get_model()
+		active = widget.get_active()
+		icon_string = model[active][1].decode('utf-8')
+		gajim.config.set('iconset', icon_string)
+		gajim.interface.roster.reload_jabber_state_images()
 		gajim.interface.save_config()
 
-	def on_time_always_radiobutton_toggled(self, widget):
-		if widget.get_active():
-			gajim.config.set('print_time', 'always')
+	def on_transports_iconsets_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'use_transports_iconsets')
+		gajim.interface.roster.reload_jabber_state_images()
+
+	def on_outgoing_chat_states_combobox_changed(self, widget):
+		active = widget.get_active()
+		if active == 0: # all
+			gajim.config.set('outgoing_chat_state_notifications', 'all')
+		elif active == 1: # only composing
+			gajim.config.set('outgoing_chat_state_notifications', 'composing_only')
+		else: # disabled
+			gajim.config.set('outgoing_chat_state_notifications', 'disabled')
+
+	def on_displayed_chat_states_combobox_changed(self, widget):
+		active = widget.get_active()
+		if active == 0: # all
+			gajim.config.set('displayed_chat_state_notifications', 'all')
+		elif active == 1: # only composing
+			gajim.config.set('displayed_chat_state_notifications',
+				'composing_only')
+		else: # disabled
+			gajim.config.set('displayed_chat_state_notifications', 'disabled')
+
+	def on_ignore_events_from_unknown_contacts_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'ignore_unknown_contacts')
+
+	def on_on_event_combobox_changed(self, widget):
+		active = widget.get_active()
+		if active == 0:
+			gajim.config.set('autopopup', True)
+			gajim.config.set('notify_on_new_message', False)
+		elif active == 1:
+			gajim.config.set('autopopup', False)
+			gajim.config.set('notify_on_new_message', True)
+		else:
+			gajim.config.set('autopopup', False)
+			gajim.config.set('notify_on_new_message', False)
+
+	def on_notify_on_signin_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'notify_on_signin')
+
+	def on_notify_on_signout_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'notify_on_signout')
+
+	def on_auto_popup_away_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'autopopupaway')
+
+	def on_open_advanced_notifications_button_clicked(self, widget):
+		dialogs.AdvancedNotificationsWindow()
+
+	def on_play_sounds_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'sounds_on',
+				[self.xml.get_widget('soundplayer_hbox'),
+				self.xml.get_widget('sounds_scrolledwindow'),
+				self.xml.get_widget('browse_sounds_hbox')])
+
+	def on_soundplayer_entry_changed(self, widget):
+		gajim.config.set('soundplayer', widget.get_text().decode('utf-8'))
+		gajim.interface.save_config()
+
+	def on_sounds_treemodel_row_changed(self, model, path, iter):
+		sound_event = model[iter][3].decode('utf-8')
+		gajim.config.set_per('soundevents', sound_event, 'enabled',
+					bool(model[path][0]))
+		gajim.config.set_per('soundevents', sound_event, 'path',
+					model[iter][2].decode('utf-8'))
 		gajim.interface.save_config()
 
 	def update_text_tags(self):
@@ -854,73 +880,6 @@ class PreferencesWindow:
 		self.update_text_tags()
 		gajim.interface.save_config()
 
-	def on_notify_on_new_message_radiobutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'notify_on_new_message',
-					[self.auto_popup_away_checkbutton])
-
-	def on_popup_new_message_radiobutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'autopopup',
-					[self.auto_popup_away_checkbutton])
-
-	def on_only_in_roster_radiobutton_toggled(self, widget):
-		if widget.get_active():
-			self.auto_popup_away_checkbutton.set_sensitive(False)
-
-	def on_notify_on_signin_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'notify_on_signin')
-
-	def on_notify_on_signout_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'notify_on_signout')
-
-	def on_auto_popup_away_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'autopopupaway')
-
-	def on_ignore_events_from_unknown_contacts_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'ignore_unknown_contacts')
-
-	def on_outgoing_chat_states_combobox_changed(self, widget):
-		active = widget.get_active()
-		if active == 0: # all
-			gajim.config.set('outgoing_chat_state_notifications', 'all')
-		elif active == 1: # only composing
-			gajim.config.set('outgoing_chat_state_notifications', 'composing_only')
-		else: # disabled
-			gajim.config.set('outgoing_chat_state_notifications', 'disabled')
-
-	def on_displayed_chat_states_combobox_changed(self, widget):
-		active = widget.get_active()
-		if active == 0: # all
-			gajim.config.set('displayed_chat_state_notifications', 'all')
-		elif active == 1: # only composing
-			gajim.config.set('displayed_chat_state_notifications',
-				'composing_only')
-		else: # disabled
-			gajim.config.set('displayed_chat_state_notifications', 'disabled')
-
-	def on_play_sounds_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'sounds_on',
-				[self.xml.get_widget('soundplayer_hbox'),
-				self.xml.get_widget('sounds_scrolledwindow'),
-				self.xml.get_widget('browse_sounds_hbox')])
-
-	def on_soundplayer_entry_changed(self, widget):
-		gajim.config.set('soundplayer', widget.get_text().decode('utf-8'))
-		gajim.interface.save_config()
-
-	def on_prompt_online_status_message_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'ask_online_status')
-
-	def on_prompt_offline_status_message_checkbutton_toggled(self, widget):
-		self.on_checkbutton_toggled(widget, 'ask_offline_status')
-
-	def on_sounds_treemodel_row_changed(self, model, path, iter):
-		sound_event = model[iter][3].decode('utf-8')
-		gajim.config.set_per('soundevents', sound_event, 'enabled',
-					bool(model[path][0]))
-		gajim.config.set_per('soundevents', sound_event, 'path',
-					model[iter][2].decode('utf-8'))
-		gajim.interface.save_config()
-
 	def on_auto_away_checkbutton_toggled(self, widget):
 		self.on_checkbutton_toggled(widget, 'autoaway',
 					[self.auto_away_time_spinbutton, self.auto_away_message_entry])
@@ -951,6 +910,12 @@ class PreferencesWindow:
 	def on_auto_xa_message_entry_changed(self, widget):
 		gajim.config.set('autoxa_message', widget.get_text().decode('utf-8'))
 
+	def on_prompt_online_status_message_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'ask_online_status')
+
+	def on_prompt_offline_status_message_checkbutton_toggled(self, widget):
+		self.on_checkbutton_toggled(widget, 'ask_offline_status')
+
 	def fill_default_msg_treeview(self):
 		model = self.default_msg_tree.get_model()
 		model.clear()
@@ -1010,19 +975,30 @@ class PreferencesWindow:
 
 	def on_applications_combobox_changed(self, widget):
 		gajim.config.set('autodetect_browser_mailer', False)
-		if widget.get_active() == 4:
-			self.xml.get_widget('custom_apps_frame').show()
-			gajim.config.set('openwith', 'custom')
-		else:
+		if sys.platform == 'darwin':
 			if widget.get_active() == 0:
 				gajim.config.set('autodetect_browser_mailer', True)
+				self.xml.get_widget('custom_apps_frame').hide()
 			elif widget.get_active() == 1:
-				gajim.config.set('openwith', 'gnome-open')
+				self.xml.get_widget('custom_apps_frame').hide()
+				gajim.config.set('openwith', 'open')
 			elif widget.get_active() == 2:
-				gajim.config.set('openwith', 'kfmclient exec')
-			elif widget.get_active() == 3:
-				gajim.config.set('openwith', 'exo-open')
-			self.xml.get_widget('custom_apps_frame').hide()
+				self.xml.get_widget('custom_apps_frame').show()
+				gajim.config.set('openwith', 'custom')
+		else:
+			if widget.get_active() == 4:
+				self.xml.get_widget('custom_apps_frame').show()
+				gajim.config.set('openwith', 'custom')
+			else:
+				if widget.get_active() == 0:
+					gajim.config.set('autodetect_browser_mailer', True)
+				elif widget.get_active() == 1:
+					gajim.config.set('openwith', 'gnome-open')
+				elif widget.get_active() == 2:
+					gajim.config.set('openwith', 'kfmclient exec')
+				elif widget.get_active() == 3:
+					gajim.config.set('openwith', 'exo-open')
+				self.xml.get_widget('custom_apps_frame').hide()
 		gajim.interface.save_config()
 
 	def on_custom_browser_entry_changed(self, widget):
@@ -1377,10 +1353,6 @@ class AccountsWindow:
 	def on_close_button_clicked(self, widget):
 		self.window.destroy()
 
-	def on_accounts_window_destroy(self, widget):
-		if gajim.interface.instances.has_key('accounts'):
-			del gajim.interface.instances['accounts']
-
 	def __init__(self):
 		self.xml = gtkgui_helpers.get_glade('accounts_window.glade')
 		self.window = self.xml.get_widget('accounts_window')
@@ -1418,8 +1390,6 @@ class AccountsWindow:
 		st = gajim.config.get('mergeaccounts')
 		self.xml.get_widget('merge_checkbutton').set_active(st)
 
-		import os
-
 		self.avahi_available = True
 		try:
 			import avahi
@@ -1493,8 +1463,8 @@ class AccountsWindow:
 				gajim.connections[gajim.ZEROCONF_ACC_NAME].update_details()
 				return
 			
-		elif self.need_relogin and gajim.connections[self.current_account].\
-		connected > 0:
+		elif self.need_relogin and self.current_account and \
+		gajim.connections[self.current_account].connected > 0:
 			def login(account, show_before, status_before):
 				''' login with previous status'''
 				# first make sure connection is really closed, 
@@ -1605,7 +1575,8 @@ class AccountsWindow:
 
 		# Personal tab
 		gpg_key_label = self.xml.get_widget('gpg_key_label2')
-		if gajim.config.get('usegpg'):
+		if gajim.connections.has_key(gajim.ZEROCONF_ACC_NAME) and \
+		gajim.connections[gajim.ZEROCONF_ACC_NAME].gpg:
 			self.xml.get_widget('gpg_choose_button2').set_sensitive(True)
 			self.init_account_gpg()
 		else:
@@ -1621,7 +1592,7 @@ class AccountsWindow:
 		account = self.current_account
 		keyid = gajim.config.get_per('accounts', account, 'keyid')
 		keyname = gajim.config.get_per('accounts', account, 'keyname')
-		savegpgpass = gajim.config.get_per('accounts', account, 'savegpgpass')
+		use_gpg_agent = gajim.config.get('use_gpg_agent')
 
 		if account == gajim.ZEROCONF_ACC_NAME:
 			widget_name_add = '2'
@@ -1630,27 +1601,19 @@ class AccountsWindow:
 
 		gpg_key_label = self.xml.get_widget('gpg_key_label' + widget_name_add)
 		gpg_name_label = self.xml.get_widget('gpg_name_label' + widget_name_add)
-		gpg_save_password_checkbutton = \
-			self.xml.get_widget('gpg_save_password_checkbutton' + widget_name_add)
-		gpg_password_entry = self.xml.get_widget('gpg_password_entry' + \
-			widget_name_add)
+		use_gpg_agent_checkbutton = self.xml.get_widget(
+			'use_gpg_agent_checkbutton' + widget_name_add)
 
-		if not keyid or not gajim.config.get('usegpg'):
-			gpg_save_password_checkbutton.set_sensitive(False)
-			gpg_password_entry.set_sensitive(False)
+		if not keyid or not gajim.connections[account].gpg:
+			use_gpg_agent_checkbutton.set_sensitive(False)
 			gpg_key_label.set_text(_('No key selected'))
 			gpg_name_label.set_text('')
 			return
 
 		gpg_key_label.set_text(keyid)
 		gpg_name_label.set_text(keyname)
-		gpg_save_password_checkbutton.set_sensitive(True)
-		gpg_save_password_checkbutton.set_active(savegpgpass)
-
-		if savegpgpass:
-			gpg_password_entry.set_sensitive(True)
-			gpgpassword = gajim.config.get_per('accounts', account, 'gpgpassword')
-			gpg_password_entry.set_text(gpgpassword)
+		use_gpg_agent_checkbutton.set_sensitive(True)
+		use_gpg_agent_checkbutton.set_active(use_gpg_agent)
 
 	def init_normal_account(self):
 		account = self.current_account
@@ -1704,7 +1667,7 @@ class AccountsWindow:
 
 		# Personal tab
 		gpg_key_label = self.xml.get_widget('gpg_key_label1')
-		if gajim.config.get('usegpg'):
+		if gajim.connections[account].gpg:
 			self.xml.get_widget('gpg_choose_button1').set_sensitive(True)
 			self.init_account_gpg()
 		else:
@@ -1762,10 +1725,7 @@ class AccountsWindow:
 					win_opened = True
 					break
 		# Detect if we have opened windows for this account
-		self.dialog = None
-		def remove(widget, account):
-			if self.dialog:
-				self.dialog.destroy()
+		def remove(account):
 			if gajim.interface.instances[account].has_key('remove_account'):
 				gajim.interface.instances[account]['remove_account'].window.\
 					present()
@@ -1773,13 +1733,13 @@ class AccountsWindow:
 				gajim.interface.instances[account]['remove_account'] = \
 					RemoveAccountWindow(account)
 		if win_opened:
-			self.dialog = dialogs.ConfirmationDialog(
+			dialog = dialogs.ConfirmationDialog(
 				_('You have opened chat in account %s') % account,
 				_('All chat and groupchat windows will be closed. Do you want to '
 				'continue?'),
 				on_response_ok = (remove, account))
 		else:
-			remove(widget, account)
+			remove(account)
 
 	def on_rename_button_clicked(self, widget):
 		if gajim.connections[self.current_account].connected != 0:
@@ -1839,7 +1799,7 @@ class AccountsWindow:
 
 			# ServiceCache object keep old property account
 			if hasattr(gajim.connections[old_name], 'services_cache'):
-				gajim.connections[self.account].services_cache.account = new_name
+				gajim.connections[old_name].services_cache.account = new_name
 			del gajim.interface.instances[old_name]
 			del gajim.interface.minimized_controls[old_name]
 			del gajim.nicks[old_name]
@@ -2010,6 +1970,7 @@ class AccountsWindow:
 			return
 		self.on_checkbutton_toggled(widget, 'sync_with_global_status',
 			account=self.current_account)
+		gajim.interface.roster.update_status_combobox()
 
 	def on_use_ft_proxies_checkbutton1_toggled(self, widget):
 		if self.ignore_events:
@@ -2117,17 +2078,14 @@ class AccountsWindow:
 			wiget_name_ext = '2'
 		else:
 			wiget_name_ext = '1'
-		checkbutton = self.xml.get_widget('gpg_save_password_checkbutton' + \
-			wiget_name_ext)
 		gpg_key_label = self.xml.get_widget('gpg_key_label' + wiget_name_ext)
 		gpg_name_label = self.xml.get_widget('gpg_name_label' + wiget_name_ext)
-		gpg_password_entry = self.xml.get_widget('gpg_password_entry' + \
-			wiget_name_ext)
+		use_gpg_agent_checkbutton = self.xml.get_widget(
+			'use_gpg_agent_checkbutton' + wiget_name_ext)
 		if keyID[0] == _('None'):
 			gpg_key_label.set_text(_('No key selected'))
 			gpg_name_label.set_text('')
-			checkbutton.set_sensitive(False)
-			gpg_password_entry.set_sensitive(False)
+			use_gpg_agent_checkbutton.set_sensitive(False)
 			if self.option_changed('keyid', ''):
 				self.need_relogin = True
 			gajim.config.set_per('accounts', self.current_account, 'keyname', '')
@@ -2135,34 +2093,20 @@ class AccountsWindow:
 		else:
 			gpg_key_label.set_text(keyID[0])
 			gpg_name_label.set_text(keyID[1])
-			checkbutton.set_sensitive(True)
+			use_gpg_agent_checkbutton.set_sensitive(True)
 			if self.option_changed('keyid', keyID[0]):
 				self.need_relogin = True
 			gajim.config.set_per('accounts', self.current_account, 'keyname',
 				keyID[1])
 			gajim.config.set_per('accounts', self.current_account, 'keyid',
 				keyID[0])
-		gajim.config.set_per('accounts', self.current_account, 'savegpgpass',
-			False)
-		gajim.config.set_per('accounts', self.current_account, 'gpgpassword', '')
-		checkbutton.set_active(False)
-		gpg_password_entry.set_text('')
 
-	def on_gpg_save_password_checkbutton_toggled(self, widget):
+	def on_use_gpg_agent_checkbutton_toggled(self, widget):
 		if self.current_account == gajim.ZEROCONF_ACC_NAME:
 			wiget_name_ext = '2'
 		else:
 			wiget_name_ext = '1'
-		self.xml.get_widget('gpg_password_entry' + wiget_name_ext).set_sensitive(
-			widget.get_active())
-		self.on_checkbutton_toggled(widget, 'savegpgpass',
-			account = self.current_account)
-
-	def on_gpg_password_entry_changed(self, widget):
-		if self.ignore_events:
-			return
-		gajim.config.set_per('accounts', self.current_account, 'gpgpassword',
-			widget.get_text().decode('utf-8'))
+		self.on_checkbutton_toggled(widget, 'use_gpg_agent')
 
 	def on_edit_details_button1_clicked(self, widget):
 		if not gajim.interface.instances.has_key(self.current_account):
@@ -2244,13 +2188,16 @@ class AccountsWindow:
 			else: 
 				gajim.interface.roster.regroup = False
 			gajim.interface.roster.draw_roster()
-			gajim.interface.roster.actions_menu_needs_rebuild = True
+			gajim.interface.roster.set_actions_menu_needs_rebuild()
 
 		elif not gajim.config.get('enable_zeroconf') and widget.get_active():
 			self.xml.get_widget('zeroconf_notebook').set_sensitive(True)
 			# enable (will create new account if not present)
 			gajim.connections[gajim.ZEROCONF_ACC_NAME] = common.zeroconf.\
 				connection_zeroconf.ConnectionZeroconf(gajim.ZEROCONF_ACC_NAME)
+			if gajim.connections[gajim.ZEROCONF_ACC_NAME].gpg:
+				self.xml.get_widget('gpg_choose_button2').set_sensitive(True)
+			self.init_account_gpg()
 			# update variables
 			gajim.interface.instances[gajim.ZEROCONF_ACC_NAME] = {'infos': {},
 				'disco': {}, 'gc_config': {}, 'search': {}}
@@ -2276,7 +2223,7 @@ class AccountsWindow:
 			else: 
 				gajim.interface.roster.regroup = False
 			gajim.interface.roster.draw_roster()
-			gajim.interface.roster.actions_menu_needs_rebuild = True
+			gajim.interface.roster.set_actions_menu_needs_rebuild()
 			gajim.interface.save_config()
 
 		self.on_checkbutton_toggled(widget, 'enable_zeroconf')
@@ -2641,9 +2588,7 @@ class RemoveAccountWindow:
 		self.window.show_all()
 
 	def on_remove_button_clicked(self, widget):
-		def remove(widget):
-			if self.dialog:
-				self.dialog.destroy()
+		def remove():
 			if gajim.connections[self.account].connected and \
 			not self.remove_and_unregister_radiobutton.get_active():
 				# change status to offline only if we will not remove this JID from
@@ -2666,14 +2611,13 @@ class RemoveAccountWindow:
 			else:
 				self._on_remove_success(True)
 
-		self.dialog = None
 		if gajim.connections[self.account].connected:
-			self.dialog = dialogs.ConfirmationDialog(
+			dialog = dialogs.ConfirmationDialog(
 				_('Account "%s" is connected to the server') % self.account,
 				_('If you remove it, the connection will be lost.'),
 				on_response_ok = remove)
 		else:
-			remove(None)
+			remove()
 	
 	def _on_remove_success(self, res):
 		# action of unregistration has failed, we don't remove the account
@@ -2706,7 +2650,7 @@ class RemoveAccountWindow:
 		else: 
 			gajim.interface.roster.regroup = False
 		gajim.interface.roster.draw_roster()
-		gajim.interface.roster.actions_menu_needs_rebuild = True
+		gajim.interface.roster.set_actions_menu_needs_rebuild()
 		if gajim.interface.instances.has_key('accounts'):
 			gajim.interface.instances['accounts'].init_accounts()
 		self.window.destroy()
@@ -2728,6 +2672,8 @@ class ManageBookmarksWindow:
 				continue
 			if gajim.connections[account].is_zeroconf:
 				continue
+			if not gajim.connections[account].private_storage_supported:
+				continue
 			iter = self.treestore.append(None, [None, account, None, None,
 				None, None, None, None])
 
@@ -2900,7 +2846,7 @@ class ManageBookmarksWindow:
 				gajim.connections[account_unicode].bookmarks.append(bmdict)
 
 			gajim.connections[account_unicode].store_bookmarks()
-		gajim.interface.roster.actions_menu_needs_rebuild = True
+		gajim.interface.roster.set_actions_menu_needs_rebuild()
 		self.window.destroy()
 
 	def on_cancel_button_clicked(self, widget):
@@ -3091,6 +3037,11 @@ class AccountCreationWizardWindow:
 		self.window.show_all()
 
 	def on_wizard_window_destroy(self, widget):
+		page = self.notebook.get_current_page()
+		if page in (4, 5) and self.account in gajim.connections:
+			# connection instance is saved in gajim.connections and we canceled the
+			# addition of the account
+			del gajim.connections[self.account]
 		del gajim.interface.instances['account_creation_wizard']
 
 	def on_register_server_features_button_clicked(self, widget):
@@ -3104,13 +3055,19 @@ class AccountCreationWizardWindow:
 		self.window.destroy()
 
 	def on_back_button_clicked(self, widget):
-		if self.notebook.get_current_page() in (1, 2):
+		cur_page = self.notebook.get_current_page()
+		if cur_page in (1, 2):
 			self.notebook.set_current_page(0)
 			self.back_button.set_sensitive(False)
-		elif self.notebook.get_current_page() == 3:
+		elif cur_page == 3:
+			self.xml.get_widget('form_vbox').remove(self.data_form_widget)
+			self.notebook.set_current_page(2) # show server page
+		elif cur_page == 4:
+			if self.account in gajim.connections:
+				del gajim.connections[self.account]
 			self.notebook.set_current_page(2)
 			self.xml.get_widget('form_vbox').remove(self.data_form_widget)
-		elif self.notebook.get_current_page() == 5: # finish page
+		elif cur_page == 6: # finish page
 			self.forward_button.show()
 			if self.modify:
 				self.notebook.set_current_page(1) # Go to parameters page
@@ -3193,9 +3150,10 @@ class AccountCreationWizardWindow:
 			self.go_online_checkbutton.show()
 			img = self.xml.get_widget('finish_image')
 			img.set_from_stock(gtk.STOCK_APPLY, gtk.ICON_SIZE_DIALOG)
-			self.notebook.set_current_page(5) # show finish page
+			self.notebook.set_current_page(6) # show finish page
 			self.show_vcard_checkbutton.set_active(False)
 		elif cur_page == 2:
+			# We are creating a new account
 			server = self.xml.get_widget('server_comboboxentry1').child.get_text()\
 				.decode('utf-8')
 
@@ -3231,7 +3189,7 @@ class AccountCreationWizardWindow:
 			config['custom_host'] = self.xml.get_widget(
 				'custom_host_entry').get_text().decode('utf-8')
 
-			self.notebook.set_current_page(4) # show creating page
+			self.notebook.set_current_page(5) # show creating page
 			self.back_button.hide()
 			self.forward_button.hide()
 			self.update_progressbar_timeout_id = gobject.timeout_add(100,
@@ -3241,6 +3199,18 @@ class AccountCreationWizardWindow:
 			con.new_account(self.account, config)
 			gajim.connections[self.account] = con
 		elif cur_page == 3:
+			checked = self.xml.get_widget('ssl_checkbutton').get_active()
+			if checked:
+				hostname = gajim.connections[self.account].new_account_info[
+					'hostname']
+				f = open(gajim.MY_CACERTS, 'a')
+				f.write(hostname + '\n')
+				f.write(self.ssl_cert + '\n\n')
+				f.close()
+				gajim.connections[self.account].new_account_info[
+					'ssl_fingerprint_sha1'] = self.ssl_fingerprint
+			self.notebook.set_current_page(4) # show fom page
+		elif cur_page == 4:
 			if self.is_form:
 				form = self.data_form_widget.data_form
 			else:
@@ -3249,7 +3219,7 @@ class AccountCreationWizardWindow:
 				self.is_form)
 			self.xml.get_widget('form_vbox').remove(self.data_form_widget)
 			self.xml.get_widget('progressbar_label').set_markup('<b>Account is being created</b>\n\nPlease wait...')
-			self.notebook.set_current_page(4) # show creating page
+			self.notebook.set_current_page(5) # show creating page
 			self.back_button.hide()
 			self.forward_button.hide()
 			self.update_progressbar_timeout_id = gobject.timeout_add(100,
@@ -3279,13 +3249,13 @@ class AccountCreationWizardWindow:
 		self.progressbar.pulse()
 		return True # loop forever
 
-	def new_acc_connected(self, form, is_form):
-		'''connection to server succeded, present the form to the user'''
+	def new_acc_connected(self, form, is_form, ssl_msg, ssl_cert,
+	ssl_fingerprint):
+		'''connection to server succeded, present the form to the user.'''
 		if self.update_progressbar_timeout_id is not None:
 			gobject.source_remove(self.update_progressbar_timeout_id)
 		self.back_button.show()
 		self.forward_button.show()
-		self.notebook.set_current_page(3) # show form page
 		self.is_form = is_form
 		if is_form:
 			dataform = dataforms.ExtendForm(node = form)
@@ -3294,6 +3264,21 @@ class AccountCreationWizardWindow:
 			self.data_form_widget = FakeDataForm(form)
 		self.data_form_widget.show_all()
 		self.xml.get_widget('form_vbox').pack_start(self.data_form_widget)
+		self.ssl_fingerprint = ssl_fingerprint
+		self.ssl_cert = ssl_cert
+		if ssl_msg:
+			# An SSL warning occured, show it
+			hostname = gajim.connections[self.account].new_account_info['hostname']
+			self.xml.get_widget('ssl_label').set_markup(_('<b>Security Warning</b>'
+				'\n\nThe authenticity of the %s SSL certificate could be invalid.\n'
+				'SSL Error: %s\n'
+				'Do you still want to connect to this server?') % (hostname,
+				ssl_msg))
+			text = _('Add this certificate to the list of trusted certificates.\nSHA1 fingerprint of the certificate:\n%s') % ssl_fingerprint
+			self.xml.get_widget('ssl_checkbutton').set_label(text)
+			self.notebook.set_current_page(3) # show SSL page
+		else:
+			self.notebook.set_current_page(4) # show form page
 
 	def new_acc_not_connected(self, reason):
 		'''Account creation failed: connection to server failed'''
@@ -3309,7 +3294,7 @@ class AccountCreationWizardWindow:
 		finish_text = '<big><b>%s</b></big>\n\n%s' % (
 			_('An error occurred during account creation') , reason)
 		self.finish_label.set_markup(finish_text)
-		self.notebook.set_current_page(5) # show finish page
+		self.notebook.set_current_page(6) # show finish page
 
 	def acc_is_ok(self, config):
 		'''Account creation succeeded'''
@@ -3332,7 +3317,7 @@ class AccountCreationWizardWindow:
 			'button, or later by choosing the Accounts menuitem under the Edit '
 			'menu from the main window.'))
 		self.finish_label.set_markup(finish_text)
-		self.notebook.set_current_page(5) # show finish page
+		self.notebook.set_current_page(6) # show finish page
 
 		if self.update_progressbar_timeout_id is not None:
 			gobject.source_remove(self.update_progressbar_timeout_id)
@@ -3349,7 +3334,7 @@ class AccountCreationWizardWindow:
 		finish_text = '<big><b>%s</b></big>\n\n%s' % (_('An error occurred during '
 			'account creation') , reason)
 		self.finish_label.set_markup(finish_text)
-		self.notebook.set_current_page(5) # show finish page
+		self.notebook.set_current_page(6) # show finish page
 
 		if self.update_progressbar_timeout_id is not None:
 			gobject.source_remove(self.update_progressbar_timeout_id)
@@ -3426,8 +3411,6 @@ class AccountCreationWizardWindow:
 		config['custom_host'] = ''
 		config['keyname'] = ''
 		config['keyid'] = ''
-		config['savegpgpass'] = False
-		config['gpgpassword'] = ''
 		return config
 
 	def save_account(self, login, server, savepass, password):
@@ -3482,7 +3465,7 @@ class AccountCreationWizardWindow:
 		else: 
 			gajim.interface.roster.regroup = False
 		gajim.interface.roster.draw_roster()
-		gajim.interface.roster.actions_menu_needs_rebuild = True
+		gajim.interface.roster.set_actions_menu_needs_rebuild()
 		gajim.interface.save_config()
 
 #---------- ZeroconfPropertiesWindow class -------------#
diff --git a/src/conversation_textview.py b/src/conversation_textview.py
index f4e06e1bb234eb55b3f71f811d7e83addd85b08f..53b3a68b1447d4ca6d74f253524718170ce716aa 100644
--- a/src/conversation_textview.py
+++ b/src/conversation_textview.py
@@ -1,22 +1,28 @@
 ##	conversation_textview.py
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005-2006 Travis Shirk <travis@pobox.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import random
 from tempfile import gettempdir
 from subprocess import Popen
+from threading import Timer # for smooth scrolling
 
 import gtk
 import pango
@@ -37,6 +43,107 @@ from common.fuzzyclock import FuzzyClock
 from htmltextview import HtmlTextView
 from common.exceptions import GajimGeneralException
 
+
+def is_selection_modified(mark):
+	name = mark.get_name()
+	if name and name in ('selection_bound', 'insert'):
+		return True
+	else:
+		return False
+
+def has_focus(widget):
+	return widget.flags() & gtk.HAS_FOCUS == gtk.HAS_FOCUS
+
+class TextViewImage(gtk.Image):
+
+	def __init__(self, anchor):
+		super(TextViewImage, self).__init__()
+		self.anchor = anchor
+		self._selected = False
+		self._disconnect_funcs = []
+		self.connect("parent-set", self.on_parent_set)
+		self.connect("expose-event", self.on_expose)
+
+	def _get_selected(self):
+		parent = self.get_parent()
+		if not parent or not self.anchor: return False
+		buffer = parent.get_buffer()
+		position = buffer.get_iter_at_child_anchor(self.anchor)
+		bounds = buffer.get_selection_bounds()
+		if bounds and position.in_range(*bounds):
+			return True
+		else:
+			return False
+	
+	def get_state(self):
+		parent = self.get_parent()
+		if not parent:
+			return gtk.STATE_NORMAL
+		if self._selected:
+			if has_focus(parent):
+				return gtk.STATE_SELECTED
+			else:
+				return gtk.STATE_ACTIVE
+		else:
+			return gtk.STATE_NORMAL
+
+	def _update_selected(self):
+		selected = self._get_selected()
+		if self._selected != selected:
+			self._selected = selected
+			self.queue_draw()
+
+	def _do_connect(self, widget, signal, callback):
+		id = widget.connect(signal, callback)
+		def disconnect():
+			widget.disconnect(id)
+		self._disconnect_funcs.append(disconnect)
+
+	def _disconnect_signals(self):
+		for func in self._disconnect_funcs:
+			func()
+		self._disconnect_funcs = []
+
+	def on_parent_set(self, widget, old_parent):
+		parent = self.get_parent()
+		if not parent:
+			self._disconnect_signals()
+			return
+
+		self._do_connect(parent, "style-set", self.do_queue_draw)
+		self._do_connect(parent, "focus-in-event", self.do_queue_draw)
+		self._do_connect(parent, "focus-out-event", self.do_queue_draw)
+
+		textbuf = parent.get_buffer()
+		self._do_connect(textbuf, "mark-set", self.on_mark_set)
+		self._do_connect(textbuf, "mark-deleted", self.on_mark_deleted)
+	
+	def do_queue_draw(self, *args):
+		self.queue_draw()
+		return False
+	
+	def on_mark_set(self, buf, iterat, mark):
+		self.on_mark_modified(mark)
+		return False
+	
+	def on_mark_deleted(self, buf, mark):
+		self.on_mark_modified(mark)
+		return False
+
+	def on_mark_modified(self, mark):
+		if is_selection_modified(mark):
+			self._update_selected()
+
+	def on_expose(self, widget, event):
+		state = self.get_state()
+		if state != gtk.STATE_NORMAL:
+			gc = widget.get_style().base_gc[state]
+			area = widget.allocation
+			widget.window.draw_rectangle(gc, True, area.x, area.y,
+				area.width, area.height)
+		return False
+	
+
 class ConversationTextview:
 	'''Class for the conversation textview (where user reads already said messages)
 	for chat/groupchat windows'''
@@ -44,6 +151,10 @@ class ConversationTextview:
 	path_to_file = os.path.join(gajim.DATA_DIR, 'pixmaps', 'muc_separator.png')
 	FOCUS_OUT_LINE_PIXBUF = gtk.gdk.pixbuf_new_from_file(path_to_file)
 
+	# smooth scroll constants
+	MAX_SCROLL_TIME = 0.4 # seconds
+	SCROLL_DELAY = 33 # milliseconds
+
 	def __init__(self, account, used_in_history_window = False):
 		'''if used_in_history_window is True, then we do not show
 		Clear menuitem in context menu'''
@@ -62,6 +173,8 @@ class ConversationTextview:
 		self.tv.set_left_margin(2)
 		self.tv.set_right_margin(2)
 		self.handlers = {}
+		self.images = []
+		self.image_cache = {}
 
 		# connect signals
 		id = self.tv.connect('motion_notify_event',
@@ -72,6 +185,11 @@ class ConversationTextview:
 		id = self.tv.connect('button_press_event',
 			self.on_textview_button_press_event)
 		self.handlers[id] = self.tv
+		
+		id = self.tv.connect("expose-event",
+			self.on_textview_expose_event)
+		self.handlers[id] = self.tv
+
 
 		self.account = account
 		self.change_cursor = None
@@ -154,6 +272,7 @@ class ConversationTextview:
 		self.line_tooltip = tooltips.BaseTooltip()
 		# use it for hr too
 		self.tv.focus_out_line_pixbuf = ConversationTextview.FOCUS_OUT_LINE_PIXBUF
+		self.smooth_id = None
 
 	def del_handlers(self):
 		for i in self.handlers.keys():
@@ -181,6 +300,48 @@ class ConversationTextview:
 			return True
 		return False
 
+	# Smooth scrolling inspired by Pidgin code
+	def smooth_scroll(self):
+		parent = self.tv.get_parent()
+		if not parent:
+			return False
+		vadj = parent.get_vadjustment()
+		max_val = vadj.upper - vadj.page_size + 1
+		cur_val = vadj.get_value()
+		# scroll by 1/3rd of remaining distance
+		onethird = cur_val + ((max_val - cur_val) / 3.0)
+		vadj.set_value(onethird)
+		if max_val - onethird < 0.01:
+			self.smooth_id = None
+			self.smooth_scroll_timer.cancel()
+			return False
+		return True		   
+
+	def smooth_scroll_timeout(self):
+		gobject.idle_add(self.do_smooth_scroll_timeout)
+		return
+
+	def do_smooth_scroll_timeout(self):
+		if not self.smooth_id:
+			# we finished scrolling
+			return
+		gobject.source_remove(self.smooth_id)
+		self.smooth_id = None
+		parent = self.tv.get_parent()
+		if parent:
+			vadj = parent.get_vadjustment()
+			vadj.set_value(vadj.upper - vadj.page_size + 1)
+
+	def smooth_scroll_to_end(self):
+		if None != self.smooth_id: # already scrolling
+			return False
+		self.smooth_id = gobject.timeout_add(self.SCROLL_DELAY,
+											 self.smooth_scroll)
+		self.smooth_scroll_timer = Timer(self.MAX_SCROLL_TIME,
+										 self.smooth_scroll_timeout)
+		self.smooth_scroll_timer.start()
+		return False
+
 	def scroll_to_end(self):
 		parent = self.tv.get_parent()
 		buffer = self.tv.get_buffer()
@@ -192,7 +353,9 @@ class ConversationTextview:
 		adjustment.set_value(0)
 		return False # when called in an idle_add, just do it once
 
-	def bring_scroll_to_end(self, diff_y = 0):
+	def bring_scroll_to_end(self, diff_y = 0,\
+							use_smooth =\
+							gajim.config.get('use_smooth_scrolling')):
 		''' scrolls to the end of textview if end is not visible '''
 		buffer = self.tv.get_buffer()
 		end_iter = buffer.get_end_iter()
@@ -200,7 +363,10 @@ class ConversationTextview:
 		visible_rect = self.tv.get_visible_rect()
 		# scroll only if expected end is not visible
 		if end_rect.y >= (visible_rect.y + visible_rect.height + diff_y):
-			gobject.idle_add(self.scroll_to_end_iter)
+			if use_smooth:
+				gobject.idle_add(self.smooth_scroll_to_end)
+			else:
+				gobject.idle_add(self.scroll_to_end_iter)
 
 	def scroll_to_end_iter(self):
 		buffer = self.tv.get_buffer()
@@ -288,6 +454,32 @@ class ConversationTextview:
 			self.line_tooltip.show_tooltip(_('Text below this line is what has '
 			'been said since the last time you paid attention to this group chat'),	8, position[1] + pointer[1])
 
+	def on_textview_expose_event(self, widget, event):
+		expalloc = event.area
+		exp_x0 = expalloc.x
+		exp_y0 = expalloc.y
+		exp_x1 = exp_x0 + expalloc.width
+		exp_y1 = exp_y0 + expalloc.height
+		
+		try:
+			tryfirst = [self.image_cache[(exp_x0, exp_y0)]]
+		except KeyError:
+			tryfirst = []
+
+		for image in tryfirst + self.images:
+			imgalloc = image.allocation
+			img_x0 = imgalloc.x
+			img_y0 = imgalloc.y
+			img_x1 = img_x0 + imgalloc.width
+			img_y1 = img_y0 + imgalloc.height
+
+			if img_x0 <= exp_x0 and img_y0 <= exp_y0 and \
+			exp_x1 <= img_x1 and exp_y1 <= img_y1:
+				self.image_cache[(img_x0, img_y0)] = image
+				widget.propagate_expose(image, event)
+				return True
+		return False
+
 	def on_textview_motion_notify_event(self, widget, event):
 		'''change the cursor to a hand when we are over a mail or an url'''
 		pointer_x, pointer_y, spam = self.tv.window.get_pointer()
@@ -407,7 +599,7 @@ class ConversationTextview:
 				item.set_property('sensitive', False)
 			else:
 				item = gtk.MenuItem(_('Web _Search for it'))
-				link =  search_link % self.selected_phrase
+				link =	search_link % self.selected_phrase
 				id = item.connect('activate', self.visit_url_from_menuitem, link)
 				self.handlers[id] = item
 			submenu.append(item)
@@ -548,6 +740,7 @@ class ConversationTextview:
 		if event.type == gtk.gdk.BUTTON_PRESS:
 			if event.button == 3: # right click
 				self.make_link_menu(event, kind, href)
+				return True
 			else:
 				# we launch the correct application
 				helpers.launch_browser_mailer(kind, href)
@@ -632,7 +825,7 @@ class ConversationTextview:
 				cwd=gettempdir())
 			exitcode = p.wait()
 
-		if exitcode == 0:	    
+		if exitcode == 0:		
 			p = Popen(['dvips', '-E', '-o', tmpfile + '.ps', tmpfile + '.dvi'],
 				cwd=gettempdir())
 			exitcode = p.wait()
@@ -670,13 +863,14 @@ class ConversationTextview:
 			emot_ascii = possible_emot_ascii_caps
 			end_iter = buffer.get_end_iter()
 			anchor = buffer.create_child_anchor(end_iter)
-			img = gtk.Image()
+			img = TextViewImage(anchor)
 			animations = gajim.interface.emoticons_animations
 			if not emot_ascii in animations:
 				animations[emot_ascii] = gtk.gdk.PixbufAnimation(
 					gajim.interface.emoticons[emot_ascii])
 			img.set_from_animation(animations[emot_ascii])
 			img.show()
+			self.images.append(img)
 			# add with possible animation
 			self.tv.add_child_at_anchor(img, anchor)
 		#FIXME: one day, somehow sync with regexp in gajim.py
@@ -857,7 +1051,10 @@ class ConversationTextview:
 		if at_the_end or kind == 'outgoing':
 			# we are at the end or we are sending something
 			# scroll to the end (via idle in case the scrollbar has appeared)
-			gobject.idle_add(self.scroll_to_end)
+			if gajim.config.get('use_smooth_scrolling'):
+				gobject.idle_add(self.smooth_scroll_to_end)
+			else:
+				gobject.idle_add(self.scroll_to_end)
 
 		buffer.end_user_action()
 
diff --git a/src/dataforms_widget.py b/src/dataforms_widget.py
index 19fb91c1867ee9b4406a8b2e024401ce9838521d..95f60ab8b873800bb3da43ada14ececde6c1c1a2 100644
--- a/src/dataforms_widget.py
+++ b/src/dataforms_widget.py
@@ -1,42 +1,51 @@
 ##	dataforms.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <nkour@jabber.org>
 ## Copyright (C) 2005 Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2003-2005 Vincent Hanquez <tab@snarc.org>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
-""" This module contains widget that can display data form (JEP-0004).
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
+''' This module contains widget that can display data form (JEP-0004).
 Words single and multiple refers here to types of data forms:
 single means these with one record of data (without <reported/> element),
-multiple - these which may contain more data (with <reported/> element)."""
+multiple - these which may contain more data (with <reported/> element).'''
 
 import gtk
+import gobject
 
 import gtkgui_helpers
+import dialogs
 
 import common.dataforms as dataforms
+from common import helpers
 
 import itertools
 
 class DataFormWidget(gtk.Alignment, object):
 # "public" interface
-	""" Data Form widget. Use like any other widget. """
+	''' Data Form widget. Use like any other widget. '''
 	def __init__(self, dataformnode=None):
-		""" Create a widget. """
+		''' Create a widget. '''
 		gtk.Alignment.__init__(self, xscale=1.0, yscale=1.0)
 
 		self._data_form = None
 
-		self.xml=gtkgui_helpers.get_glade('data_form_window.glade', 'data_form_vbox')
+		self.xml = gtkgui_helpers.get_glade('data_form_window.glade',
+			'data_form_vbox')
 		self.xml.signal_autoconnect(self)
 		for name in ('instructions_label', 'instructions_hseparator',
 				'single_form_viewport', 'data_form_types_notebook',
@@ -55,7 +64,7 @@ class DataFormWidget(gtk.Alignment, object):
 		selection.set_mode(gtk.SELECTION_MULTIPLE)
 
 	def set_data_form(self, dataform):
-		""" Set the data form (xmpp.DataForm) displayed in widget. """
+		''' Set the data form (xmpp.DataForm) displayed in widget. '''
 		assert isinstance(dataform, dataforms.DataForm)
 
 		self.del_data_form()
@@ -66,14 +75,14 @@ class DataFormWidget(gtk.Alignment, object):
 			self.build_multiple_data_form()
 
 		# create appropriate description for instructions field if there isn't any
-		if dataform.instructions=='':
+		if dataform.instructions == '':
 			self.instructions_label.set_no_show_all(True)
 			self.instructions_label.hide()
 		else:
 			self.instructions_label.set_text(dataform.instructions)
 
 	def get_data_form(self):
-		""" Data form displayed in the widget or None if no form. """
+		''' Data form displayed in the widget or None if no form. '''
 		return self._data_form
 
 	def del_data_form(self):
@@ -81,20 +90,20 @@ class DataFormWidget(gtk.Alignment, object):
 		self._data_form = None
 
 	data_form = property(get_data_form, set_data_form, del_data_form,
-		"Data form presented in a widget")
+		'Data form presented in a widget')
 
 	def get_title(self):
-		""" Get the title of data form, as a unicode object. If no
-		title or no form, returns u''. Useful for setting window title. """
+		''' Get the title of data form, as a unicode object. If no
+		title or no form, returns u''. Useful for setting window title. '''
 		if self._data_form is not None:
 			if self._data_form.title is not None:
 				return self._data_form.title
 		return u''
 
-	title = property(get_title, None, None, "Data form title")
+	title = property(get_title, None, None, 'Data form title')
 
 	def show(self):
-		""" Treat 'us' as one widget. """
+		''' Treat 'us' as one widget. '''
 		self.show_all()
 
 # "private" methods
@@ -141,23 +150,27 @@ class DataFormWidget(gtk.Alignment, object):
 
 		# creating model for form...
 		fieldtypes = []
+		fieldvars = []
 		for field in self._data_form.reported.iter_fields():
 			# note: we store also text-private and hidden fields,
 			# we just do not display them.
 			# TODO: boolean fields
 			#elif field.type=='boolean': fieldtypes.append(bool)
 			fieldtypes.append(str)
+			fieldvars.append(field.var)
 
 		self.multiplemodel = gtk.ListStore(*fieldtypes)
 
 		# moving all data to model
 		for item in self._data_form.iter_records():
-			# TODO: probably wrong... (.value[s]?, fields not in the same order?)
-			# not checking multiple-item forms...
-			self.multiplemodel.append([field.value for field in item.iter_fields()])
+			iter = self.multiplemodel.append()
+			for field in item.iter_fields():
+				self.multiplemodel.set_value(iter, fieldvars.index(field.var),
+					field.value)
 
 		# constructing columns...
-		for field, counter in zip(self._data_form.reported.iter_fields(), itertools.count()):
+		for field, counter in zip(self._data_form.reported.iter_fields(),
+		itertools.count()):
 			self.records_treeview.append_column(
 				gtk.TreeViewColumn(field.label,	gtk.CellRendererText(),
 					text=counter))
@@ -226,19 +239,21 @@ class DataFormWidget(gtk.Alignment, object):
 
 	def on_remove_button_clicked(self, widget):
 		selection = self.records_treeview.get_selection()
-		model, rowrefs = selection.get_selected_rows()	# rowref is a list of paths
+		model, rowrefs = selection.get_selected_rows()
+		# rowref is a list of paths
 		for i in xrange(len(rowrefs)):
 			rowrefs[i] = gtk.TreeRowReference(model, rowrefs[i])
-		# rowref is a list of row references; need to convert because we will modify the model,
-		# paths would change
+		# rowref is a list of row references; need to convert because we will
+		# modify the model, paths would change
 		for rowref in rowrefs:
 			del model[rowref.get_path()]
-	
+
 	def on_up_button_clicked(self, widget):
 		selection = self.records_treeview.get_selection()
 		model, (path,) = selection.get_selected_rows()
 		iter = model.get_iter(path)
-		previter = model.get_iter((path[0]-1,))	# constructing path for previous iter
+		# constructing path for previous iter
+		previter = model.get_iter((path[0]-1,))
 		model.swap(iter, previter)
 
 		self.refresh_multiple_buttons()
@@ -256,9 +271,9 @@ class DataFormWidget(gtk.Alignment, object):
 		self.refresh_multiple_buttons()
 
 class SingleForm(gtk.Table, object):
-	""" Widget that represent DATAFORM_SINGLE mode form. Because this is used
+	''' Widget that represent DATAFORM_SINGLE mode form. Because this is used
 	not only to display single forms, but to form input windows of multiple-type
-	forms, it is in another class."""
+	forms, it is in another class.'''
 	def __init__(self, dataform):
 		assert isinstance(dataform, dataforms.SimpleDataForm)
 
@@ -269,11 +284,11 @@ class SingleForm(gtk.Table, object):
 		self.tooltips = gtk.Tooltips()
 
 		def decorate_with_tooltip(widget, field):
-			""" Adds a tooltip containing field's description to a widget.
+			''' Adds a tooltip containing field's description to a widget.
 			Creates EventBox if widget doesn't have its own gdk window.
-			Returns decorated widget. """
-			if field.description!='':
-				if widget.flags()&gtk.NO_WINDOW:
+			Returns decorated widget. '''
+			if field.description != '':
+				if widget.flags() & gtk.NO_WINDOW:
 					evbox = gtk.EventBox()
 					evbox.add(widget)
 					widget = evbox
@@ -290,31 +305,32 @@ class SingleForm(gtk.Table, object):
 
 		# for each field...
 		for field in self._data_form.iter_fields():
-			if field.type=='hidden': continue
+			if field.type == 'hidden': continue
 
 			commonlabel = True
 			commonlabelcenter = False
 			commonwidget = True
 			widget = None
 
-			if field.type=='boolean':
+			if field.type == 'boolean':
 				commonlabelcenter = True
 				widget = gtk.CheckButton()
-				widget.connect('toggled', self.on_boolean_checkbutton_toggled, field)
+				widget.connect('toggled', self.on_boolean_checkbutton_toggled,
+					field)
 				widget.set_active(field.value)
 
-			elif field.type=='fixed':
+			elif field.type == 'fixed':
 				leftattach = 1
 				rightattach = 2
 				if field.label is None:
 					commonlabel = False
 					leftattach = 0
 				
-				commonwidget=False
+				commonwidget = False
 				widget = gtk.Label(field.value)
 				widget.set_line_wrap(True)
-				self.attach(widget, leftattach, rightattach, linecounter, linecounter+1,
-					xoptions=gtk.FILL, yoptions=gtk.FILL)
+				self.attach(widget, leftattach, rightattach, linecounter,
+					linecounter+1, xoptions=gtk.FILL, yoptions=gtk.FILL)
 
 			elif field.type == 'list-single':
 				# TODO: What if we have radio buttons and non-required field?
@@ -343,7 +359,8 @@ class SingleForm(gtk.Table, object):
 							f.value = model[iter][1]
 						else:
 							f.value = ''
-					widget = gtkgui_helpers.create_combobox(field.options, field.value)
+					widget = gtkgui_helpers.create_combobox(field.options,
+						field.value)
 					widget.connect('changed', on_list_single_combobox_changed, field)
 				widget.set_sensitive(readwrite)
 
@@ -366,7 +383,8 @@ class SingleForm(gtk.Table, object):
 			elif field.type == 'jid-multi':
 				commonwidget = False
 
-				xml = gtkgui_helpers.get_glade('data_form_window.glade', 'item_list_table')
+				xml = gtkgui_helpers.get_glade('data_form_window.glade',
+					'item_list_table')
 				widget = xml.get_widget('item_list_table')
 				treeview = xml.get_widget('item_treeview')
 
@@ -380,7 +398,8 @@ class SingleForm(gtk.Table, object):
 				renderer = gtk.CellRendererText()
 				renderer.set_property('editable', True)
 				renderer.connect('edited',
-					self.on_jid_multi_cellrenderertext_edited, listmodel, field)
+					self.on_jid_multi_cellrenderertext_edited, treeview, listmodel,
+					field)
 
 				treeview.append_column(gtk.TreeViewColumn(None, renderer,
 					text=0))
@@ -423,10 +442,10 @@ class SingleForm(gtk.Table, object):
 
 				textwidget = gtk.TextView()
 				textwidget.set_wrap_mode(gtk.WRAP_WORD)
-				textwidget.get_buffer().connect('changed', self.on_text_multi_textbuffer_changed,
-					field)
+				textwidget.get_buffer().connect('changed',
+					self.on_text_multi_textbuffer_changed, field)
 				textwidget.get_buffer().set_text(field.value)
-				
+
 				widget = gtk.ScrolledWindow()
 				widget.add(textwidget)
 
@@ -434,13 +453,15 @@ class SingleForm(gtk.Table, object):
 				widget=decorate_with_tooltip(widget, field)
 				self.attach(widget, 1, 2, linecounter, linecounter+1)
 
-			else:# field.type == 'text-single' or field.type is nonstandard:
+			else:
+				# field.type == 'text-single' or field.type is nonstandard:
 				# JEP says that if we don't understand some type, we
 				# should handle it as text-single
 				commonlabelcenter = True
 				if readwrite:
 					widget = gtk.Entry()
-					widget.connect('changed', self.on_text_single_entry_changed, field)
+					widget.connect('changed', self.on_text_single_entry_changed,
+						field)
 					widget.set_sensitive(readwrite)
 					if field.value is None:
 						field.value = u''
@@ -501,8 +522,22 @@ class SingleForm(gtk.Table, object):
 			widget.get_start_iter(),
 			widget.get_end_iter())
 
-	def on_jid_multi_cellrenderertext_edited(self, cell, path, newtext, model, field):
-		old=model[path][0]
+	def on_jid_multi_cellrenderertext_edited(self, cell, path, newtext, treeview,
+	model, field):
+		old = model[path][0]
+		if old == newtext:
+			return
+		try:
+			newtext = helpers.parse_jid(newtext)
+		except helpers.InvalidFormat, s:
+			dialogs.ErrorDialog(_('Invalid Jabber ID'), str(s))
+			return
+		if newtext in field.values:
+			dialogs.ErrorDialog(
+				_('Jabber ID already in list'),
+				_('The Jabber ID you entered is already in the list. Choose another one.'))
+			gobject.idle_add(treeview.set_cursor, path)
+			return
 		model[path][0]=newtext
 
 		values = field.values
@@ -510,9 +545,16 @@ class SingleForm(gtk.Table, object):
 		field.values = values
 
 	def on_jid_multi_add_button_clicked(self, widget, treeview, model, field):
-		iter = model.insert(999999, ("new@jabber.id",))
+		#Default jid
+		jid = _('new@jabber.id')
+		if jid in field.values:
+			i = 1
+			while _('new%d@jabber.id') % i in field.values:
+				i += 1
+			jid = _('new%d@jabber.id') % i
+		iter = model.insert(999999, (jid,))
 		treeview.set_cursor(model.get_path(iter), treeview.get_column(0), True)
-		field.values = field.values + ["new@jabber.id"]
+		field.values = field.values + [jid]
 
 	def on_jid_multi_edit_button_clicked(self, widget, treeview):
 		model, iter = treeview.get_selection().get_selected()
diff --git a/src/dialogs.py b/src/dialogs.py
index c264adbcdafc7b859cede1f5fcf7e4068e95902e..e50b3abbda166244ebfca10a45cdb09e09c9839b 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -1,24 +1,30 @@
 # -*- coding: utf-8 -*-
 ##	dialogs.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2003-2004 Vincent Hanquez <tab@snarc.org>
 ## Copyright (C) 2005-2007 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005 Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2005-2006 Travis Shirk <travis@pobox.com>
 ## Copyright (C) 2005 Norman Rasmussen <norman@rasmussen.co.za>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
-## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
+##                    Julien Pivotto <roidelapluie@gmail.com>
+##                    Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gobject
@@ -28,6 +34,9 @@ import gtkgui_helpers
 import vcard
 import conversation_textview
 import message_control
+import dataforms_widget
+
+from random import randrange
 
 try:
 	import gtkspell
@@ -43,6 +52,7 @@ from advanced import AdvancedConfigurationWindow
 
 from common import gajim
 from common import helpers
+from common import dataforms
 from common.exceptions import GajimGeneralException
 
 class EditGroupsDialog:
@@ -197,7 +207,7 @@ class EditGroupsDialog:
 		for group in groups:
 			if group not in helpers.special_groups or groups[group] > 0:
 				group_list.append(group)
-		group_list.sort()			
+		group_list.sort()	
 		for group in group_list:
 			iter = store.append()
 			store.set(iter, 0, group) # Group name
@@ -235,22 +245,71 @@ class PassphraseDialog:
 			passphrase = self.passphrase_entry.get_text().decode('utf-8')
 		else:
 			passphrase = -1
-		save_passphrase_checkbutton = self.xml.\
-			get_widget('save_passphrase_checkbutton')
+
+		if self.check:
+			save_passphrase_checkbutton = self.xml.\
+				get_widget('save_passphrase_checkbutton')
+			checked = save_passphrase_checkbutton.get_active()
+		else:
+			checked = False
+
 		self.window.destroy()
-		return passphrase, save_passphrase_checkbutton.get_active()
+		return passphrase, checked
 
-	def __init__(self, titletext, labeltext, checkbuttontext):
+	def __init__(self, titletext, labeltext, checkbuttontext=None, is_modal = True, 
+	ok_handler = None, cancel_handler = None):
 		self.xml = gtkgui_helpers.get_glade('passphrase_dialog.glade')
 		self.window = self.xml.get_widget('passphrase_dialog')
 		self.passphrase_entry = self.xml.get_widget('passphrase_entry')
 		self.passphrase = -1
 		self.window.set_title(titletext)
 		self.xml.get_widget('message_label').set_text(labeltext)
-		self.xml.get_widget('save_passphrase_checkbutton').set_label(
-			checkbuttontext)
+
+		self.ok = False
+
+		self.cancel_handler = cancel_handler
+		self.is_modal = is_modal
+		if not is_modal and ok_handler is not None:
+			self.ok_handler = ok_handler
+			okbutton = self.xml.get_widget('ok_button')
+			okbutton.connect('clicked', self.on_okbutton_clicked)
+			cancelbutton = self.xml.get_widget('cancel_button')
+			cancelbutton.connect('clicked', self.on_cancelbutton_clicked)
+
 		self.xml.signal_autoconnect(self)
 		self.window.show_all()
+		
+		self.check = bool(checkbuttontext)
+		checkbutton =	self.xml.get_widget('save_passphrase_checkbutton')
+		if self.check:
+			checkbutton.set_label(checkbuttontext)
+		else:
+			checkbutton.hide()
+	
+	def on_okbutton_clicked(self, widget):
+		passph = self.passphrase_entry.get_text().decode('utf-8')
+
+		if self.check:
+			checked = self.xml.get_widget('save_passphrase_checkbutton').\
+				get_active()
+		else:
+			checked = False
+
+		self.ok = True
+
+		self.window.destroy()
+
+		if isinstance(self.ok_handler, tuple):
+			self.ok_handler[0](passph, checked, *self.ok_handler[1:])
+		else:
+			self.ok_handler(passph, checked)
+
+	def on_cancelbutton_clicked(self, widget):
+		self.window.destroy()
+
+	def on_passphrase_dialog_destroy(self, widget):
+		if self.cancel_handler and not self.ok:
+			self.cancel_handler()
 
 class ChooseGPGKeyDialog:
 	'''Class for GPG key dialog'''
@@ -268,11 +327,13 @@ class ChooseGPGKeyDialog:
 		self.keys_treeview.set_model(model)
 		#columns
 		renderer = gtk.CellRendererText()
-		self.keys_treeview.insert_column_with_attributes(-1, _('KeyID'),
+		col = self.keys_treeview.insert_column_with_attributes(-1, _('KeyID'),
 			renderer, text = 0)
+		col.set_sort_column_id(0)
 		renderer = gtk.CellRendererText()
-		self.keys_treeview.insert_column_with_attributes(-1, _('Contact name'),
-			renderer, text = 1)
+		col = self.keys_treeview.insert_column_with_attributes(-1,
+			_('Contact name'), renderer, text = 1)
+		col.set_sort_column_id(1)
 		self.keys_treeview.set_search_column(1)
 		self.fill_tree(secret_keys, selected)
 		self.window.show_all()
@@ -520,7 +581,7 @@ class ChangeStatusMessageDialog:
 	def on_change_status_message_dialog_key_press_event(self, widget, event):
 		self.countdown_enabled = False
 		if event.keyval == gtk.keysyms.Return or \
-		event.keyval == gtk.keysyms.KP_Enter:  # catch CTRL+ENTER
+		event.keyval == gtk.keysyms.KP_Enter: # catch CTRL+ENTER
 			if (event.state & gtk.gdk.CONTROL_MASK):
 				self.window.response(gtk.RESPONSE_OK)
 				# Stop the event
@@ -555,14 +616,14 @@ class ChangeStatusMessageDialog:
 				resp = dlg2.run()
 				if resp != gtk.RESPONSE_OK:
 					return
+				self.preset_messages_dict[msg_name] = msg_text
 			else:
+				self.preset_messages_dict[msg_name] = msg_text
 				iter_ = self.message_liststore.append((msg_name,))
 				gajim.config.add_per('statusmsg', msg_name)
 				# select in combobox the one we just saved 
 				self.message_combobox.set_active_iter(iter_)
 			gajim.config.set_per('statusmsg', msg_name, 'message', msg_text_1l)
-			self.preset_messages_dict[msg_name] = msg_text
-
 
 class AddNewContactWindow:
 	'''Class for AddNewContactWindow'''
@@ -597,6 +658,7 @@ class AddNewContactWindow:
 			return
 		location['add_contact'] = self
 		self.xml = gtkgui_helpers.get_glade('add_new_contact_window.glade')
+		self.xml.signal_autoconnect(self)
 		self.window = self.xml.get_widget('add_new_contact_window')
 		for w in ('account_combobox', 'account_hbox', 'account_label',
 		'uid_label', 'uid_entry', 'protocol_combobox', 'protocol_jid_combobox',
@@ -668,7 +730,6 @@ _('Please fill in the data of the contact you want to add in account %s') %accou
 		self.auto_authorize_checkbutton.show()
 		liststore = gtk.ListStore(str)
 		self.protocol_jid_combobox.set_model(liststore)
-		self.xml.signal_autoconnect(self)
 		if jid:
 			type_ = gajim.get_transport_name_from_jid(jid)
 			if not type_:
@@ -718,18 +779,17 @@ _('Please fill in the data of the contact you want to add in account %s') %accou
 				self.group_comboboxentry.set_active(i)
 			i += 1
 
+		self.window.show_all()
+
 		if self.account:
 			self.account_label.hide()
 			self.account_hbox.hide()
-			self.account_label.set_no_show_all(True)
-			self.account_hbox.set_no_show_all(True)
 		else:
 			liststore = gtk.ListStore(str, str)
 			for acct in accounts:
 				liststore.append([acct, acct])
 			self.account_combobox.set_model(liststore)
 			self.account_combobox.set_active(0)
-		self.window.show_all()
 
 	def on_add_new_contact_window_destroy(self, widget):
 		if self.account:
@@ -820,8 +880,7 @@ _('Please fill in the data of the contact you want to add in account %s') %accou
 				model.append([jid_])
 			self.protocol_jid_combobox.set_active(0)
 		if len(self.agents[type_]) > 1:
-			self.protocol_jid_combobox.set_no_show_all(False)
-			self.protocol_jid_combobox.show_all()
+			self.protocol_jid_combobox.show()
 		else:
 			self.protocol_jid_combobox.hide()
 		if type_ in self.uid_labels:
@@ -833,8 +892,7 @@ _('Please fill in the data of the contact you want to add in account %s') %accou
 		else:
 			self.message_scrolledwindow.hide()
 		if type_ in self.available_types:
-			self.register_hbox.set_no_show_all(False)
-			self.register_hbox.show_all()
+			self.register_hbox.show()
 			self.auto_authorize_checkbutton.hide()
 			self.connected_label.hide()
 			self.subscription_table.hide()
@@ -851,8 +909,7 @@ _('Please fill in the data of the contact you want to add in account %s') %accou
 					self.add_button.set_sensitive(False)
 					self.auto_authorize_checkbutton.hide()
 					return
-			self.subscription_table.set_no_show_all(False)
-			self.subscription_table.show_all()
+			self.subscription_table.show()
 			self.auto_authorize_checkbutton.show()
 			self.connected_label.hide()
 			self.add_button.set_sensitive(True)
@@ -861,13 +918,14 @@ _('Please fill in the data of the contact you want to add in account %s') %accou
 		if self.protocol_jid_combobox.get_active_text() == jid:
 			self.register_hbox.hide()
 			self.connected_label.hide()
-			self.subscription_table.set_no_show_all(False)
-			self.subscription_table.show_all()
+			self.subscription_table.show()
+			self.auto_authorize_checkbutton.show()
 			self.add_button.set_sensitive(True)
 
 	def transport_signed_out(self, jid):
 		if self.protocol_jid_combobox.get_active_text() == jid:
 			self.subscription_table.hide()
+			self.auto_authorize_checkbutton.hide()
 			self.connected_label.show()
 			self.add_button.set_sensitive(False)
 
@@ -942,7 +1000,9 @@ class AboutDialog:
 		artists = ['Anders Ström', 'Christophe Got', 'Dennis Craven',
 			'Guillaume Morin', 'Josef Vybíral', 'Membris Khan']
 		dlg.set_artists(artists)
+		gobject.idle_add(self.dorun, dlg)
 
+	def dorun(self, dlg):
 		rep = dlg.run()
 		dlg.destroy()
 
@@ -1084,20 +1144,56 @@ class ConfirmationDialog(HigDialog):
 	'''HIG compliant confirmation dialog.'''
 	def __init__(self, pritext, sectext='', on_response_ok = None,
 	on_response_cancel = None):
+		self.user_response_ok = on_response_ok
+		self.user_response_cancel = on_response_cancel
 		HigDialog.__init__(self, None, 
 			gtk.MESSAGE_QUESTION, gtk.BUTTONS_OK_CANCEL, pritext, sectext,
-			on_response_ok, on_response_cancel)
+			self.on_response_ok, self.on_response_cancel)
 		self.popup()
 
+	def on_response_ok(self, widget):
+		if self.user_response_ok:
+			if isinstance(self.user_response_ok, tuple):
+				self.user_response_ok[0](*self.user_response_ok[1:])
+			else:
+				self.user_response_ok()
+		self.destroy()
+
+	def on_response_cancel(self, widget):
+		if self.user_response_cancel:
+			if isinstance(self.user_response_cancel, tuple):
+				self.user_response_cancel[0](*self.user_response_ok[1:])
+			else:
+				self.user_response_cancel()
+		self.destroy()
+
 class NonModalConfirmationDialog(HigDialog):
 	'''HIG compliant non modal confirmation dialog.'''
 	def __init__(self, pritext, sectext='', on_response_ok = None,
 	on_response_cancel = None):
+		self.user_response_ok = on_response_ok
+		self.user_response_cancel = on_response_cancel
 		HigDialog.__init__(self, None, 
 			gtk.MESSAGE_QUESTION, gtk.BUTTONS_OK_CANCEL, pritext, sectext,
-			on_response_ok, on_response_cancel)
+			self.on_response_ok, self.on_response_cancel)
 		self.set_modal(False)
 
+	def on_response_ok(self, widget):
+		if self.user_response_ok:
+			if isinstance(self.user_response_ok, tuple):
+				self.user_response_ok[0](*self.user_response_ok[1:])
+			else:
+				self.user_response_ok()
+		self.destroy()
+
+	def on_response_cancel(self, widget):
+		if self.user_response_cancel:
+			if isinstance(self.user_response_cancel, tuple):
+				self.user_response_cancel[0](*self.user_response_cancel[1:])
+			else:
+				self.user_response_cancel()
+		self.destroy()
+
 class WarningDialog(HigDialog):
 	def __init__(self, pritext, sectext=''):
 		'''HIG compliant warning dialog.'''
@@ -1130,15 +1226,19 @@ class YesNoDialog(HigDialog):
 		HigDialog.__init__( self, None, 
 			gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, pritext, sectext,
 				on_response_yes = on_response_yes, on_response_no = on_response_no)
+		self.set_modal(False)
 		self.popup()
 
 class ConfirmationDialogCheck(ConfirmationDialog):
 	'''HIG compliant confirmation dialog with checkbutton.'''
 	def __init__(self, pritext, sectext='', checktext = '',
-	on_response_ok = None, on_response_cancel = None):
+	on_response_ok = None, on_response_cancel = None, is_modal = True):
+		self.user_response_ok = on_response_ok
+		self.user_response_cancel = on_response_cancel
+
 		HigDialog.__init__(self, None, gtk.MESSAGE_QUESTION,
-			gtk.BUTTONS_OK_CANCEL, pritext, sectext, on_response_ok,
-			on_response_cancel)
+			gtk.BUTTONS_OK_CANCEL, pritext, sectext, self.on_response_ok,
+			self.on_response_cancel)
 
 		self.set_default_response(gtk.RESPONSE_OK)
 
@@ -1147,8 +1247,28 @@ class ConfirmationDialogCheck(ConfirmationDialog):
 
 		self.checkbutton = gtk.CheckButton(checktext)
 		self.vbox.pack_start(self.checkbutton, expand = False, fill = True)
+		self.set_modal(is_modal)
 		self.popup()
 
+	# XXX should cancel if somebody closes the dialog
+
+	def on_response_ok(self, widget):
+		if self.user_response_ok:
+			if isinstance(self.user_response_ok, tuple):
+				self.user_response_ok[0](self.is_checked(),
+					*self.user_response_ok[1:])
+			else:
+				self.user_response_ok(self.is_checked())
+		self.destroy()
+
+	def on_response_cancel(self, widget):
+		if self.user_response_cancel:
+			if isinstance(self.user_response_cancel, tuple):
+				self.user_response_cancel[0](*self.user_response_ok[1:])
+			else:
+				self.user_response_cancel()
+		self.destroy()
+
 	def is_checked(self):
 		''' Get active state of the checkbutton '''
 		return self.checkbutton.get_active()
@@ -1408,6 +1528,9 @@ class JoinGroupchatWindow:
 		if len(self._empty_required_widgets):
 			self.xml.get_widget('join_button').set_sensitive(False)
 
+		if not gajim.connections[account].private_storage_supported:
+			self.xml.get_widget('auto_join_checkbutton').set_sensitive(False)
+
 		self.window.show_all()
 
 	def on_join_groupchat_window_destroy(self, widget):
@@ -1544,7 +1667,7 @@ class SynchroniseSelectAccountDialog:
 		if not iter:
 			return
 		remote_account = model.get_value(iter, 0).decode('utf-8')
-		
+
 		if gajim.connections[remote_account].connected < 2:
 			ErrorDialog(_('This account is not connected to the server'),
 				_('You cannot synchronize with an account unless it is connected.'))
@@ -1643,7 +1766,7 @@ class NewChatDialog(InputDialog):
 		keys.sort()
 		for jid in keys:
 			contact = self.completion_dict[jid]
-			img =  gajim.interface.roster.jabber_state_images['16'][contact.show]
+			img = gajim.interface.roster.jabber_state_images['16'][contact.show]
 			liststore.append((img.get_pixbuf(), jid))
 
 		self.ok_handler = self.new_chat_response
@@ -1825,8 +1948,11 @@ class SingleMessageWindow:
 	singled message depending on action argument which can be 'send'
 	or 'receive'.
 	'''
-	def __init__(self, account, to = '', action = '', from_whom = '',
-	subject = '', message = '', resource = ''):
+	# Keep a reference on windows so garbage collector don't restroy them
+	instances = []
+	def __init__(self, account, to='', action='', from_whom='', subject='',
+	message='', resource='', session=None, form_node=None):
+		self.instances.append(self)
 		self.account = account
 		self.action = action
 
@@ -1835,6 +1961,7 @@ class SingleMessageWindow:
 		self.to = to
 		self.from_whom = from_whom
 		self.resource = resource
+		self.session = session
 
 		self.xml = gtkgui_helpers.get_glade('single_message_window.glade')
 		self.window = self.xml.get_widget('single_message_window')
@@ -1856,6 +1983,18 @@ class SingleMessageWindow:
 		self.conversation_tv_buffer = self.conversation_textview.tv.get_buffer()
 		self.xml.get_widget('conversation_scrolledwindow').add(
 			self.conversation_textview.tv)
+
+		self.form_widget = None
+		parent_box = self.xml.get_widget('conversation_scrolledwindow').get_parent()
+		if form_node:
+			dataform = dataforms.ExtendForm(node = form_node)
+			self.form_widget = dataforms_widget.DataFormWidget(dataform)
+			self.form_widget.show_all()
+			parent_box.add(self.form_widget)
+			parent_box.child_set_property(self.form_widget, 'position',
+				parent_box.child_get_property(self.xml.get_widget('conversation_scrolledwindow'), 'position'))
+			self.action = 'form'
+
 		self.send_button = self.xml.get_widget('send_button')
 		self.reply_button = self.xml.get_widget('reply_button')
 		self.send_and_close_button = self.xml.get_widget('send_and_close_button')
@@ -1878,7 +2017,7 @@ class SingleMessageWindow:
 					spell1.set_language(lang)
 					spell2.set_language(lang)
 			except gobject.GError, msg:
-				dialogs.AspellDictError(lang)
+				AspellDictError(lang)
 
 		self.prepare_widgets_for(self.action)
 
@@ -1912,6 +2051,9 @@ class SingleMessageWindow:
 				gajim.config.get('single-msg-height'))
 		self.window.show_all()
 
+	def on_single_message_window_destroy(self, widget):
+		self.instances.remove(self)
+
 	def set_cursor_to_end(self):
 			end_iter = self.message_tv_buffer.get_end_iter()
 			self.message_tv_buffer.place_cursor(end_iter)
@@ -1985,6 +2127,17 @@ class SingleMessageWindow:
 			self.reply_button.grab_focus()
 			self.cancel_button.hide()
 			self.close_button.show()
+		elif action == 'form': # prepare UI for Receiving
+			title = _('Form %s') % title 
+			self.send_button.show() 
+			self.send_and_close_button.show() 
+			self.to_label.show() 
+			self.to_entry.show() 
+			self.reply_button.hide() 
+			self.from_label.hide() 
+			self.from_entry.hide() 
+			self.conversation_scrolledwindow.hide() 
+			self.message_scrolledwindow.hide() 
 
 		self.window.set_title(title)
 
@@ -2023,9 +2176,19 @@ class SingleMessageWindow:
 					message)
 				return
 
+			if self.session:
+				session = self.session
+			else:
+				session = gajim.connections[self.account].make_new_session(to_whom_jid)
+
+			if self.form_widget:
+				form_node = self.form_widget.data_form
+			else:
+				form_node = None
 			# FIXME: allow GPG message some day
 			gajim.connections[self.account].send_message(to_whom_jid, message,
-				keyID = None, type = 'normal', subject=subject)
+				keyID=None, type='normal', subject=subject, session=session,
+				form_node=form_node)
 
 		self.subject_entry.set_text('') # we sent ok, clear the subject
 		self.message_tv_buffer.set_text('') # we sent ok, clear the textview
@@ -2042,7 +2205,7 @@ class SingleMessageWindow:
 		self.window.destroy()
 		SingleMessageWindow(self.account, to = self.from_whom,
 			action = 'send',	from_whom = self.from_whom, subject = self.subject,
-			message = self.message)
+			message = self.message, session = self.session)
 
 	def on_send_and_close_button_clicked(self, widget):
 		self.send_single_message()
@@ -2228,7 +2391,6 @@ class PrivacyListWindow:
 		jid_entry_completion.set_model(jids_list_store)
 		jid_entry_completion.set_popup_completion(True)
 		self.edit_type_jabberid_entry.set_completion(jid_entry_completion)
-
 		if action == 'EDIT':
 			self.refresh_rules()
 
@@ -2470,101 +2632,6 @@ class PrivacyListWindow:
 	def on_close_button_clicked(self, widget):
 		self.window.destroy()
 
-class BlockedContactsWindow:
-	'''Window that is the main window for ContactWindows;'''
-	def __init__(self, account):
-		self.account = account
-		self.xml = gtkgui_helpers.get_glade('blocked_contacts_window.glade')
-		self.window = self.xml.get_widget('blocked_contacts_window')
-		self.remove_button = self.xml.get_widget('remove_button')
-		self.contacts_treeview = self.xml.get_widget('contacts_treeview')
-		renderer = gtk.CellRendererText()
-		
-		self.store = gtk.ListStore(str)
-		self.contacts_treeview.set_model(self.store)
-		
-		column = gtk.TreeViewColumn('Contact', renderer, text=0)
-		self.contacts_treeview.append_column(column)
-	
-		if len(gajim.connections) > 1:
-			title = _('Blocked Contacts for %s') % self.account
-		else:
-			title = _('Blocked Contacts')
-		self.window.set_title(title)
-		self.window.show_all()
-		self.xml.signal_autoconnect(self)
-		gajim.connections[self.account].get_privacy_list('block')
-	
-	def on_blocked_contacts_window_destroy(self, widget):
-		key_name = 'blocked_contacts'
-		if key_name in gajim.interface.instances[self.account]:
-			del gajim.interface.instances[self.account][key_name]
-
-	def on_remove_button_clicked(self, widget):
-		if self.contacts_treeview.get_selection().get_selected()[1] == None:
-			return
-		tags = []
-		rule_selected = self.store.get_path(
-			self.contacts_treeview.get_selection().get_selected()[1])[0]
-		for i in range(0, len(self.global_rules)):
-			if i != rule_selected:
-				tags.append(self.global_rules[i])
-			else:
-				deleted_rule = self.global_rules[i]
-		for rule in self.global_rules_to_append:
-			tags.append(rule)
-		gajim.connections[self.account].set_privacy_list(
-			'block', tags)
-		gajim.connections[self.account].get_privacy_list('block')
-		if len(tags) == 0:
-			self.privacy_list_received([])
-			gajim.connections[self.account].blocked_contacts = []
-			gajim.connections[self.account].blocked_groups = []
-			gajim.connections[self.account].blocked_list = []
-			gajim.connections[self.account].set_default_list('')
-			gajim.connections[self.account].set_active_list('')
-			gajim.connections[self.account].del_privacy_list('block')
-		status = gajim.connections[self.account].connected
-		msg = gajim.connections[self.account].status
-		show = gajim.SHOW_LIST[gajim.connections[self.account].connected]
-		if deleted_rule['type'] == 'jid':
-			jid = deleted_rule['value']
-			gajim.connections[self.account].send_custom_status(show, msg, jid)
-			# needed for draw_contact:
-			if jid in gajim.connections[self.account].blocked_contacts:
-				gajim.connections[self.account].blocked_contacts.remove(jid)
-			gajim.interface.roster.draw_contact(jid, self.account)
-		else:
-			group = deleted_rule['value']
-			# needed for draw_group:
-			if group in gajim.connections[self.account].blocked_groups:
-				gajim.connections[self.account].blocked_groups.remove(group)
-			gajim.interface.roster.draw_group(group, self.account)
-			for jid in gajim.contacts.get_jid_list(self.account):
-				contact = gajim.contacts.get_contact_with_highest_priority(
-					self.account, jid)
-				if group in contact.groups:
-					gajim.connections[self.account].send_custom_status(show, msg,
-						contact.jid)
-					gajim.interface.roster.draw_contact(contact.jid, self.account)
-	
-	def privacy_list_received(self, rules):
-		self.store.clear()
-		self.global_rules = []
-		self.global_rules_to_append = []
-		for rule in rules:
-			if rule['type'] == 'jid' and rule['action'] == 'deny':
-				#self.global_rules[text_item] = rule
-				self.store.append([rule['value']])
-				self.global_rules.append(rule)
-			elif rule['type'] == 'group' and rule['action'] == 'deny':
-				text_item = _('Group %s') % rule['value']
-				self.store.append([text_item])
-				self.global_rules.append(rule)
-			else:
-				self.global_rules_to_append.append(rule)
-
-
 class PrivacyListsWindow:
 	'''Window that is the main window for Privacy Lists;
 	we can list there the privacy lists and ask to create a new one
@@ -2688,17 +2755,21 @@ class PrivacyListsWindow:
 
 class InvitationReceivedDialog:
 	def __init__(self, account, room_jid, contact_jid, password = None,
-	comment = None):
+	comment = None, is_continued = False):
 
 		self.room_jid = room_jid
 		self.account = account
 		self.password = password
+		self.is_continued = is_continued
 		xml = gtkgui_helpers.get_glade('invitation_received_dialog.glade')
 		self.dialog = xml.get_widget('invitation_received_dialog')
 
 		#Don't translate $Contact
-		pritext = _('$Contact has invited you to group chat %(room_jid)s')\
-			% {'room_jid': room_jid}
+		if is_continued:
+			pritext = _('$Contact has invited you to join a discussion')
+		else:
+			pritext = _('$Contact has invited you to group chat %(room_jid)s')\
+				% {'room_jid': room_jid}
 		contact = gajim.contacts.get_first_contact_from_jid(account, contact_jid)
 		if contact and contact.name:
 			contact_text = '%s (%s)' % (contact.name, contact_jid)
@@ -2709,6 +2780,7 @@ class InvitationReceivedDialog:
 		label_text = '<big><b>%s</b></big>' % pritext
 
 		if comment: # only if not None and not ''
+			comment = gobject.markup_escape_text(comment)
 			sectext = _('Comment: %s') % comment
 			label_text += '\n\n%s' % sectext
 
@@ -2726,8 +2798,11 @@ class InvitationReceivedDialog:
 	def on_accept_button_clicked(self, widget):
 		self.dialog.destroy()
 		try:
-			JoinGroupchatWindow(self.account, self.room_jid,
-				password=self.password)
+			if self.is_continued:
+				gajim.interface.roster.join_gc_room(self.account, self.room_jid,
+					gajim.nicks[self.account], None, is_continued=True)
+			else:
+				JoinGroupchatWindow(self.account, self.room_jid)
 		except GajimGeneralException:
 			pass
 
@@ -2829,6 +2904,9 @@ class ImageChooserDialog(FileChooserDialog):
 			on_response_ok = (on_ok, on_response_ok),
 			on_response_cancel = on_response_cancel)
 
+		if on_response_cancel:
+			self.connect('destroy', on_response_cancel)
+
 		filter = gtk.FileFilter()
 		filter.set_name(_('All files'))
 		filter.add_pattern('*')
@@ -2840,6 +2918,7 @@ class ImageChooserDialog(FileChooserDialog):
 		filter.add_mime_type('image/jpeg')
 		filter.add_mime_type('image/gif')
 		filter.add_mime_type('image/tiff')
+		filter.add_mime_type('image/svg+xml')
 		filter.add_mime_type('image/x-xpixmap') # xpm
 		self.add_filter(filter)
 		self.set_filter(filter)
@@ -3394,3 +3473,134 @@ class AdvancedNotificationsWindow:
 
 	def on_close_window(self, widget):
 		self.window.destroy()
+
+class TransformChatToMUC:
+	# Keep a reference on windows so garbage collector don't restroy them
+	instances = []
+	def __init__(self, account, jids, preselected = None):
+		'''This window is used to trasform a one-to-one chat to a MUC.
+		We do 2 things: first select the server and then make a guests list.'''
+
+		self.instances.append(self)
+		self.account = account
+		self.auto_jids = jids
+		self.preselected_jids = preselected
+
+		self.xml = gtkgui_helpers.get_glade('chat_to_muc_window.glade')
+		self.window = self.xml.get_widget('chat_to_muc_window')
+
+		for widget_to_add in ('invite_button', 'cancel_button',
+		'server_list_comboboxentry', 'guests_treeview',
+		'server_and_guests_hseparator', 'server_select_label'):
+			self.__dict__[widget_to_add] = self.xml.get_widget(widget_to_add)
+
+		# set comboboxentry
+		renderer_servers = gtk.CellRendererText()
+
+		server_list = []
+		self.servers = gtk.ListStore(str)
+		self.server_list_comboboxentry.set_model(self.servers)
+
+		self.server_list_comboboxentry.set_text_column(0)
+
+		# get the muc server of our server
+		if 'jabber' in gajim.connections[account].muc_jid:
+			server_list.append(gajim.connections[account].muc_jid['jabber'])
+		# add servers or recently joined groupchats
+		recently_groupchat = gajim.config.get('recently_groupchat').split()
+		for g in recently_groupchat:
+			server = gajim.get_server_from_jid(g)
+			if server not in server_list and not server.startswith('irc'):
+				server_list.append(server)
+		# add a default server
+		if not server_list:
+			server_list.append('conference.jabber.org')
+
+		for s in server_list:
+			self.servers.append([s])
+
+		self.server_list_comboboxentry.set_active(0)
+
+		# set treeview
+		# name, jid
+		self.store = gtk.ListStore(gtk.gdk.Pixbuf, str, str)
+		self.store.set_sort_column_id(1, gtk.SORT_ASCENDING)
+		self.guests_treeview.set_model(self.store)
+
+		renderer1 = gtk.CellRendererText()
+		renderer2 = gtk.CellRendererPixbuf()
+		column = gtk.TreeViewColumn('Status', renderer2, pixbuf=0)
+		self.guests_treeview.append_column(column)
+		column = gtk.TreeViewColumn('Name', renderer1, text=1)
+		self.guests_treeview.append_column(column)
+
+		self.guests_treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
+
+		# set jabber id and pseudos
+		for account in gajim.contacts.get_accounts():
+			if gajim.connections[account].is_zeroconf:
+				continue
+			for jid in gajim.contacts.get_jid_list(account):
+				contact = \
+					gajim.contacts.get_contact_with_highest_priority(account, jid)
+				contact_transport = gajim.get_transport_name_from_jid(jid)
+				# do not add transports, zeroconf contacs, minimized groupchats
+				# and selfjid to list of invitable jids
+				if contact.jid not in self.auto_jids and contact.jid != \
+				gajim.get_jid_from_account(self.account) and not contact_transport \
+				and not contact.is_transport() and contact.jid not in \
+				gajim.interface.minimized_controls[account]:
+					if contact.show not in ('offline', 'error'):
+						img = gajim.interface.roster.jabber_state_images['16'][
+							contact.show]
+						name = contact.name
+						if name == '':
+							name = jid.split('@')[0]
+						iter = self.store.append([img.get_pixbuf(), name, jid])
+						# preselect treeview rows
+						if self.preselected_jids and jid in self.preselected_jids:
+							path = self.store.get_path(iter)
+							self.guests_treeview.get_selection().\
+								select_path(path)
+
+		# show all
+		self.window.show_all()
+
+		self.xml.signal_autoconnect(self)
+
+	def on_chat_to_muc_window_destroy(self, widget):
+		self.instances.remove(self)
+
+	def on_chat_to_muc_window_key_press_event(self, widget, event):
+		if event.keyval == gtk.keysyms.Escape: # ESCAPE
+			self.window.destroy()
+
+	def on_invite_button_clicked(self, widget):
+		server = self.server_list_comboboxentry.get_active_text()
+		if server == '':
+			return
+		room_id = gajim.nicks[self.account] + str(randrange(9999999))
+		gajim.connections[self.account].check_unique_room_id_support(server, self)
+
+	def unique_room_id_supported(self, server, room_id):
+		guest_list = []
+		guests = self.guests_treeview.get_selection().get_selected_rows()
+		for guest in guests[1]:
+			iter = self.store.get_iter(guest)
+			guest_list.append(self.store[iter][2].decode('utf-8'))
+		for guest in self.auto_jids:
+			guest_list.append(guest)
+		room_jid = room_id + '@' + server
+		gajim.automatic_rooms[self.account][room_jid] = {}
+		gajim.automatic_rooms[self.account][room_jid]['invities'] = guest_list 
+		gajim.automatic_rooms[self.account][room_jid]['continue_tag'] = True
+		gajim.interface.roster.join_gc_room(self.account, room_jid,
+			gajim.nicks[self.account], None, is_continued=True)
+		self.window.destroy()
+
+	def on_cancel_button_clicked(self, widget):
+		self.window.destroy()
+
+	def unique_room_id_error(self, server):
+		self.unique_room_id_supported(server,
+			gajim.nicks[self.account] + str(randrange(9999999)))
diff --git a/src/disco.py b/src/disco.py
index 7446447e5d39de6cbbf4b007e614c5e326b596c6..28ff7b2a09931b3716ff0c13efbe94abc2c8eca5 100644
--- a/src/disco.py
+++ b/src/disco.py
@@ -1,19 +1,24 @@
 # -*- coding: utf-8 -*-
 ##	config.py
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2007 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005-2006 Stéphan Kochen <stephan@kochen.nl>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 # The appearance of the treeview, and parts of the dialog, are controlled by
 # AgentBrowser (sub-)classes. Methods that probably should be overridden when
@@ -67,6 +72,7 @@ def _gen_agent_type_info():
 		# Jabber server
 		('server', 'im'):				(ToplevelAgentBrowser, 'jabber.png'),
 		('services', 'jabber'):		(ToplevelAgentBrowser, 'jabber.png'),
+		('hierarchy', 'branch'):	(AgentBrowser, 'jabber.png'),
 
 		# Services
 		('conference', 'text'):		(MucBrowser, 'conference.png'),
@@ -79,6 +85,7 @@ def _gen_agent_type_info():
 		('pubsub', 'generic'):		(PubSubBrowser, 'pubsub.png'),
 		('pubsub', 'service'):		(PubSubBrowser, 'pubsub.png'),
 		('proxy', 'bytestreams'):	(None, 'bytestreams.png'), # Socks5 FT proxy
+		('headline', 'newmail'):	(ToplevelAgentBrowser, 'mail.png'),
 
 		# Transports
 		('conference', 'irc'):		(ToplevelAgentBrowser, 'irc.png'),
@@ -444,7 +451,6 @@ _('Without a connection, you can not browse available services'))
 		self.style_event_id = 0
 		self.banner.realize()
 		self.paint_banner()
-		self.filter_hbox = self.xml.get_widget('filter_hbox')
 		self.action_buttonbox = self.xml.get_widget('action_buttonbox')
 
 		# Address combobox
@@ -954,6 +960,7 @@ _('This service does not contain any items to browse.'))
 		disco#items query.'''
 		self.model.append((jid, node, item.get('name', ''),
 			get_agent_address(jid, node)))
+		self.cache.get_info(jid, node, self._agent_info, force = force)
 
 	def _update_item(self, iter, jid, node, item):
 		'''Called when an item should be updated in the model. The result of a
@@ -964,7 +971,9 @@ _('This service does not contain any items to browse.'))
 	def _update_info(self, iter, jid, node, identities, features, data):
 		'''Called when an item should be updated in the model with further info.
 		The result of a disco#info query.'''
-		self.model[iter][2] = identities[0].get('name', '')
+		name = identities[0].get('name', '')
+		if name:
+			self.model[iter][2] = name
 
 	def _update_error(self, iter, jid, node):
 		'''Called when a disco#info query failed for an item.'''
@@ -1195,26 +1204,6 @@ class ToplevelAgentBrowser(AgentBrowser):
 			self.search_button = None
 		AgentBrowser._clean_actions(self)
 
-	def cleanup(self):
-		self.tooltip.hide_tooltip()
-		AgentBrowser.cleanup(self)
-
-	def update_theme(self):
-		theme = gajim.config.get('roster_theme')
-		bgcolor = gajim.config.get_per('themes', theme, 'groupbgcolor')
-		if bgcolor:
-			self._renderer.set_property('cell-background', bgcolor)
-		self.window.services_treeview.queue_draw()
-
-	def on_execute_button_clicked(self, widget = None):
-		'''When we want to execute a command:
-		open adhoc command window'''
-		model, iter = self.window.services_treeview.get_selection().get_selected()
-		if not iter:
-			return
-		service = model[iter][0].decode('utf-8')
-		adhoc_commands.CommandWindow(self.account, service)
-
 	def on_search_button_clicked(self, widget = None):
 		'''When we want to search something:
 		open search window'''
@@ -1228,20 +1217,6 @@ class ToplevelAgentBrowser(AgentBrowser):
 			gajim.interface.instances[self.account]['search'][service] = \
 				search_window.SearchWindow(self.account, service)
 
-	def on_register_button_clicked(self, widget = None):
-		'''When we want to register an agent:
-		request information about registering with the agent and close the
-		window.'''
-		model, iter = self.window.services_treeview.get_selection().get_selected()
-		if not iter:
-			return
-		jid = model[iter][0].decode('utf-8')
-		if jid:
-			gajim.connections[self.account].request_register_agent_info(jid)
-			self.window.destroy(chain = True)
-
-		AgentBrowser._clean_actions(self)
-
 	def cleanup(self):
 		self.tooltip.hide_tooltip()
 		AgentBrowser.cleanup(self)
diff --git a/src/features_window.py b/src/features_window.py
index f0f7c061bb4e33b73a838ed0ce523f7d6ddd8599..eeb983a9895abdfa4f27dcd461bba2c471582b90 100644
--- a/src/features_window.py
+++ b/src/features_window.py
@@ -1,18 +1,25 @@
 ##	features_window.py
 ##
-## Copyright (C) 2007 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2007 Yann Leboulanger <asterix@lagaule.org>
+##                    Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
+import sys
 import gtk
 import gobject
 import gtkgui_helpers
@@ -66,7 +73,7 @@ class FeaturesWindow:
 				_('Requires gnome-keyring and python-gnome2-desktop.'),
 				_('Feature not available under Windows.')),
 			_('SRV'): (self.srv_available,
-				_('Ability to connect to servers which is using SRV records.'),
+				_('Ability to connect to servers which are using SRV records.'),
 				_('Requires dnsutils.'),
 				_('Requires nslookup to use SRV records.')),
 			_('Spell Checker'): (self.speller_available,
@@ -89,6 +96,18 @@ class FeaturesWindow:
 				_('Transform LaTeX espressions between $$ $$.'),
 				_('Requires texlive-latex-base, dvips and imagemagick. You have to set \'use_latex\' to True in the Advanced Configuration Editor.'),
 				_('Feature not available under Windows.')),
+			_('End to end encryption'): (self.pycrypto_available,
+				_('Encrypting chatmessages.'),
+				_('Requires python-crypto.'),
+				_('Requires python-crypto.')),
+			_('RST Generator'): (self.docutils_available,
+				_('Generate XHTML output from RST code (see http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html).'),
+				_('Requires python-docutils.'),
+				_('Requires python-docutils.')),
+			_('libsexy'): (self.pysexy_available,
+				_('Ability to have clickable URLs in chat and groupchat window banners.'),
+				_('Requires python-sexy.'),
+				_('Requires python-sexy.')),
 		}
 
 		# name, supported
@@ -124,7 +143,7 @@ class FeaturesWindow:
 		selection = widget.get_selection()
 		path = selection.get_selected_rows()[1][0]
 		available = self.model[path][1]
-		feature = self.model[path][0]
+		feature = self.model[path][0].decode('utf-8')
 		text = self.features[feature][1] + '\n'
 		if os.name == 'nt':
 			text = text + self.features[feature][3]
@@ -201,6 +220,12 @@ class FeaturesWindow:
 	def notification_available(self):
 		if os.name == 'nt':
 			return False
+		elif sys.platform == 'darwin':
+			try:
+				import osx.growler
+			except:
+				return False
+			return True
 		from common import dbus_support
 		if self.dbus_available() and dbus_support.get_notifications_interface():
 			return True
@@ -274,3 +299,18 @@ class FeaturesWindow:
 		if exitcode == 0:
 			return True
 		return False
+
+	def pycrypto_available(self):
+		from common import gajim
+		return gajim.HAVE_PYCRYPTO
+
+	def docutils_available(self):
+		try:
+			import docutils
+		except:
+			return False
+		return True
+
+	def pysexy_available(self):
+		from common import gajim
+		return gajim.HAVE_PYSEXY
diff --git a/src/filetransfers_window.py b/src/filetransfers_window.py
index 8de1e4a747c64a29890d727881ca1ff04e379f4a..04253ee13a2903bfb62e63f049c587c0d4e84659 100644
--- a/src/filetransfers_window.py
+++ b/src/filetransfers_window.py
@@ -1,21 +1,26 @@
 ##	filetransfers_window.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2007 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ## Copyright (C) 2004-2005 Vincent Hanquez <tab@snarc.org>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gobject
@@ -128,7 +133,7 @@ class FileTransfersWindow:
 			if file_props['tt_account'] == account:
 				receiver_jid = unicode(file_props['receiver']).split('/')[0]
 				if jid == receiver_jid:
-					if not self.is_transfer_stoped(file_props):
+					if not self.is_transfer_stopped(file_props):
 						active_transfers[0].append(file_props)
 
 		# 'account' is the recipient
@@ -136,7 +141,7 @@ class FileTransfersWindow:
 			if file_props['tt_account'] == account:
 				sender_jid = unicode(file_props['sender']).split('/')[0]
 				if jid == sender_jid:
-					if not self.is_transfer_stoped(file_props):
+					if not self.is_transfer_stopped(file_props):
 						active_transfers[1].append(file_props)
 		return active_transfers
 
@@ -219,13 +224,17 @@ _('Connection with peer cannot be established.'))
 		self.tree.get_selection().unselect_all()
 
 	def show_file_send_request(self, account, contact):
+	
+		desc_entry = gtk.Entry()
+	
 		def on_ok(widget):
 			file_dir = None
 			files_path_list = dialog.get_filenames()
 			files_path_list = gtkgui_helpers.decode_filechooser_file_paths(
 				files_path_list)
+			desc = desc_entry.get_text()
 			for file_path in files_path_list:
-				if self.send_file(account, contact, file_path) and file_dir is None:
+				if self.send_file(account, contact, file_path, desc) and file_dir is None:
 					file_dir = os.path.dirname(file_path)
 			if file_dir:
 				gajim.config.set('last_send_dir', file_dir)
@@ -245,9 +254,17 @@ _('Connection with peer cannot be established.'))
 		# FIXME: add send icon to this button (JUMP_TO)
 		dialog.add_action_widget(btn, gtk.RESPONSE_OK)
 		dialog.set_default_response(gtk.RESPONSE_OK)
+		
+		desc_hbox = gtk.HBox(False, 5)
+		desc_hbox.pack_start(gtk.Label(_('Description: ')),False,False,0)
+		desc_hbox.pack_start(desc_entry,True,True,0)
+		
+		dialog.vbox.pack_start(desc_hbox, False, False, 0)
+		
 		btn.show()
+		desc_hbox.show_all()
 
-	def send_file(self, account, contact, file_path):
+	def send_file(self, account, contact, file_path, file_desc=''):
 		''' start the real transfer(upload) of the file '''
 		if gtkgui_helpers.file_is_locked(file_path):
 			pritext = _('Gajim cannot access this file')
@@ -263,7 +280,7 @@ _('Connection with peer cannot be established.'))
 				resource = resource)
 		(file_dir, file_name) = os.path.split(file_path)
 		file_props = self.get_send_file_props(account, contact, 
-				file_path, file_name)
+				file_path, file_name, file_desc)
 		if file_props is None:
 			return False
 		self.add_transfer(account, contact, file_props)
@@ -294,8 +311,7 @@ _('Connection with peer cannot be established.'))
 		prim_text = _('%s wants to send you a file:') % contact.jid
 		dialog, dialog2 = None, None
 
-		def on_response_ok(widget, account, contact, file_props):
-			dialog.destroy()
+		def on_response_ok(account, contact, file_props):
 
 			def on_ok(widget, account, contact, file_props):
 				file_path = dialog2.get_filename()
@@ -324,7 +340,9 @@ _('Connection with peer cannot be established.'))
 						file_props['offset'] = dl_size
 				else:
 					dirname = os.path.dirname(file_path)
-					if not os.access(dirname, os.W_OK):
+					if not os.access(dirname, os.W_OK) and os.name != 'nt':
+						# read-only bit is used to mark special folder under windows,
+						# not to mark that a folder is read-only. See ticket #3587
 						dialogs.ErrorDialog(_('Directory "%s" is not writable') % dirname, _('You do not have permission to create files in this directory.'))
 						return
 				dialog2.destroy()
@@ -348,8 +366,7 @@ _('Connection with peer cannot be established.'))
 			dialog2.connect('delete-event', lambda widget, event:
 				on_cancel(widget, account, contact, file_props))
 
-		def on_response_cancel(widget, account, file_props):
-			dialog.destroy()
+		def on_response_cancel(account, file_props):
 			gajim.connections[account].send_file_rejection(file_props)
 
 		dialog = dialogs.NonModalConfirmationDialog(prim_text, sec_text,
@@ -471,7 +488,7 @@ _('Connection with peer cannot be established.'))
 		if full_size == 0:
 			percent = 0
 		else:
-			percent = round(float(transfered_size) / full_size * 100)
+			percent = round(float(transfered_size) / full_size * 100, 1)
 		if iter is None:
 			iter = self.get_iter_by_sid(typ, sid)
 		if iter is not None:
@@ -536,11 +553,12 @@ _('Connection with peer cannot be established.'))
 				return iter
 			iter = self.model.iter_next(iter)
 
-	def get_send_file_props(self, account, contact, file_path, file_name):
+	def get_send_file_props(self, account, contact, file_path, file_name,
+	file_desc=''):
 		''' create new file_props dict and set initial file transfer 
 		properties in it'''
 		file_props = {'file-name' : file_path, 'name' : file_name, 
-			'type' : 's'}
+			'type' : 's', 'desc' : file_desc}
 		if os.path.isfile(file_path):
 			stat = os.stat(file_path)
 		else:
@@ -656,7 +674,7 @@ _('Connection with peer cannot be established.'))
 			return True
 		return not file_props['paused']
 
-	def is_transfer_stoped(self, file_props):
+	def is_transfer_stopped(self, file_props):
 		if file_props.has_key('error') and file_props['error'] != 0:
 			return True
 		if file_props.has_key('completed') and file_props['completed']:
@@ -698,7 +716,7 @@ _('Connection with peer cannot be established.'))
 		self.remove_menuitem.set_sensitive(is_row_selected)
 		self.open_folder_menuitem.set_sensitive(is_row_selected)
 		is_stopped = False
-		if self.is_transfer_stoped(file_props):
+		if self.is_transfer_stopped(file_props):
 			is_stopped = True
 		self.cancel_button.set_sensitive(not is_stopped)
 		self.cancel_menuitem.set_sensitive(not is_stopped)
@@ -752,7 +770,7 @@ _('Connection with peer cannot be established.'))
 			iter = self.model.get_iter((i))
 			sid = self.model[iter][C_SID].decode('utf-8')
 			file_props = self.files_props[sid[0]][sid[1:]]
-			if self.is_transfer_stoped(file_props):
+			if self.is_transfer_stopped(file_props):
 				self._remove_transfer(iter, sid, file_props)
 			i -= 1
 		self.tree.get_selection().unselect_all()
diff --git a/src/gajim-remote.py b/src/gajim-remote.py
index 91ff086a65c6999c04fd5cbc26e4b4a3bdeaf914..892375a39c7f84824dcd98cbbad0fe1ff70fbb2b 100755
--- a/src/gajim-remote.py
+++ b/src/gajim-remote.py
@@ -1,18 +1,23 @@
 #!/usr/bin/env python
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005 Dimitur Kirov <dkirov@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 # gajim-remote help will show you the D-BUS API of Gajim
 
@@ -35,6 +40,9 @@ def send_error(error_message):
 	sys.exit(1)
 
 try:
+	if sys.platform == 'darwin':
+		import osx.dbus
+		osx.dbus.load(False)
 	import dbus
 	import dbus.service
 	import dbus.glib
diff --git a/src/gajim.py b/src/gajim.py
index b9e12222ce661021e9e979675166cf39bf21d988..33cd8a6b40064f40a64d1d4b6da5c20b10262bf5 100755
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -2,25 +2,48 @@
 ##	gajim.py
 ##
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
-## Copyright (C) 2005-2006 Dimitur Kirov <dkirov@gmail.com>
+##                         Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2005 Travis Shirk <travis@pobox.com>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
-## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
+##                    Julien Pivotto <roidelapluie@gmail.com>
+##                    Stephan Erb <steve-e@h3c.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
-import sys
 import os
+
+if os.name == 'nt':
+	import warnings
+	warnings.filterwarnings(action='ignore')
+
+# Used to create windows installer with GTK included
+#	paths = os.environ['PATH']
+#	list_ = paths.split(';')
+#	new_list = []
+#	for p in list_:
+#		if p.find('gtk') < 0 and p.find('GTK') < 0:
+#			new_list.append(p)
+#	new_list.insert(0, 'gtk/lib')
+#	new_list.insert(0, 'gtk/bin')
+#	os.environ['PATH'] = ';'.join(new_list)
+#	os.environ['GTK_BASEPATH'] = 'gtk'
+
+import sys
 import urllib
 
 import logging
@@ -112,11 +135,24 @@ del config_path
 common.configpaths.gajimpaths.init_profile(profile)
 del profile
 
+# PyGTK2.10+ only throws a warning
+import warnings
+warnings.filterwarnings('error', module='gtk')
+try:
+	import gtk
+except Warning, msg:
+	if str(msg) == 'could not open display':
+		print >> sys.stderr, _('Gajim needs X server to run. Quiting...')
+		sys.exit()
+warnings.resetwarnings()
+
 import message_control
 
 from chat_control import ChatControlBase
 from atom_window import AtomWindow
 
+import negotiation
+
 from common import exceptions
 from common.zeroconf import connection_zeroconf
 from common import dbus_support
@@ -131,12 +167,6 @@ if os.name == 'posix': # dl module is Unix Only
 	except:
 		pass
 
-try:
-	import gtk
-except RuntimeError, msg:
-	if str(msg) == 'could not open display':
-		print >> sys.stderr, _('Gajim needs X server to run. Quiting...')
-		sys.exit()
 pritext = ''
 if gtk.pygtk_version < (2, 8, 0):
 	pritext = _('Gajim needs PyGTK 2.8 or above')
@@ -169,7 +199,7 @@ if os.name == 'nt':
 		sectext = _('Please make sure that Pywin32 is installed on your system. You can get it at %s') % 'http://sourceforge.net/project/showfiles.php?group_id=78018'
 
 if pritext:
-	dlg = gtk.MessageDialog(None, 
+	dlg = gtk.MessageDialog(None,
 		gtk.DIALOG_DESTROY_WITH_PARENT | gtk.DIALOG_MODAL,
 		gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, message_format = pritext)
 
@@ -208,6 +238,7 @@ from common import socks5
 from common import gajim
 from common import helpers
 from common import optparser
+from common import dataforms
 
 if verbose: gajim.verbose = True
 del verbose
@@ -280,16 +311,19 @@ def pid_alive():
 		if get_p(pid) in ('python.exe', 'gajim.exe'):
 			return True
 		return False
+	elif sys.platform == 'darwin':
+		from osx import checkPID
+		return checkPID(pid, 'Gajim.bin')
 	try:
 		if not os.path.exists('/proc'):
 			return True # no /proc, assume Gajim is running
 
 		try:
-			f = open('/proc/%d/cmdline'% pid) 
+			f = open('/proc/%d/cmdline'% pid)
 		except IOError, e:
 			if e.errno == errno.ENOENT:
 				return False # file/pid does not exist
-			raise 
+			raise
 
 		n = f.read().lower()
 		f.close()
@@ -342,6 +376,9 @@ def on_exit():
 	# delete pid file on normal exit
 	if os.path.exists(pid_filename):
 		os.remove(pid_filename)
+	if sys.platform == 'darwin':
+		import osx
+		osx.shutdown()
 
 import atexit
 atexit.register(on_exit)
@@ -353,7 +390,7 @@ import profile_window
 import config
 
 class GlibIdleQueue(idlequeue.IdleQueue):
-	''' 
+	'''
 	Extends IdleQueue to use glib io_add_wath, instead of select/poll
 	In another, `non gui' implementation of Gajim IdleQueue can be used safetly.
 	'''
@@ -361,29 +398,29 @@ class GlibIdleQueue(idlequeue.IdleQueue):
 		''' this method is called at the end of class constructor.
 		Creates a dict, which maps file/pipe/sock descriptor to glib event id'''
 		self.events = {}
-		# time() is already called in glib, we just get the last value 
+		# time() is already called in glib, we just get the last value
 		# overrides IdleQueue.current_time()
 		self.current_time = lambda: gobject.get_current_time()
-			
+
 	def add_idle(self, fd, flags):
 		''' this method is called when we plug a new idle object.
 		Start listening for events from fd
 		'''
-		res = gobject.io_add_watch(fd, flags, self.process_events, 
+		res = gobject.io_add_watch(fd, flags, self.process_events,
 			priority=gobject.PRIORITY_LOW)
 		# store the id of the watch, so that we can remove it on unplug
 		self.events[fd] = res
-	
+
 	def remove_idle(self, fd):
 		''' this method is called when we unplug a new idle object.
 		Stop listening for events from fd
 		'''
 		gobject.source_remove(self.events[fd])
 		del(self.events[fd])
-	
+
 	def process(self):
 		self.check_time_events()
-	
+
 class Interface:
 	def handle_event_roster(self, account, data):
 		#('ROSTER', account, array)
@@ -404,7 +441,7 @@ class Interface:
 	def handle_event_information(self, unused, data):
 		#('INFORMATION', account, (title_text, section_text))
 		dialogs.InformationDialog(data[0], data[1])
-		
+
 	def handle_event_ask_new_nick(self, account, data):
 		#('ASK_NEW_NICK', account, (room_jid, title_text, prompt_text, proposed_nick))
 		room_jid = data[0]
@@ -425,6 +462,8 @@ class Interface:
 			gajim.connections[account].build_http_auth_answer(iq_obj, answer)
 
 		sec_msg = _('Do you accept this request?')
+		if gajim.get_number_of_connected_accounts() > 1:
+			sec_msg = _('Do you accept this request on account %s?') % account
 		if data[4]:
 			sec_msg = data[4] + '\n' + sec_msg
 		self.dialog = dialogs.YesNoDialog(_('HTTP (%s) Authorization for %s (id: %s)') \
@@ -444,7 +483,7 @@ class Interface:
 			if ft.files_props['s'].has_key(sid):
 				file_props = ft.files_props['s'][sid]
 				file_props['error'] = -4
-				self.handle_event_file_request_error(account, 
+				self.handle_event_file_request_error(account,
 					(jid_from, file_props, errmsg))
 				conn = gajim.connections[account]
 				conn.disconnect_transfer(file_props)
@@ -456,7 +495,7 @@ class Interface:
 				sid = id[3:]
 			if conn.files_props.has_key(sid):
 				file_props = conn.files_props[sid]
-				self.handle_event_file_send_error(account, 
+				self.handle_event_file_send_error(account,
 					(jid_from, file_props))
 				conn.disconnect_transfer(file_props)
 				return
@@ -519,7 +558,7 @@ class Interface:
 			self.edit_own_details(account)
 		if self.remote_ctrl:
 			self.remote_ctrl.raise_signal('AccountPresence', (status, account))
-	
+
 	def edit_own_details(self, account):
 		jid = gajim.get_jid_from_account(account)
 		if not self.instances[account].has_key('profile'):
@@ -594,7 +633,7 @@ class Interface:
 					self.roster.add_self_contact(account)
 				elif contact1.show in statuss:
 					old_show = statuss.index(contact1.show)
-				if (resources != [''] and (len(lcontact) != 1 or 
+				if (resources != [''] and (len(lcontact) != 1 or
 				lcontact[0].show != 'offline')) and jid.find('@') > 0:
 					old_show = 0
 					contact1 = gajim.contacts.copy_contact(contact1)
@@ -685,11 +724,11 @@ class Interface:
 			# It's maybe a GC_NOTIFY (specialy for MSN gc)
 			self.handle_event_gc_notify(account, (jid, array[1], status_message,
 				array[3], None, None, None, None, None, None, None, None))
-			
+
 
 	def handle_event_msg(self, account, array):
 		# 'MSG' (account, (jid, msg, time, encrypted, msg_type, subject,
-		# chatstate, msg_id, composing_xep, user_nick, xhtml))
+		# chatstate, msg_id, composing_xep, user_nick, xhtml, session, form_node))
 		# user_nick is JEP-0172
 
 		full_jid_with_resource = array[0]
@@ -704,6 +743,7 @@ class Interface:
 		msg_id = array[7]
 		composing_xep = array[8]
 		xhtml = array[10]
+		session = array[11]
 		if gajim.config.get('ignore_incoming_xhtml'):
 			xhtml = None
 		if gajim.jid_is_transport(jid):
@@ -741,7 +781,7 @@ class Interface:
 			jid_of_control = jid
 			chat_control = self.msg_win_mgr.get_control(jid, account)
 
-		# Handle chat states  
+		# Handle chat states
 		contact = gajim.contacts.get_contact(account, jid, resource)
 		if contact:
 			if contact.composing_xep != 'XEP-0085': # We cache xep85 support
@@ -757,7 +797,7 @@ class Interface:
 					# got no valid jep85 answer, peer does not support it
 					contact.chatstate = False
 			elif chatstate == 'active':
-				# Brand new message, incoming.  
+				# Brand new message, incoming.
 				contact.our_chatstate = chatstate
 				contact.chatstate = chatstate
 				if msg_id: # Do not overwrite an existing msg_id with None
@@ -774,7 +814,7 @@ class Interface:
 		if not contact:
 			# contact is not in the roster, create a fake one to display
 			# notification
-			contact = common.contacts.Contact(jid = jid, resource = resource) 
+			contact = common.contacts.Contact(jid = jid, resource = resource)
 		advanced_notif_num = notify.get_advanced_notification('message_received',
 			account, contact)
 
@@ -783,27 +823,28 @@ class Interface:
 		if msg_type == 'normal':
 			if not gajim.events.get_events(account, jid, ['normal']):
 				first = True
-		elif not chat_control and not gajim.events.get_events(account, 
+		elif not chat_control and not gajim.events.get_events(account,
 		jid_of_control, [msg_type]): # msg_type can be chat or pm
 			first = True
 
 		if pm:
 			nickname = resource
 			groupchat_control.on_private_message(nickname, message, array[2],
-				xhtml, msg_id)
+				xhtml, session, msg_id)
 		else:
 			# array: (jid, msg, time, encrypted, msg_type, subject)
 			if encrypted:
 				self.roster.on_message(jid, message, array[2], account, array[3],
 					msg_type, subject, resource, msg_id, array[9],
-					advanced_notif_num)
+					advanced_notif_num, session=session, form_node=array[12])
 			else:
 				# xhtml in last element
 				self.roster.on_message(jid, message, array[2], account, array[3],
 					msg_type, subject, resource, msg_id, array[9],
-					advanced_notif_num, xhtml = xhtml)
+					advanced_notif_num, xhtml=xhtml, session=session,
+					form_node=array[12])
 			nickname = gajim.get_name_from_jid(account, jid)
-		# Check and do wanted notifications	
+		# Check and do wanted notifications
 		msg = message
 		if subject:
 			msg = _('Subject: %s') % subject + '\n' + msg
@@ -856,7 +897,7 @@ class Interface:
 			msg = _('error while sending %s ( %s )') % (array[3], msg)
 		self.roster.on_message(jid, msg, array[4], account, \
 			msg_type='error')
-		
+
 	def handle_event_msgsent(self, account, array):
 		#('MSGSENT', account, (jid, msg, keyID))
 		msg = array[1]
@@ -914,14 +955,14 @@ class Interface:
 		gajim.connections[account].ack_unsubscribed(jid)
 		if self.remote_ctrl:
 			self.remote_ctrl.raise_signal('Unsubscribed', (account, jid))
-	
+
 	def handle_event_agent_info_error(self, account, agent):
 		#('AGENT_ERROR_INFO', account, (agent))
 		try:
 			gajim.connections[account].services_cache.agent_info_error(agent)
 		except AttributeError:
 			return
-	
+
 	def handle_event_agent_items_error(self, account, agent):
 		#('AGENT_ERROR_INFO', account, (agent))
 		try:
@@ -978,10 +1019,11 @@ class Interface:
 			return
 
 	def handle_event_new_acc_connected(self, account, array):
-		#('NEW_ACC_CONNECTED', account, (infos, is_form))
+		#('NEW_ACC_CONNECTED', account, (infos, is_form, ssl_msg, ssl_cert,
+		# ssl_fingerprint))
 		if self.instances.has_key('account_creation_wizard'):
 			self.instances['account_creation_wizard'].new_acc_connected(array[0],
-				array[1])
+				array[1], array[2], array[3], array[4])
 
 	def handle_event_new_acc_not_connected(self, account, array):
 		#('NEW_ACC_NOT_CONNECTED', account, (reason))
@@ -1026,7 +1068,7 @@ class Interface:
 		resource = ''
 		if vcard.has_key('resource'):
 			resource = vcard['resource']
-		
+
 		# vcard window
 		win = None
 		if self.instances[account]['infos'].has_key(jid):
@@ -1125,23 +1167,38 @@ class Interface:
 
 		# print status in chat window and update status/GPG image
 		if ctrl:
-			contact = ctrl.contact
-			contact.show = show
-			contact.status = status
-			uf_show = helpers.get_uf_show(show)
-			if status:
-				ctrl.print_conversation(_('%s is now %s (%s)') % (nick, uf_show,
-					status), 'status')
+			statusCode = array[9]
+			if '303' in statusCode:
+				new_nick = array[10]
+				ctrl.print_conversation(_('%s is now known as %s') % (nick,
+					new_nick), 'status')
+				gc_c = gajim.contacts.get_gc_contact(account, room_jid, new_nick)
+				c = gajim.contacts.contact_from_gc_contact(gc_c)
+				ctrl.gc_contact = gc_c
+				ctrl.contact = c
+				ctrl.draw_banner()
+				old_jid = room_jid + '/' + nick
+				new_jid = room_jid + '/' + new_nick
+				self.msg_win_mgr.change_key(old_jid, new_jid, account)
 			else:
-				ctrl.print_conversation(_('%s is now %s') % (nick, uf_show),
-					'status')
-			ctrl.parent_win.redraw_tab(ctrl)
-			ctrl.update_ui()
+				contact = ctrl.contact
+				contact.show = show
+				contact.status = status
+				uf_show = helpers.get_uf_show(show)
+				if status:
+					ctrl.print_conversation(_('%s is now %s (%s)') % (nick, uf_show,
+						status), 'status')
+				else:
+					ctrl.print_conversation(_('%s is now %s') % (nick, uf_show),
+						'status')
+				ctrl.parent_win.redraw_tab(ctrl)
+				ctrl.update_ui()
 			if self.remote_ctrl:
 				self.remote_ctrl.raise_signal('GCPresence', (account, array))
 
 	def handle_event_gc_msg(self, account, array):
-		# ('GC_MSG', account, (jid, msg, time, has_timestamp, htmlmsg))
+		# ('GC_MSG', account, (jid, msg, time, has_timestamp, htmlmsg,
+		# [status_codes]))
 		jids = array[0].split('/', 1)
 		room_jid = jids[0]
 
@@ -1163,7 +1220,7 @@ class Interface:
 			# message from someone
 			nick = jids[1]
 
-		gc_control.on_message(nick, array[1], array[2], array[3], xhtml)
+		gc_control.on_message(nick, array[1], array[2], array[3], xhtml, array[5])
 
 		contact = gajim.contacts.\
 			get_contact_with_highest_priority(account, room_jid)
@@ -1197,8 +1254,8 @@ class Interface:
 		text = None
 		if len(jids) > 1:
 			text = '%s has set the subject to %s' % (jids[1], array[1])
-		# Workaround for psi bug http://flyspray.psi-im.org/task/595 , to be 
-		# deleted one day. We can receive a subject with a body that contains 
+		# Workaround for psi bug http://flyspray.psi-im.org/task/595 , to be
+		# deleted one day. We can receive a subject with a body that contains
 		# "X has set the subject to Y" ...
 		elif array[2]:
 			text = array[2]
@@ -1212,12 +1269,25 @@ class Interface:
 		#('GC_CONFIG', account, (jid, form))  config is a dict
 		room_jid = array[0].split('/')[0]
 		if room_jid in gajim.automatic_rooms[account]:
-			# use default configuration
-			gajim.connections[account].send_gc_config(room_jid, array[1])
+			if gajim.automatic_rooms[account][room_jid].has_key('continue_tag'):
+				# We're converting chat to muc. allow participants to invite
+				form = dataforms.ExtendForm(node = array[1])
+				for f in form.iter_fields():
+					if f.var == 'muc#roomconfig_allowinvites':
+						f.value = True
+				gajim.connections[account].send_gc_config(room_jid, form)
+			else:
+				# use default configuration
+				gajim.connections[account].send_gc_config(room_jid, array[1])
 			# invite contacts
+			# check if it is necessary to add <continue />
+			continue_tag = False
+			if gajim.automatic_rooms[account][room_jid].has_key('continue_tag'):
+				continue_tag = True
 			if gajim.automatic_rooms[account][room_jid].has_key('invities'):
 				for jid in gajim.automatic_rooms[account][room_jid]['invities']:
-					gajim.connections[account].send_invite(room_jid, jid)
+					gajim.connections[account].send_invite(room_jid, jid,
+						continue_tag=continue_tag)
 			del gajim.automatic_rooms[account][room_jid]
 		elif not self.instances[account]['gc_config'].has_key(room_jid):
 			self.instances[account]['gc_config'][room_jid] = \
@@ -1241,6 +1311,7 @@ class Interface:
 		if '100' in statusCode:
 			# Can be a presence (see chg_contact_status in groupchat_contol.py)
 			changes.append(_('Any occupant is allowed to see your full JID'))
+			gc_control.is_anonymous = False
 		if '102' in statusCode:
 			changes.append(_('Room now shows unavailable member'))
 		if '103' in statusCode:
@@ -1255,10 +1326,13 @@ class Interface:
 			changes.append(_('Room logging is now disabled'))
 		if '172' in statusCode:
 			changes.append(_('Room is now non-anonymous'))
+			gc_control.is_anonymous = False
 		if '173' in statusCode:
 			changes.append(_('Room is now semi-anonymous'))
+			gc_control.is_anonymous = True
 		if '174' in statusCode:
 			changes.append(_('Room is now fully-anonymous'))
+			gc_control.is_anonymous = True
 
 		for change in changes:
 			gc_control.print_conversation(change)
@@ -1294,16 +1368,16 @@ class Interface:
 		dlg.input_entry.set_visibility(False)
 
 	def handle_event_gc_invitation(self, account, array):
-		#('GC_INVITATION', (room_jid, jid_from, reason, password))
+		#('GC_INVITATION', (room_jid, jid_from, reason, password, is_continued))
 		jid = gajim.get_jid_without_resource(array[1])
 		room_jid = array[0]
 		if helpers.allow_popup_window(account) or not self.systray_enabled:
 			dialogs.InvitationReceivedDialog(account, room_jid, jid, array[3],
-				array[2])
+				array[2], is_continued=array[4])
 			return
 
 		self.add_event(account, jid, 'gc-invitation', (room_jid, array[2],
-			array[3]))
+			array[3], array[4]))
 
 		if helpers.allow_showing_notification(account):
 			path = os.path.join(gajim.DATA_DIR, 'pixmaps', 'events',
@@ -1313,14 +1387,53 @@ class Interface:
 			notify.popup(event_type, jid, account, 'gc-invitation', path,
 				event_type, room_jid)
 
+	def forget_gpg_passphrase(self, keyid):
+		if self.gpg_passphrase.has_key(keyid):
+			del self.gpg_passphrase[keyid]
+		return False
+
 	def handle_event_bad_passphrase(self, account, array):
+		#('BAD_PASSPHRASE', account, ())
 		use_gpg_agent = gajim.config.get('use_gpg_agent')
+		sectext = ''
 		if use_gpg_agent:
-			return
+			sectext = _('You configured Gajim to use GPG agent, but there is no '
+			'GPG agent running or it returned a wrong passphrase.\n')
+		sectext += _('You are currently connected without your OpenPGP key.')
 		keyID = gajim.config.get_per('accounts', account, 'keyid')
-		self.roster.forget_gpg_passphrase(keyID)
-		dialogs.WarningDialog(_('Your passphrase is incorrect'),
-			_('You are currently connected without your OpenPGP key.'))
+		self.forget_gpg_passphrase(keyID)
+		dialogs.WarningDialog(_('Your passphrase is incorrect'), sectext)
+
+	def handle_event_gpg_password_required(self, account, array):
+		#('GPG_PASSWORD_REQUIRED', account, (callback,))
+		callback = array[0]
+		keyid = gajim.config.get_per('accounts', account, 'keyid')
+		if self.gpg_passphrase.has_key(keyid):
+			gajim.connections[account].gpg_passphrase(self.gpg_passphrase[keyid])
+			callback()
+			return
+		password_ok = False
+		count = 0
+		title = _('Passphrase Required')
+		second = _('Enter GPG key passphrase for account %s.') % account
+		while not password_ok and count < 3:
+			count += 1
+			w = dialogs.PassphraseDialog(title, second, '')
+			passphrase, save = w.run()
+			if passphrase == -1:
+				# User pressed cancel
+				passphrase = None
+				password_ok = True
+			else:
+				password_ok = gajim.connections[account].\
+					test_gpg_passphrase(passphrase)
+				title = _('Wrong Passphrase')
+				second = _('Please retype your GPG passphrase or press Cancel.')
+		if passphrase != None:
+			self.gpg_passphrase[keyid] = passphrase
+			gobject.timeout_add(30000, self.forget_gpg_passphrase, keyid)
+		gajim.connections[account].gpg_passphrase(passphrase)
+		callback()
 
 	def handle_event_roster_info(self, account, array):
 		#('ROSTER_INFO', account, (jid, name, sub, ask, groups))
@@ -1384,8 +1497,8 @@ class Interface:
 		# ('BOOKMARKS', account, [{name,jid,autojoin,password,nick}, {}])
 		# We received a bookmark item from the server (JEP48)
 		# Auto join GC windows if neccessary
-		
-		self.roster.actions_menu_needs_rebuild = True
+
+		self.roster.set_actions_menu_needs_rebuild()
 		invisible_show = gajim.SHOW_LIST.index('invisible')
 		# do not autojoin if we are invisible
 		if gajim.connections[account].connected == invisible_show:
@@ -1429,7 +1542,7 @@ class Interface:
 			text = i18n.ngettext('You have %d new mail conversation',
 				'You have %d new mail conversations', gmail_new_messages,
 				gmail_new_messages, gmail_new_messages)
-			
+
 			if gajim.config.get('notify_on_new_gmail_email_extra'):
 				for gmessage in gmail_messages_list:
 					#FIXME: emulate Gtalk client popups. find out what they parse and how
@@ -1437,7 +1550,7 @@ class Interface:
 					# each message has a 'From', 'Subject' and 'Snippet' field
 					text += _('\nFrom: %(from_address)s') % \
 						{'from_address': gmessage['From']}
-					
+
 			if gajim.config.get_per('soundevents', 'gmail_received', 'enabled'):
 				helpers.play_sound('gmail_received')
 			path = gtkgui_helpers.get_path_to_generic_or_avatar(img)
@@ -1447,50 +1560,63 @@ class Interface:
 		if self.remote_ctrl:
 			self.remote_ctrl.raise_signal('NewGmail', (account, array))
 
-	def save_avatar_files(self, jid, photo_decoded, puny_nick = None):
-		'''Save the decoded avatar to a separate file, and generate files for dbus notifications'''
+	def save_avatar_files(self, jid, photo, puny_nick = None, local = False):
+		'''Saves an avatar to a separate file, and generate files for dbus notifications. An avatar can be given as a pixmap directly or as an decoded image.'''
 		puny_jid = helpers.sanitize_filename(jid)
 		path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid)
 		if puny_nick:
 			path_to_file = os.path.join(path_to_file, puny_nick)
 		# remove old avatars
 		for typ in ('jpeg', 'png'):
-			path_to_original_file = path_to_file + '.' + typ
+			if local:
+				path_to_original_file = path_to_file + '_local'+  '.' + typ
+			else:
+				path_to_original_file = path_to_file + '.' + typ
 			if os.path.isfile(path_to_original_file):
 				os.remove(path_to_original_file)
-		pixbuf, typ = gtkgui_helpers.get_pixbuf_from_data(photo_decoded,
-			want_type = True)
-		if pixbuf is None:
-			return
-		if typ not in ('jpeg', 'png'):
-			gajim.log.debug('gtkpixbuf cannot save other than jpeg and png formats. saving %s\'avatar as png file (originaly %s)' % (jid, typ))
-			typ = 'png'
-		path_to_original_file = path_to_file + '.' + typ
+		if local and photo:
+			pixbuf = photo
+			type = 'png'
+			extension = '_local.png' # save local avatars as png file
+		else:
+			pixbuf, typ = gtkgui_helpers.get_pixbuf_from_data(photo, want_type = True)
+			if  pixbuf is None:
+				return
+			extension = '.' + typ
+			if typ not in ('jpeg', 'png'):
+				gajim.log.debug('gtkpixbuf cannot save other than jpeg and png formats. saving %s\'avatar as png file (originaly %s)' % (jid, typ))
+				typ = 'png'
+				extension = '.png'
+		path_to_original_file = path_to_file + extension
 		pixbuf.save(path_to_original_file, typ)
 		# Generate and save the resized, color avatar
-		pixbuf = gtkgui_helpers.get_scaled_pixbuf(
-			gtkgui_helpers.get_pixbuf_from_data(photo_decoded), 'notification')
+		pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'notification')
 		if pixbuf:
-			path_to_normal_file = path_to_file + '_notif_size_colored.png'
+			path_to_normal_file = path_to_file + '_notif_size_colored' + extension
 			pixbuf.save(path_to_normal_file, 'png')
 			# Generate and save the resized, black and white avatar
 			bwbuf = gtkgui_helpers.get_scaled_pixbuf(
 				gtkgui_helpers.make_pixbuf_grayscale(pixbuf), 'notification')
 			if bwbuf:
-				path_to_bw_file = path_to_file + '_notif_size_bw.png'
+				path_to_bw_file = path_to_file + '_notif_size_bw' + extension
 				bwbuf.save(path_to_bw_file, 'png')
 
-	def remove_avatar_files(self, jid, puny_nick = None):
+	def remove_avatar_files(self, jid, puny_nick = None, local = False):
 		'''remove avatar files of a jid'''
 		puny_jid = helpers.sanitize_filename(jid)
 		path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid)
 		if puny_nick:
 			path_to_file = os.path.join(path_to_file, puny_nick)
-		for ext in ('.jpeg', '.png', '_notif_size_colored.png',
-		'_notif_size_bw.png'):
+		for ext in ('.jpeg', '.png'):
+			if local:
+				ext = '_local' + ext
 			path_to_original_file = path_to_file + ext
-			if os.path.isfile(path_to_original_file):
-				os.remove(path_to_original_file)
+			if os.path.isfile(path_to_file + ext):
+				os.remove(path_to_file + ext)
+			if os.path.isfile(path_to_file + '_notif_size_colored' + ext):
+				os.remove(path_to_file + '_notif_size_colored' + ext)
+			if os.path.isfile(path_to_file + '_notif_size_bw' + ext):
+				os.remove(path_to_file + '_notif_size_bw' + ext)
 
 	def add_event(self, account, jid, type_, event_args):
 		'''add an event to the gajim.events var'''
@@ -1517,11 +1643,11 @@ class Interface:
 		if no_queue: # We didn't have a queue: we change icons
 			if not gajim.contacts.get_contact_with_highest_priority(account, jid):
 				# add contact to roster ("Not In The Roster") if he is not
-				self.roster.add_to_not_in_the_roster(account, jid) 
+				self.roster.add_to_not_in_the_roster(account, jid)
 			self.roster.draw_contact(jid, account)
 
 		# Show contact in roster (if he is invisible for example) and select line
-		path = self.roster.get_path(jid, account)		
+		path = self.roster.get_path(jid, account)
 		self.roster.show_and_select_path(path, jid, account)
 
 	def remove_first_event(self, account, jid, type_ = None):
@@ -1577,7 +1703,16 @@ class Interface:
 	def handle_event_file_request(self, account, array):
 		jid = array[0]
 		if jid not in gajim.contacts.get_jid_list(account):
-			return
+			keyID = ''
+			attached_keys = gajim.config.get_per('accounts', account,
+				'attached_gpg_keys').split()
+			if jid in attached_keys:
+				keyID = attached_keys[attached_keys.index(jid) + 1]
+			contact = gajim.contacts.create_contact(jid = jid, name = '',
+				groups = [_('Not in Roster')], show = 'not in roster', status = '',
+				sub = 'none', keyID = keyID)
+			gajim.contacts.add_contact(account, contact)
+			self.roster.add_contact_to_roster(contact.jid, account)
 		file_props = array[1]
 		contact = gajim.contacts.get_first_contact_from_jid(account, jid)
 
@@ -1602,13 +1737,13 @@ class Interface:
 		if time.time() - self.last_ftwindow_update > 0.5:
 			# update ft window every 500ms
 			self.last_ftwindow_update = time.time()
-			self.instances['file_transfers'].set_progress(file_props['type'], 
+			self.instances['file_transfers'].set_progress(file_props['type'],
 				file_props['sid'], file_props['received-len'])
 
 	def handle_event_file_rcv_completed(self, account, file_props):
 		ft = self.instances['file_transfers']
 		if file_props['error'] == 0:
-			ft.set_progress(file_props['type'], file_props['sid'], 
+			ft.set_progress(file_props['type'], file_props['sid'],
 				file_props['received-len'])
 		else:
 			ft.set_status(file_props['type'], file_props['sid'], 'stop')
@@ -1638,7 +1773,7 @@ class Interface:
 			msg_type = 'file-stopped'
 			event_type = _('File Transfer Stopped')
 
-		if event_type == '': 
+		if event_type == '':
 			# FIXME: ugly workaround (this can happen Gajim sent, Gaim recvs)
 			# this should never happen but it does. see process_result() in socks5.py
 			# who calls this func (sth is really wrong unless this func is also registered
@@ -1726,7 +1861,7 @@ class Interface:
 		'''SIGNED_IN event is emitted when we sign in, so handle it'''
 		# block signed in notifications for 30 seconds
 		gajim.block_signed_in_notifications[account] = True
-		self.roster.actions_menu_needs_rebuild = True
+		self.roster.set_actions_menu_needs_rebuild()
 		if self.sleeper.getState() != common.sleepy.STATE_UNKNOWN and \
 		gajim.connections[account].connected in (2, 3):
 			# we go online or free for chat, so we activate auto status
@@ -1759,6 +1894,173 @@ class Interface:
 		atom_entry, = data
 		AtomWindow.newAtomEntry(atom_entry)
 
+	def handle_event_failed_decrypt(self, account, data):
+		jid, tim = data
+
+		ctrl = self.msg_win_mgr.get_control(jid, account)
+		if ctrl:
+			ctrl.print_conversation_line('Unable to decrypt message from %s\nIt may have been tampered with.' % (jid), 'status', '', tim)
+		else:
+			print 'failed decrypt, unable to find a control to notify you in.'
+
+	def handle_session_negotiation(self, account, data):
+		jid, session, form = data
+
+		if form.getField('accept') and not form['accept'] in ('1', 'true'):
+			session.cancelled_negotiation()
+			return
+
+		# encrypted session states. these are described in stanza_session.py
+
+		try:
+			# bob responds
+			if form.getType() == 'form' and 'security' in form.asDict():
+				def continue_with_negotiation(*args):
+					if len(args):
+						self.dialog.destroy()
+
+					# we don't support 3-message negotiation as the responder
+					if 'dhkeys' in form.asDict():
+						session.fail_bad_negotiation('3 message negotiation not supported when responding', ('dhkeys',))
+						return
+
+					negotiated, not_acceptable, ask_user = session.verify_options_bob(form)
+
+					if ask_user:
+						def accept_nondefault_options(widget):
+							self.dialog.destroy()
+							negotiated.update(ask_user)
+							session.respond_e2e_bob(form, negotiated, not_acceptable)
+
+						def reject_nondefault_options(widget):
+							self.dialog.destroy()
+							for key in ask_user.keys():
+								not_acceptable.append(key)
+							session.respond_e2e_bob(form, negotiated, not_acceptable)
+
+						self.dialog = dialogs.YesNoDialog(_('Confirm these session options'),
+							_('''The remote client wants to negotiate an session with these features:
+
+		%s
+
+		Are these options acceptable?''') % (negotiation.describe_features(ask_user)),
+								on_response_yes = accept_nondefault_options,
+								on_response_no = reject_nondefault_options)
+					else:
+						session.respond_e2e_bob(form, negotiated, not_acceptable)
+
+				def ignore_negotiation(widget):
+					self.dialog.destroy()
+					return
+
+				continue_with_negotiation()
+
+				return
+
+			# alice accepts
+			elif session.status == 'requested-e2e' and form.getType() == 'submit':
+				negotiated, not_acceptable, ask_user = session.verify_options_alice(form)
+
+				if session.sigmai:
+					def _cb(on_success):
+						negotiation.show_sas_dialog(session, jid, session.sas, on_success)
+
+					session.check_identity = _cb
+
+				if ask_user:
+					def accept_nondefault_options(widget):
+						dialog.destroy()
+
+						negotiated.update(ask_user)
+
+						try:
+							session.accept_e2e_alice(form, negotiated)
+						except exceptions.NegotiationError, details:
+							session.fail_bad_negotiation(details)
+
+					def reject_nondefault_options(widget):
+						session.reject_negotiation()
+						dialog.destroy()
+
+					dialog = dialogs.YesNoDialog(_('Confirm these session options'),
+							_('The remote client selected these options:\n\n%s\n\nContinue with the session?') % (negotiation.describe_features(ask_user)),
+							on_response_yes = accept_nondefault_options,
+							on_response_no = reject_nondefault_options)
+				else:
+					try:
+						session.accept_e2e_alice(form, negotiated)
+					except exceptions.NegotiationError, details:
+						session.fail_bad_negotiation(details)
+
+				return
+			elif session.status == 'responded-e2e' and form.getType() == 'result':
+
+				def _cb(on_success):
+					negotiation.show_sas_dialog(session, jid, session.sas, on_success)
+
+				session.check_identity = _cb
+
+				try:
+					session.accept_e2e_bob(form)
+				except exceptions.NegotiationError, details:
+					session.fail_bad_negotiation(details)
+
+				return
+			elif session.status == 'identified-alice' and form.getType() == 'result':
+				def _cb(on_success):
+					negotiation.show_sas_dialog(session, jid, session.sas, on_success)
+
+				session.check_identity = _cb
+
+				try:
+					session.final_steps_alice(form)
+				except exceptions.NegotiationError, details:
+					session.fail_bad_negotiation(details)
+
+				return
+		except exceptions.Cancelled:
+			# user cancelled the negotiation
+
+			session.reject_negotiation()
+
+			return
+
+		if form.getField('terminate') and\
+		form.getField('terminate').getValue() in ('1', 'true'):
+			was_encrypted = session.enable_encryption
+			ctrl = session.control
+
+			session.acknowledge_termination()
+			gajim.connections[account].delete_session(str(jid), session.thread_id)
+
+			if ctrl:
+				new_sess = gajim.connections[account].make_new_session(str(jid))
+				ctrl.set_session(new_sess)
+
+				if was_encrypted:
+					ctrl.print_esession_details()
+
+			return
+
+		# non-esession negotiation. this isn't very useful, but i'm keeping it around
+		# to test my test suite.
+		if form.getType() == 'form':
+			ctrl = gajim.interface.msg_win_mgr.get_control(str(jid), account)
+			if not ctrl:
+				resource = jid.getResource()
+				contact = gajim.contacts.get_contact(account, str(jid), resource)
+				if not contact:
+					connection = gajim.connections[account]
+					contact = gajim.contacts.create_contact(jid = jid.getStripped(), 
+							resource = resource, show = connection.get_status())
+				self.roster.new_chat(contact, account, resource = resource)
+
+				ctrl = gajim.interface.msg_win_mgr.get_control(str(jid), account)
+
+			ctrl.set_session(session)
+
+			negotiation.FeatureNegotiationWindow(account, jid, session, form)
+
 	def handle_event_privacy_lists_received(self, account, data):
 		# ('PRIVACY_LISTS_RECEIVED', account, list)
 		if not self.instances.has_key(account):
@@ -1790,7 +2092,7 @@ class Interface:
 				#	self.store.append([text_item])
 				#	self.global_rules.append(rule)
 				#else:
-				#	self.global_rules_to_append.append(rule) 
+				#	self.global_rules_to_append.append(rule)
 			if self.instances[account].has_key('blocked_contacts'):
 				self.instances[account]['blocked_contacts'].\
 					privacy_list_received(rules)
@@ -1812,7 +2114,7 @@ class Interface:
 
 	def handle_event_zc_name_conflict(self, account, data):
 		dlg = dialogs.InputDialog(_('Username Conflict'),
-			_('Please type a new username for your local account'), 
+			_('Please type a new username for your local account'),
 			is_modal = True)
 		dlg.input_entry.set_text(data)
 		response = dlg.get_response()
@@ -1877,6 +2179,56 @@ class Interface:
 		if self.instances[account].has_key('pep_services'):
 			self.instances[account]['pep_services'].new_service(data[0], data[1])
 
+	def handle_event_unique_room_id_supported(self, account, data):
+		'''Receive confirmation that unique_room_id are supported'''
+		# ('UNIQUE_ROOM_ID_SUPPORTED', server, instance, room_id)
+		instance = data[1]
+		instance.unique_room_id_supported(data[0], data[2])
+
+	def handle_event_unique_room_id_unsupported(self, account, data):
+		# ('UNIQUE_ROOM_ID_UNSUPPORTED', server, instance)
+		instance = data[1]
+		instance.unique_room_id_error(data[0])
+
+	def handle_event_ssl_error(self, account, data):
+		# ('SSL_ERROR', account, (text, cert, sha1_fingerprint))
+		server = gajim.config.get_per('accounts', account, 'hostname')
+		def on_ok(is_checked):
+			if is_checked:
+				f = open(gajim.MY_CACERTS, 'a')
+				f.write(server + '\n')
+				f.write(data[1] + '\n\n')
+				f.close()
+				gajim.config.set_per('accounts', account, 'ssl_fingerprint_sha1',
+					data[2])
+			gajim.connections[account].ssl_certificate_accepted()
+		def on_cancel():
+			gajim.connections[account].disconnect(on_purpose=True)
+			self.handle_event_status(account, 'offline')
+		pritext = _('Error verifying SSL certificate')
+		sectext = _('There was an error verifying the SSL certificate of your jabber server: %(error)s\nDo you still want to connect to this server?') % {'error': data[0]}
+		checktext = _('Add this certificate to the list of trusted certificates.\nSHA1 fingerprint of the certificate:\n%s') % data[2]
+		dialogs.ConfirmationDialogCheck(pritext, sectext, checktext,
+			on_response_ok=on_ok, on_response_cancel=on_cancel)
+
+	def handle_event_fingerprint_error(self, account, data):
+		# ('FINGERPRINT_ERROR', account, (fingerprint,))
+		def on_yes(widget):
+			dialog.destroy()
+			gajim.config.set_per('accounts', account, 'ssl_fingerprint_sha1',
+				data[0])
+			gajim.connections[account].ssl_certificate_accepted()
+		def on_no(widget):
+			dialog.destroy()
+			gajim.connections[account].disconnect(on_purpose=True)
+			self.handle_event_status(account, 'offline')
+		pritext = _('SSL certificate error')
+		sectext = _('It seems SSL certificate has changed or your connection is '
+			'being hacked. Do you still want to connect and update the fingerprint'
+			'of the certificate?')
+		dialog = dialogs.YesNoDialog(pritext, sectext, on_response_yes=on_yes,
+			on_response_no=on_no)
+
 	def read_sleepy(self):
 		'''Check idle status and change that status if needed'''
 		if not self.sleeper.poll():
@@ -1941,7 +2293,7 @@ class Interface:
 	def hide_systray(self):
 		self.systray_enabled = False
 		self.systray.hide_icon()
-	
+
 	def image_is_ok(self, image):
 		if not os.path.exists(image):
 			return False
@@ -1954,7 +2306,7 @@ class Interface:
 		if t != gtk.IMAGE_PIXBUF and t != gtk.IMAGE_ANIMATION:
 			return False
 		return True
-		
+
 	def make_regexps(self):
 		# regexp meta characters are:  . ^ $ * + ? { } [ ] \ | ( )
 		# one escapes the metachars with \
@@ -1983,10 +2335,10 @@ class Interface:
 			r'ftp://', r'ed2k://', r'irc://', r'magnet:', r'sip:', r'www\.',
 			r'ftp\.'))
 		# NOTE: it's ok to catch www.gr such stuff exist!
-		
+
 		#FIXME: recognize xmpp: and treat it specially
-		
-		links = r'\b(%s)\S*[\w\/\=]|' % prefixes
+
+		links = r"(www\.(?!\.)|[a-z][a-z0-9+.-]*://)[^\s<>'\"]+[^!,\.\s<>\)'\"\]]"
 		#2nd one: at_least_one_char@at_least_one_char.at_least_one_char
 		mail = r'\bmailto:\S*[^\s\W]|' r'\b\S+@\S+\.\S*[^\s\W]'
 
@@ -1996,17 +2348,17 @@ class Interface:
 			r'(?<!\w|\<)' r'/[^\s/]' r'([^/]*[^\s/])?' r'/(?!\w)|'\
 			r'(?<!\w)' r'_[^\s_]' r'([^_]*[^\s_])?' r'_(?!\w)'
 
-		latex = r'|\$\$.*\$\$'
-		
-		basic_pattern = links + mail
-		
+		latex = r'|\$\$[^$\\]*?([\]\[0-9A-Za-z()|+*/-]|[\\][\]\[0-9A-Za-z()|{}$])(.*?[^\\])?\$\$'
+
+		basic_pattern = links + '|' + mail
+
 		if gajim.config.get('use_latex'):
 			basic_pattern += latex
-		
+
 		if gajim.config.get('ascii_formatting'):
 			basic_pattern += formatting
 		self.basic_pattern_re = re.compile(basic_pattern, re.IGNORECASE)
-		
+
 		emoticons_pattern = ''
 		if gajim.config.get('emoticons_theme'):
 			# When an emoticon is bordered by an alpha-numeric character it is NOT
@@ -2019,6 +2371,7 @@ class Interface:
 			emoticons_pattern_postmatch = ''
 			emoticon_length = 0
 			for emoticon in keys: # travel thru emoticons list
+				emoticon = emoticon.decode('utf-8')
 				emoticon_escaped = re.escape(emoticon) # espace regexp metachars
 				emoticons_pattern += emoticon_escaped + '|'# | means or in regexp
 				if (emoticon_length != len(emoticon)):
@@ -2035,15 +2388,16 @@ class Interface:
 				'(?:(?<![\w.]' + emoticons_pattern_prematch[:-1]   + '))' + \
 				'(?:'       + emoticons_pattern[:-1]            + ')'  + \
 				'(?:(?![\w.]'  + emoticons_pattern_postmatch[:-1]  + '))'
-		
+
 		# because emoticons match later (in the string) they need to be after
 		# basic matches that may occur earlier
 		emot_and_basic_pattern = basic_pattern + emoticons_pattern
-		self.emot_and_basic_re = re.compile(emot_and_basic_pattern, re.IGNORECASE)
-		
+		self.emot_and_basic_re = re.compile(emot_and_basic_pattern,
+			re.IGNORECASE + re.UNICODE)
+
 		# at least one character in 3 parts (before @, after @, after .)
 		self.sth_at_sth_dot_sth_re = re.compile(r'\S+@\S+\.\S*[^\s)?]')
-		
+
 		re.purge() # clear the regular expression cache
 
 	def on_emoticon_sort(self, emot1, emot2):
@@ -2060,9 +2414,9 @@ class Interface:
 
 	def popup_emoticons_under_button(self, button, parent_win):
 		''' pops emoticons menu under button, located in parent_win'''
-		gtkgui_helpers.popup_emoticons_under_button(self.emoticons_menu, 
+		gtkgui_helpers.popup_emoticons_under_button(self.emoticons_menu,
 			button, parent_win)
-	
+
 	def prepare_emoticons_menu(self):
 		menu = gtk.Menu()
 		def emoticon_clicked(w, str_):
@@ -2116,10 +2470,11 @@ class Interface:
 		import emoticons
 		if need_reload:
 			# we need to reload else that doesn't work when changing emoticon set
-			reload(emoticons) 
+			reload(emoticons)
 		emots = emoticons.emoticons
 		for emot in emots:
 			emot_file = os.path.join(path, emots[emot])
+			emot = emot.decode('utf-8')
 			if not self.image_is_ok(emot_file):
 				continue
 			# This avoids duplicated emoticons with the same image eg. :) and :-)
@@ -2135,7 +2490,7 @@ class Interface:
 		if self.emoticons_menu:
 			self.emoticons_menu.destroy()
 		self.emoticons_menu = self.prepare_emoticons_menu()
-	
+
 	def register_handlers(self):
 		self.handlers = {
 			'ROSTER': self.handle_event_roster,
@@ -2193,6 +2548,7 @@ class Interface:
 			'SIGNED_IN': self.handle_event_signed_in,
 			'METACONTACTS': self.handle_event_metacontacts,
 			'ATOM_ENTRY': self.handle_atom_entry,
+			'FAILED_DECRYPT': self.handle_event_failed_decrypt,
 			'PRIVACY_LISTS_RECEIVED': self.handle_event_privacy_lists_received,
 			'PRIVACY_LIST_RECEIVED': self.handle_event_privacy_list_received,
 			'PRIVACY_LISTS_ACTIVE_DEFAULT': \
@@ -2206,6 +2562,13 @@ class Interface:
 			'SEARCH_RESULT': self.handle_event_search_result,
 			'RESOURCE_CONFLICT': self.handle_event_resource_conflict,
 			'PEP_ACCESS_MODEL': self.handle_event_pep_access_model,
+			'UNIQUE_ROOM_ID_UNSUPPORTED': \
+				self.handle_event_unique_room_id_unsupported,
+			'UNIQUE_ROOM_ID_SUPPORTED': self.handle_event_unique_room_id_supported,
+			'SESSION_NEG': self.handle_session_negotiation,
+			'GPG_PASSWORD_REQUIRED': self.handle_event_gpg_password_required,
+			'SSL_ERROR': self.handle_event_ssl_error,
+			'FINGERPRINT_ERROR': self.handle_event_fingerprint_error,
 		}
 		gajim.handlers = self.handlers
 
@@ -2298,7 +2661,7 @@ class Interface:
 			event = gajim.events.get_first_event(account, jid, type_)
 			data = event.parameters
 			dialogs.InvitationReceivedDialog(account, data[0], jid, data[2],
-				data[1])
+				data[1], data[3])
 			gajim.events.remove_events(account, jid, event)
 			self.roster.draw_contact(jid, account)
 		if w:
@@ -2321,6 +2684,7 @@ class Interface:
 		self.minimized_controls = {}
 		self.status_sent_to_users = {}
 		self.status_sent_to_groups = {}
+		self.gpg_passphrase = {}
 		self.default_colors = {
 			'inmsgcolor': gajim.config.get('inmsgcolor'),
 			'outmsgcolor': gajim.config.get('outmsgcolor'),
@@ -2328,7 +2692,7 @@ class Interface:
 			'urlmsgcolor': gajim.config.get('urlmsgcolor'),
 		}
 
-		parser.read()
+		cfg_was_read = parser.read()
 		# Do not set gajim.verbose to False if -v option was given
 		if gajim.config.get('verbose'):
 			gajim.verbose = True
@@ -2351,7 +2715,7 @@ class Interface:
 		if len(gajim.config.get_per('statusmsg')) == 0:
 			for msg in gajim.config.statusmsg_default:
 				gajim.config.add_per('statusmsg', msg)
-				gajim.config.set_per('statusmsg', msg, 'message', 
+				gajim.config.set_per('statusmsg', msg, 'message',
 					gajim.config.statusmsg_default[msg])
 		#add default themes if there is not in the config file
 		theme = gajim.config.get('roster_theme')
@@ -2360,10 +2724,10 @@ class Interface:
 		if len(gajim.config.get_per('themes')) == 0:
 			d = ['accounttextcolor', 'accountbgcolor', 'accountfont',
 				'accountfontattrs', 'grouptextcolor', 'groupbgcolor', 'groupfont',
-				'groupfontattrs', 'contacttextcolor', 'contactbgcolor', 
+				'groupfontattrs', 'contacttextcolor', 'contactbgcolor',
 				'contactfont', 'contactfontattrs', 'bannertextcolor',
 				'bannerbgcolor']
-			
+
 			default = gajim.config.themes_default
 			for theme_name in default:
 				gajim.config.add_per('themes', theme_name)
@@ -2371,15 +2735,15 @@ class Interface:
 				for o in d:
 					gajim.config.set_per('themes', theme_name, o,
 						theme[d.index(o)])
-			
-		if gajim.config.get('autodetect_browser_mailer'):
+
+		if gajim.config.get('autodetect_browser_mailer') or not cfg_was_read:
 			gtkgui_helpers.autodetect_browser_mailer()
 
 		if gajim.verbose:
 			gajim.log.setLevel(gajim.logging.DEBUG)
 		else:
 			gajim.log.setLevel(None)
-		
+
 		# pygtk2.8+ on win, breaks io_add_watch.
 		# We use good old select.select()
 		if os.name == 'nt':
@@ -2392,7 +2756,7 @@ class Interface:
 		# resolve and keep current record of resolved hosts
 		gajim.resolver = nslookup.Resolver(gajim.idlequeue)
 		gajim.socks5queue = socks5.SocksQueue(gajim.idlequeue,
-			self.handle_event_file_rcv_completed, 
+			self.handle_event_file_rcv_completed,
 			self.handle_event_file_progress)
 		gajim.proxy65_manager = proxy65_manager.Proxy65Manager(gajim.idlequeue)
 		self.register_handlers()
@@ -2407,9 +2771,9 @@ class Interface:
 		gtk.about_dialog_set_url_hook(self.on_launch_browser_mailer, 'url')
 		if gtk.pygtk_version >= (2, 10, 0) and gtk.gtk_version >= (2, 10, 0):
 			gtk.link_button_set_uri_hook(self.on_launch_browser_mailer, 'url')
-		
-		self.instances = {'logs': {}}
-		
+
+		self.instances = {}
+
 		for a in gajim.connections:
 			self.instances[a] = {'infos': {}, 'disco': {}, 'gc_config': {},
 				'search': {}}
@@ -2429,7 +2793,7 @@ class Interface:
 			gajim.transport_avatar[a] = {}
 
 		self.roster = roster_window.RosterWindow()
-		
+
 		if gajim.config.get('remote_control'):
 			try:
 				import remote_control
@@ -2465,9 +2829,12 @@ class Interface:
 							auto=True)
 						gajim.sleeper_state[account] = 'autoaway'
 
-			bus = dbus.SessionBus()
-			bus.add_signal_receiver(gnome_screensaver_ActiveChanged_cb,
-				'ActiveChanged', 'org.gnome.ScreenSaver')
+			try:
+				bus = dbus.SessionBus()
+				bus.add_signal_receiver(gnome_screensaver_ActiveChanged_cb,
+					'ActiveChanged', 'org.gnome.ScreenSaver')
+			except:
+				pass
 
 		self.show_vcard_when_connect = []
 
@@ -2482,11 +2849,12 @@ class Interface:
 
 		self.systray_enabled = False
 		self.systray_capabilities = False
-		
-		if os.name == 'nt' and gtk.pygtk_version >= (2, 10, 0) and\
-		gtk.gtk_version >= (2, 10, 0):
-			import statusicon 
-			self.systray = statusicon.StatusIcon() 
+
+		if (((os.name == 'nt') or (sys.platform == 'darwin')) and
+			(gtk.pygtk_version >= (2, 10, 0)) and
+			(gtk.gtk_version >= (2, 10, 0))):
+			import statusicon
+			self.systray = statusicon.StatusIcon()
 			self.systray_capabilities = True
 		else: # use ours, not GTK+ one
 			# [FIXME: remove this when we migrate to 2.10 and we can do
@@ -2501,7 +2869,7 @@ class Interface:
 
 		self.init_emoticons()
 		self.make_regexps()
-		
+
 		# get instances for windows/dialogs that will show_all()/hide()
 		self.instances['file_transfers'] = dialogs.FileTransfersWindow()
 
@@ -2538,7 +2906,7 @@ if __name__ == '__main__':
 		print >> sys.stderr, "Encodings: d:%s, fs:%s, p:%s" % \
 		(sys.getdefaultencoding(), sys.getfilesystemencoding(), locale.getpreferredencoding())
 
-	if os.name != 'nt':
+	if ((os.name != 'nt') and (sys.platform != 'darwin')):
 		# Session Management support
 		try:
 			import gnome.ui
@@ -2550,10 +2918,10 @@ if __name__ == '__main__':
 			gnome.program_init('gajim', gajim.version)
 			cli = gnome.ui.master_client()
 			cli.connect('die', die_cb)
-			
+
 			path_to_gajim_script = gtkgui_helpers.get_abspath_for_script(
 				'gajim')
-			
+
 			if path_to_gajim_script:
 				argv = [path_to_gajim_script]
 				# FIXME: remove this typeerror catch when gnome python is old and
@@ -2563,8 +2931,12 @@ if __name__ == '__main__':
 					cli.set_restart_command(argv)
 				except AttributeError:
 					cli.set_restart_command(len(argv), argv)
-		
+
 	check_paths.check_and_possibly_create_paths()
 
+	if sys.platform == 'darwin':
+		import osx
+		osx.init()
+
 	Interface()
 	gtk.main()
diff --git a/src/gajim_themes_window.py b/src/gajim_themes_window.py
index 3454ee79f1fe3d189e13f4e110b2e065920cbae1..eea5fb651eebc7babf990643bdf8603ea0b1d89e 100644
--- a/src/gajim_themes_window.py
+++ b/src/gajim_themes_window.py
@@ -1,28 +1,34 @@
 ##	gajim_themes_window.py
 ##
 ## Contributors for this file:
-##	- Yann Le Boulanger <asterix@lagaule.org>
+##	- Yann Leboulanger <asterix@lagaule.org>
 ##	- Nikos Kouremenos <kourem@gmail.com>
 ##	- Dimitur Kirov <dkirov@gmail.com>
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <kourem@gmail.com>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import pango
diff --git a/src/groupchat_control.py b/src/groupchat_control.py
index 1315f1442e60bd3b10db93dd81b1836136b29940..1d975cf9cda08a2962594bb7ee1469b7f91e670b 100644
--- a/src/groupchat_control.py
+++ b/src/groupchat_control.py
@@ -1,8 +1,8 @@
 ##	groupchat_control.py
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
@@ -10,17 +10,23 @@
 ## Copyright (C) 2006 Travis Shirk <travis@pobox.com>
 ## Copyright (C) 2005-2007 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
-## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
+##                    Lukas Petrovicky <lukas@petrovicky.net>
+##                    Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
 import time
@@ -41,7 +47,7 @@ from common import helpers
 from chat_control import ChatControl
 from chat_control import ChatControlBase
 from conversation_textview import ConversationTextview
-from common.exceptions import GajimGeneralException
+from common.exceptions import GajimGeneralException
 
 #(status_image, type, nick, shown_nick)
 (
@@ -105,14 +111,14 @@ def tree_cell_data_func(column, renderer, model, iter, tv=None):
 class PrivateChatControl(ChatControl):
 	TYPE_ID = message_control.TYPE_PM
 
-	def __init__(self, parent_win, gc_contact, contact, account):
+	def __init__(self, parent_win, gc_contact, contact, account, session):
 		room_jid = contact.jid.split('/')[0]
 		room_ctrl = gajim.interface.msg_win_mgr.get_control(room_jid, account)
 		if gajim.interface.minimized_controls[account].has_key(room_jid):
 			room_ctrl = gajim.interface.minimized_controls[account][room_jid]
 		self.room_name = room_ctrl.name
 		self.gc_contact = gc_contact
-		ChatControl.__init__(self, parent_win, contact, account)
+		ChatControl.__init__(self, parent_win, contact, account, session)
 		self.TYPE_ID = 'pm'
 
 	def send_message(self, message):
@@ -153,10 +159,13 @@ class GroupchatControl(ChatControlBase):
 		'help', 'invite', 'join', 'kick', 'leave', 'me', 'msg', 'nick',
 		'part', 'names', 'say', 'topic']
 
-	def __init__(self, parent_win, contact, acct):
+	def __init__(self, parent_win, contact, acct, is_continued=False):
 		ChatControlBase.__init__(self, self.TYPE_ID, parent_win,
 					'muc_child_vbox', contact, acct);
 
+		self.is_continued=is_continued
+		self.is_anonymous = True
+
 		widget = self.xml.get_widget('muc_window_actions_button')
 		id = widget.connect('clicked', self.on_actions_button_clicked)
 		self.handlers[id] = widget
@@ -190,7 +199,8 @@ class GroupchatControl(ChatControlBase):
 		self.handlers[id] = widget
 
 		self.room_jid = self.contact.jid
-		self.nick = contact.name
+		self.nick = contact.name.decode('utf-8')
+		self.new_nick = ''
 		self.name = self.room_jid.split('@')[0]
 
 		compact_view = gajim.config.get('compact_view')
@@ -221,10 +231,10 @@ class GroupchatControl(ChatControlBase):
 		# connect the menuitems to their respective functions
 		xm = gtkgui_helpers.get_glade('gc_control_popup_menu.glade')
 
-		widget = xm.get_widget('bookmark_room_menuitem')
-		id = widget.connect('activate',
+		self.bookmark_room_menuitem = xm.get_widget('bookmark_room_menuitem')
+		id = self.bookmark_room_menuitem.connect('activate',
 			self._on_bookmark_room_menuitem_activate)
-		self.handlers[id] = widget
+		self.handlers[id] = self.bookmark_room_menuitem
 
 		self.change_nick_menuitem = xm.get_widget('change_nick_menuitem')
 		id = self.change_nick_menuitem.connect('activate',
@@ -246,9 +256,10 @@ class GroupchatControl(ChatControlBase):
 			self._on_change_subject_menuitem_activate)
 		self.handlers[id] = self.change_subject_menuitem
 
-		widget = xm.get_widget('history_menuitem')
-		id = widget.connect('activate', self._on_history_menuitem_activate)
-		self.handlers[id] = widget
+		self.history_menuitem = xm.get_widget('history_menuitem')
+		id = self.history_menuitem.connect('activate',
+			self._on_history_menuitem_activate)
+		self.handlers[id] = self.history_menuitem
 
 		self.minimize_menuitem = xm.get_widget('minimize_menuitem')
 		id = self.minimize_menuitem.connect('toggled',
@@ -477,23 +488,55 @@ class GroupchatControl(ChatControlBase):
 		houses the room jid, subject. 
 		'''
 		self.name_label.set_ellipsize(pango.ELLIPSIZE_END)
+		self.banner_status_label.set_ellipsize(pango.ELLIPSIZE_END)
 		font_attrs, font_attrs_small = self.get_font_attrs()
-		text = '<span %s>%s</span>' % (font_attrs, self.room_jid)
+		if self.is_continued:
+			nicks = []
+			for nick in gajim.contacts.get_nick_list(self.account, self.room_jid):
+				if nick != self.nick:
+					nicks.append(nick)
+			if nicks != []:
+				title = ', '
+				title = 'Conversation with ' + title.join(nicks)
+			else:
+				title = 'Continued conversation'
+			text = '<span %s>%s</span>' % (font_attrs, title)
+		else:
+			text = '<span %s>%s</span>' % (font_attrs, self.room_jid)
+		self.name_label.set_markup(text)
+
 		if self.subject:
 			subject = helpers.reduce_chars_newlines(self.subject, max_lines = 2)
 			subject = gobject.markup_escape_text(subject)
-			text += '\n<span %s>%s</span>' % (font_attrs_small, subject)
+			if gajim.HAVE_PYSEXY:
+				subject_text = self.urlfinder.sub(self.make_href, subject)
+				subject_text = '<span %s>%s</span>' % (font_attrs_small,
+					subject_text)
+			else:
+				subject_text = '<span %s>%s</span>' % (font_attrs_small, subject)
 
 			# tooltip must always hold ALL the subject
 			self.subject_tooltip.set_tip(self.event_box, self.subject)
+			self.banner_status_label.show()
+			self.banner_status_label.set_no_show_all(False)
+		else:
+			subject_text = ''
+			self.subject_tooltip.disable()
+			self.banner_status_label.hide()
+			self.banner_status_label.set_no_show_all(True)
 
-		self.name_label.set_markup(text)
+		self.banner_status_label.set_markup(subject_text)
 
 	def prepare_context_menu(self):
 		'''sets sensitivity state for configure_room'''
+		ag = gtk.accel_groups_from_object(self.parent_win.window)[0]
+		self.history_menuitem.add_accelerator('activate', ag, gtk.keysyms.h,
+			gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
 		if self.contact.jid in gajim.config.get_per('accounts', self.account,
 		'minimized_gc').split(' '):
 			self.minimize_menuitem.set_active(True)
+		if not gajim.connections[self.account].private_storage_supported:
+			self.bookmark_room_menuitem.set_sensitive(False)
 		if gajim.gc_connected[self.account][self.room_jid]:
 			c = gajim.contacts.get_gc_contact(self.account, self.room_jid,
 				self.nick)
@@ -515,7 +558,11 @@ class GroupchatControl(ChatControlBase):
 			self.change_nick_menuitem.set_sensitive(False)
 		return self.gc_popup_menu
 
-	def on_message(self, nick, msg, tim, has_timestamp = False, xhtml = None):
+	def on_message(self, nick, msg, tim, has_timestamp = False, xhtml = None,
+	status_code = []):
+		if '100' in status_code:
+			# Room is not anonymous
+			self.is_anonymous = False
 		if not nick:
 			# message from server
 			self.print_conversation(msg, tim = tim, xhtml = xhtml)
@@ -528,7 +575,7 @@ class GroupchatControl(ChatControlBase):
 			else:
 				self.print_conversation(msg, nick, tim, xhtml)
 
-	def on_private_message(self, nick, msg, tim, xhtml, msg_id = None):
+	def on_private_message(self, nick, msg, tim, xhtml, session, msg_id = None):
 		# Do we have a queue?
 		fjid = self.room_jid + '/' + nick
 		no_queue = len(gajim.events.get_events(self.account, fjid)) == 0
@@ -540,7 +587,7 @@ class GroupchatControl(ChatControlBase):
 			return
 
 		event = gajim.events.create_event('pm', (msg, '', 'incoming', tim,
-			False, '', msg_id, xhtml))
+			False, '', msg_id, xhtml, session))
 		gajim.events.add_event(self.account, fjid, event)
 
 		autopopup = gajim.config.get('autopopup')
@@ -560,7 +607,7 @@ class GroupchatControl(ChatControlBase):
 				self.parent_win.show_title()
 				self.parent_win.redraw_tab(self)
 		else:
-			self._start_private_message(nick)
+			self._start_private_message(nick, session)
 		# Scroll to line
 		self.list_treeview.expand_row(path[0:1], False)
 		self.list_treeview.scroll_to_cell(path)
@@ -825,8 +872,20 @@ class GroupchatControl(ChatControlBase):
 
 	def on_send_file(self, widget, gc_contact):
 		'''sends a file to a contact in the room'''
-		gajim.interface.instances['file_transfers'].show_file_send_request(
-			self.account, gc_contact)
+		def _on_send_files(gc_c):
+			gajim.interface.instances['file_transfers'].show_file_send_request(
+				self.account, gc_c)
+		self_contact = gajim.contacts.get_gc_contact(self.account, self.room_jid,
+			self.nick)
+		if self.is_anonymous and gc_contact.affiliation not in ['admin', 'owner']\
+		and self_contact.affiliation in ['admin', 'owner']:
+			prim_text = _('Really send file?')
+			sec_text = _('If you send a file to %s, he/she will know your real Jabber ID.') % gc_contact.name
+			dialog = dialogs.NonModalConfirmationDialog(prim_text, sec_text,
+				on_response_ok = (_on_send_files, gc_contact))
+			dialog.popup()
+		else:
+			_on_send_files(gc_contact)
 
 	def draw_contact(self, nick, selected=False, focus=False):
 		iter = self.get_contact_iter(nick)
@@ -928,7 +987,9 @@ class GroupchatControl(ChatControlBase):
 							'reason': reason }
 					self.print_conversation(s, 'info', tim = tim)
 				elif '303' in statusCode: # Someone changed his or her nick
-					if new_nick == self.nick: # We changed our nick
+					if new_nick == self.new_nick: # We changed our nick
+						self.nick = self.new_nick
+						self.new_nick = ''
 						s = _('You are now known as %s') % new_nick
 					else:
 						s = _('%s is now known as %s') % (nick, new_nick)
@@ -942,7 +1003,8 @@ class GroupchatControl(ChatControlBase):
 							self.attention_list.remove(nick)
 						# keep nickname color
 						if nick in self.gc_custom_colors:
-							self.gc_custom_colors[new_nick] = self.gc_custom_colors[nick]
+							self.gc_custom_colors[new_nick] = \
+								self.gc_custom_colors[nick]
 					# rename vcard / avatar
 					puny_jid = helpers.sanitize_filename(self.room_jid)
 					puny_nick = helpers.sanitize_filename(nick)
@@ -957,7 +1019,7 @@ class GroupchatControl(ChatControlBase):
 						files[os.path.join(path, puny_nick + ext)] = \
 							os.path.join(path, puny_new_nick + ext)
 					for old_file in files:
-						if os.path.exists(old_file):
+						if os.path.exists(old_file) and old_file != files[old_file]:
 							if os.path.exists(files[old_file]):
 								# Windows require this
 								os.remove(files[old_file])
@@ -1133,6 +1195,8 @@ class GroupchatControl(ChatControlBase):
 		if nick == self.nick: # we became online
 			self.got_connected()
 		self.list_treeview.expand_row((model.get_path(role_iter)), False)
+		if self.is_continued:
+			self.draw_banner_text()
 		return iter
 
 	def get_role_iter(self, role):
@@ -1186,9 +1250,15 @@ class GroupchatControl(ChatControlBase):
 			# example: /nick foo
 			if len(message_array) and message_array[0] != self.nick:
 				nick = message_array[0]
-				nick = helpers.parse_resource(nick)
+				try:
+					nick = helpers.parse_resource(nick)
+				except:
+					# Invalid Nickname
+					dialogs.ErrorDialog(_('Invalid nickname'),
+					_('The nickname has not allowed characters.'))
+					return True
 				gajim.connections[self.account].join_gc(nick, self.room_jid, None)
-				self.nick = nick
+				self.new_nick = nick
 				self.clear(self.msg_textview)
 			else:
 				self.get_command_help(command)
@@ -1251,19 +1321,13 @@ class GroupchatControl(ChatControlBase):
 			if len(message_array):
 				message_array = message_array[0].split()
 				invitee = message_array.pop(0)
-				if invitee.find('@') >= 0:
-					reason = ' '.join(message_array)
-					gajim.connections[self.account].send_invite(self.room_jid,
-						invitee, reason)
-					s = _('Invited %(contact_jid)s to %(room_jid)s.') % {
-						'contact_jid': invitee,
-						'room_jid': self.room_jid}
-					self.print_conversation(s, 'info')
-					self.clear(self.msg_textview)
-				else:
-					#%s is something the user wrote but it is not a jid so we inform
-					s = _('%s does not appear to be a valid JID') % invitee
-					self.print_conversation(s, 'info')
+				reason = ' '.join(message_array)
+				gajim.connections[self.account].send_invite(self.room_jid, invitee, reason)
+				s = _('Invited %(contact_jid)s to %(room_jid)s.') % {
+					'contact_jid': invitee,
+					'room_jid': self.room_jid}
+				self.print_conversation(s, 'info')
+				self.clear(self.msg_textview)
 			else:
 				self.get_command_help(command)
 			return True
@@ -1271,29 +1335,26 @@ class GroupchatControl(ChatControlBase):
 			# example: /join room@conference.example.com/nick
 			if len(message_array):
 				room_jid = message_array[0]
-				if room_jid.find('@') >= 0:
-					if room_jid.find('/') >= 0:
-						room_jid, nick = room_jid.split('/', 1)
-					else:
-						nick = ''
-					# join_gc window is needed in order to provide for password entry.
-					if gajim.interface.instances[self.account].has_key('join_gc'):
-						gajim.interface.instances[self.account]['join_gc'].\
-							window.present()
-					else:
-						try:
-							gajim.interface.instances[self.account]['join_gc'] =\
-								dialogs.JoinGroupchatWindow(self.account,
-									room_jid = room_jid, nick = nick)
-						except GajimGeneralException:
-							pass
-					self.clear(self.msg_textview)
-				else:
-					#%s is something the user wrote but it is not a jid so we inform
-					s = _('%s does not appear to be a valid JID') % message_array[0]
-					self.print_conversation(s, 'info')
+				if room_jid.find('@') < 0:
+					room_jid = room_jid + '@' + gajim.get_server_from_jid(self.room_jid)
 			else:
-				self.get_command_help(command)
+				room_jid = '@' + gajim.get_server_from_jid(self.room_jid)
+			if room_jid.find('/') >= 0:
+				room_jid, nick = room_jid.split('/', 1)
+			else:
+				nick = ''
+			# join_gc window is needed in order to provide for password entry.
+			if gajim.interface.instances[self.account].has_key('join_gc'):
+				gajim.interface.instances[self.account]['join_gc'].\
+					window.present()
+			else:
+				try:
+					gajim.interface.instances[self.account]['join_gc'] =\
+						dialogs.JoinGroupchatWindow(self.account,
+							room_jid = room_jid, nick = nick)
+				except GajimGeneralException:
+					pass
+			self.clear(self.msg_textview)
 			return True
 		elif command == 'leave' or command == 'part' or command == 'close':
 			# Leave the room and close the tab or window
@@ -1468,11 +1529,26 @@ class GroupchatControl(ChatControlBase):
 		'''asks user for new nick and on ok it sets it on room'''
 		def on_ok(widget):
 			nick = instance.input_entry.get_text().decode('utf-8')
-			nick = helpers.parse_resource(nick)
+			try:
+				nick = helpers.parse_resource(nick)
+			except:
+				# invalid char
+				dialogs.ErrorDialog(_('Invalid nickname'),
+				_('The nickname has not allowed characters.'))
+				return
 			gajim.connections[self.account].join_gc(nick, self.room_jid, None)
-			self.nick = nick
+			if gajim.gc_connected[self.account][self.room_jid]:
+				# We are changing nick, we will change self.nick when we receive 
+				# presence that inform that it works
+				self.new_nick = nick
+			else:
+				# We are connecting, we will not get a changed nick presence so
+				# change it NOW. We don't already have a nick so it's harmless
+				self.nick = nick
+		def on_cancel():
+			self.new_nick = '' 
 		instance = dialogs.InputDialog(title, prompt, proposed_nick,
-			is_modal = False, ok_handler = on_ok)
+			is_modal = False, ok_handler = on_ok, cancel_handler = on_cancel)
 
 	def minimize(self, status='offline'):
 		# Minimize it
@@ -1496,6 +1572,8 @@ class GroupchatControl(ChatControlBase):
 			self.contact.jid, status = self.subject)
 
 	def shutdown(self, status='offline'):
+		# destroy banner tooltip - bug #pygtk for that!
+		self.subject_tooltip.destroy()
 		gajim.connections[self.account].send_gc_status(self.nick, self.room_jid,
 							show='offline', status=status)
 		nick_list = gajim.contacts.get_nick_list(self.account, self.room_jid)
@@ -1554,8 +1632,6 @@ class GroupchatControl(ChatControlBase):
 			if dialog.is_checked(): # user does not want to be asked again
 				gajim.config.set('confirm_close_muc', False)
 
-			dialog.destroy()
-
 		return retval
 
 	def set_control_active(self, state):
@@ -1614,18 +1690,19 @@ class GroupchatControl(ChatControlBase):
 		if response == gtk.RESPONSE_OK:
 			reason = instance.input_entry1.get_text().decode('utf-8')
 			jid = instance.input_entry2.get_text().decode('utf-8')
-			# Test jid
-			try:
-				jid = helpers.parse_jid(jid)
-			except:
-				dialogs.ErrorDialog(_('Invalid group chat Jabber ID'),
-				_('The group chat Jabber ID has not allowed characters.'))
-				return
+			if jid:
+				# Test jid
+				try:
+					jid = helpers.parse_jid(jid)
+				except:
+					dialogs.ErrorDialog(_('Invalid group chat Jabber ID'),
+					_('The group chat Jabber ID has not allowed characters.'))
+					return
 		else:
 			# Abord destroy operation
 			return
 		gajim.connections[self.account].destroy_gc_room(self.room_jid, reason,
-		jid)
+			jid)
 
 	def _on_bookmark_room_menuitem_activate(self, widget):
 		bm = {
@@ -1647,7 +1724,7 @@ class GroupchatControl(ChatControlBase):
 		gajim.connections[self.account].bookmarks.append(bm)
 		gajim.connections[self.account].store_bookmarks()
 
-		gajim.interface.roster.actions_menu_needs_rebuild = True
+		gajim.interface.roster.set_actions_menu_needs_rebuild()
 
 		dialogs.InformationDialog(
 				_('Bookmark has been added successfully'),
@@ -1924,7 +2001,7 @@ class GroupchatControl(ChatControlBase):
 		menu.show_all()
 		menu.popup(None, None, None, event.button, event.time)
 
-	def _start_private_message(self, nick):
+	def _start_private_message(self, nick, session = None):
 		gc_c = gajim.contacts.get_gc_contact(self.account, self.room_jid, nick)
 		nick_jid = gc_c.get_full_jid()
 
diff --git a/src/gtkexcepthook.py b/src/gtkexcepthook.py
index 7e398979dffa0adbadd16e2ea860b7c37446e70d..34a1bd4187df82e31da9d847e8809f967549191f 100644
--- a/src/gtkexcepthook.py
+++ b/src/gtkexcepthook.py
@@ -1,19 +1,24 @@
 ##	gtkexcepthook.py
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ##
 ## Initially written and submitted by Gustavo J. A. M. Carneiro
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import sys
 import os
diff --git a/src/gtkgui_helpers.py b/src/gtkgui_helpers.py
index 3622adc8ee670be177801f41e7c1b188a3d68b5b..c697164608675a70c7050ffb551a69b25e7e4d15 100644
--- a/src/gtkgui_helpers.py
+++ b/src/gtkgui_helpers.py
@@ -1,21 +1,27 @@
 ##	gtkgui_helpers.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2004-2005 Vincent Hanquez <tab@snarc.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005 Dimitur Kirov <dkirov@gmail.com>
-## Copyright (C) 2005 Travis Shirk <travis@pobox.com>
-## Copyright (C) 2005 Norman Rasmussen <norman@rasmussen.co.za>
+##                    Travis Shirk <travis@pobox.com>
+##                    Norman Rasmussen <norman@rasmussen.co.za>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import xml.sax.saxutils
 import gtk
@@ -121,7 +127,7 @@ def get_theme_font_for_option(theme, option):
 	
 def get_default_font():
 	'''Get the desktop setting for application font
-	first check for GNOME, then XFCE and last KDE
+	first check for GNOME, then Xfce and last KDE
 	it returns None on failure or else a string 'Font Size' '''
 	
 	try:
@@ -180,6 +186,8 @@ def autodetect_browser_mailer():
 		gajim.config.set('openwith', 'kfmclient exec')
 	elif user_runs_xfce():
 		gajim.config.set('openwith', 'exo-open')
+	elif user_runs_osx():
+		gajim.config.set('openwith', 'open')
 	else:
 		gajim.config.set('openwith', 'custom')
 
@@ -195,6 +203,9 @@ def user_runs_xfce():
 		return True
 	return False
 
+def user_runs_osx():
+	return sys.platform == 'darwin'
+
 def get_running_processes():
 	'''returns running processes or None (if not /proc exists)'''
 	if os.path.isdir('/proc'):
@@ -605,7 +616,7 @@ def get_path_to_generic_or_avatar(generic, jid = None, suffix = None):
 		path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid) + suffix
 		filepath, extension = os.path.splitext(path_to_file) 
 		path_to_local_file = filepath + '_local' + extension 
-		if os.path.exists(path_to_local_file): 
+		if os.path.exists(path_to_local_file):
 			return path_to_local_file
 		if os.path.exists(path_to_file):
 			return path_to_file
@@ -643,12 +654,10 @@ def possibly_set_gajim_as_xmpp_handler():
 	else:
 		path_to_kde_file = None
 
-	def set_gajim_as_xmpp_handler(widget = None):
-		if widget:
+	def set_gajim_as_xmpp_handler(is_checked=None):
+		if is_checked != None:
 			# come from confirmation dialog
-			gajim.config.set('check_if_gajim_is_default',
-				dlg.checkbutton.get_active())
-			dlg.destroy()
+			gajim.config.set('check_if_gajim_is_default', is_checked)
 		path_to_gajim_script, typ = get_abspath_for_script('gajim-remote', True)
 		if path_to_gajim_script:
 			if typ == 'svn':
@@ -711,10 +720,9 @@ Description=xmpp
 		sectext = _('Would you like to make Gajim the default Jabber client?')
 		checktext = _('Always check to see if Gajim is the default Jabber client '
 			'on startup')
-		def on_cancel(widget):
+		def on_cancel():
 			gajim.config.set('check_if_gajim_is_default',
-				dlg.checkbutton.get_active())
-			dlg.destroy()
+				dlg.is_checked())
 		dlg = dialogs.ConfirmationDialogCheck(pritext, sectext, checktext,
 			set_gajim_as_xmpp_handler, on_cancel)
 		if gajim.config.get('check_if_gajim_is_default'):
@@ -752,9 +760,8 @@ def destroy_widget(widget):
 def on_avatar_save_as_menuitem_activate(widget, jid, account,
 default_name = ''):
 	def on_ok(widget):
-		def on_ok2(widget, file_path, pixbuf):
+		def on_ok2(file_path, pixbuf):
 			pixbuf.save(file_path, 'jpeg')
-			dialog2.destroy()
 			dialog.destroy()
 
 		file_path = dialog.get_filename()
@@ -808,7 +815,7 @@ default_name = ''):
 			if os.path.exists(file_path):
 				os.remove(file_path)
 			new_file_path = '.'.join(file_path.split('.')[:-1]) + '.jpeg'
-			dialog2 = dialogs.ConfirmationDialog(_('Extension not supported'),
+			dialogs.ConfirmationDialog(_('Extension not supported'),
 				_('Image cannot be saved in %(type)s format. Save as %(new_filename)s?') % {'type': type_, 'new_filename': new_file_path},
 				on_response_ok = (on_ok2, new_file_path, pixbuf))
 		else:
diff --git a/src/history_manager.py b/src/history_manager.py
index 569d0e8bd8e647b91771487f8b704bd65e36340e..3ba50a8cb05b837a5f8e7d02a1151ddd4e216885 100755
--- a/src/history_manager.py
+++ b/src/history_manager.py
@@ -3,22 +3,44 @@
 ##
 ## Copyright (C) 2006-2007 Nikos Kouremenos <kourem@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 ## NOTE: some method names may match those of logger.py but that's it
 ## someday (TM) should have common class that abstracts db connections and helpers on it
 ## the same can be said for history_window.py
 
-import sys
 import os
+
+if os.name == 'nt':
+	import warnings
+	warnings.filterwarnings(action='ignore')
+
+# Used to create windows installer with GTK included
+#	paths = os.environ['PATH']
+#	list_ = paths.split(';')
+#	new_list = []
+#	for p in list_:
+#		if p.find('gtk') < 0 and p.find('GTK') < 0:
+#			new_list.append(p)
+#	new_list.insert(0, 'gtk/lib')
+#	new_list.insert(0, 'gtk/bin')
+#	os.environ['PATH'] = ';'.join(new_list)
+#	os.environ['GTK_BASEPATH'] = 'gtk'
+
+import sys
 import signal
 import gtk
 import gobject
@@ -26,7 +48,10 @@ import time
 import locale
 
 from common import i18n
-import exceptions
+import common.configpaths 
+common.configpaths.gajimpaths.init()
+common.configpaths.gajimpaths.init_profile()
+from common import exceptions
 import dialogs
 import gtkgui_helpers
 from common.logger import LOG_DB_PATH, constants
@@ -75,7 +100,7 @@ class HistoryManager:
 		self.logs_scrolledwindow = xml.get_widget('logs_scrolledwindow')
 		self.search_results_scrolledwindow = xml.get_widget(
 			'search_results_scrolledwindow')
-		self.welcome_label = xml.get_widget('welcome_label')
+		self.welcome_vbox = xml.get_widget('welcome_vbox')
 
 		self.jids_already_in = [] # holds jids that we already have in DB
 		self.AT_LEAST_ONE_DELETION_DONE = False
@@ -211,7 +236,7 @@ class HistoryManager:
 
 		self.logs_liststore.clear() # clear the store
 		
-		self.welcome_label.hide()
+		self.welcome_vbox.hide()
 		self.search_results_scrolledwindow.hide()
 		self.logs_scrolledwindow.show()
 
@@ -478,9 +503,8 @@ class HistoryManager:
 		if paths_len == 0: # nothing is selected
 			return
 
-		def on_ok(widget, liststore, list_of_paths):
+		def on_ok(liststore, list_of_paths):
 			# delete all rows from db that match jid_id
-			self.dialog.destroy()
 			list_of_rowrefs = []
 			for path in list_of_paths: # make them treerowrefs (it's needed)
 				list_of_rowrefs.append(gtk.TreeRowReference(liststore, path))
@@ -511,7 +535,7 @@ class HistoryManager:
 			'Do you really want to delete logs of the selected contact?',
 			'Do you really want to delete logs of the selected contacts?',
 			paths_len)
-		self.dialog = dialogs.ConfirmationDialog(pri_text,
+		dialogs.ConfirmationDialog(pri_text,
 			_('This is an irreversible operation.'), on_response_ok = (on_ok,
 			liststore, list_of_paths))
 
@@ -520,8 +544,7 @@ class HistoryManager:
 		if paths_len == 0: # nothing is selected
 			return
 
-		def on_ok(widget, liststore, list_of_paths):
-			self.dialog.destroy()
+		def on_ok(liststore, list_of_paths):
 			# delete rows from db that match log_line_id
 			list_of_rowrefs = []
 			for path in list_of_paths: # make them treerowrefs (it's needed)
@@ -547,7 +570,7 @@ class HistoryManager:
 		pri_text = i18n.ngettext(
 			'Do you really want to delete the selected message?',
 			'Do you really want to delete the selected messages?', paths_len)
-		self.dialog = dialogs.ConfirmationDialog(pri_text,
+		dialogs.ConfirmationDialog(pri_text,
 			_('This is an irreversible operation.'), on_response_ok = (on_ok,
 			liststore, list_of_paths))
 
@@ -556,7 +579,7 @@ class HistoryManager:
 		if text == '':
 			return
 
-		self.welcome_label.hide()
+		self.welcome_vbox.hide()
 		self.logs_scrolledwindow.hide()
 		self.search_results_scrolledwindow.show()
 		
diff --git a/src/history_window.py b/src/history_window.py
index 19af94b73019606bd69bcf2dcaf1f2fa0023e287..45d6f68c69c1ec41687191fc17a93bae6bc61b4a 100644
--- a/src/history_window.py
+++ b/src/history_window.py
@@ -1,27 +1,33 @@
 ##	history_window.py
 ##
 ## Contributors for this file:
-##	- Yann Le Boulanger <asterix@lagaule.org>
+##	- Yann Leboulanger <asterix@lagaule.org>
 ##	- Nikos Kouremenos <kourem@gmail.com>
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <kourem@gmail.com>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gobject
@@ -40,23 +46,29 @@ constants = Constants()
 
 # contact_name, date, message, time
 (
+C_LOG_JID,
 C_CONTACT_NAME,
 C_UNIXTIME,
 C_MESSAGE,
 C_TIME
-) = range(4)
+) = range(5)
 
 class HistoryWindow:
 	'''Class for browsing logs of conversations with contacts'''
 
-	def __init__(self, jid, account):
-		self.jid = jid
+	def __init__(self, jid = None, account = None):
+		if jid is None:
+			# Use self.jid to pass text to input_entry
+			self.jid = 'Enter jid or contact name here'
+		else:
+			self.jid = jid
 		self.account = account
+
 		self.mark_days_idle_call_id = None
 		
 		xml = gtkgui_helpers.get_glade('history_window.glade')
 		self.window = xml.get_widget('history_window')
-		
+		self.jid_entry = xml.get_widget('jid_entry')
 		self.calendar = xml.get_widget('calendar')
 		scrolledwindow = xml.get_widget('scrolledwindow')
 		self.history_textview = conversation_textview.ConversationTextview(
@@ -64,16 +76,39 @@ class HistoryWindow:
 		scrolledwindow.add(self.history_textview.tv)
 		self.history_buffer = self.history_textview.tv.get_buffer()
 		self.history_buffer.create_tag('highlight', background = 'yellow')
+		self.checkbutton = xml.get_widget('log_history_checkbutton')
+		self.checkbutton.connect('toggled', self.on_log_history_checkbutton_toggled)
 		self.query_entry = xml.get_widget('query_entry')
-		self.search_button = xml.get_widget('search_button')
-		query_builder_button = xml.get_widget('query_builder_button')
-		query_builder_button.hide()
-		query_builder_button.set_no_show_all(True)
 		self.expander_vbox = xml.get_widget('expander_vbox')
-		
+		self.query_combobox = xml.get_widget('query_combobox')
+		self.query_combobox.set_active(0)
 		self.results_treeview = xml.get_widget('results_treeview')
+		
+		# create jid dict for auto completion  
+		self.completion_dict = {}
+		liststore = gtkgui_helpers.get_completion_liststore(self.jid_entry)
+		
+		# Add all jids in logs.db:
+		# he only info we have got to fill the dict is the JID, use it as key
+		db_jids = gajim.logger.get_jids_in_db()
+		for jid in db_jids:
+			self.completion_dict[jid] = None
+		
+		# Enhance contacts of online accounts with their contact reference and their name
+		for account in gajim.contacts.get_accounts():
+			self.completion_dict.update(helpers.get_contact_dict_for_account(account))
+		keys = self.completion_dict.keys()
+		keys.sort()
+		# Add icons
+		for jid in keys:
+			if gajim.logger.jid_is_room_jid(jid):
+				img = gajim.interface.roster.load_icon('muc_active')
+			else:
+				img = gajim.interface.roster.jabber_state_images['16']['online']
+			liststore.append((img.get_pixbuf(), jid))
+
 		# contact_name, date, message, time
-		model = gtk.ListStore(str, str, str, str)
+		model = gtk.ListStore(str, str, str, str, str)
 		self.results_treeview.set_model(model)
 		col = gtk.TreeViewColumn(_('Name'))
 		self.results_treeview.append_column(col)
@@ -98,43 +133,10 @@ class HistoryWindow:
 		col.set_attributes(renderer, text = C_MESSAGE)
 		col.set_resizable(True)
 		
-		contact = gajim.contacts.get_first_contact_from_jid(account, jid)
-		if contact:
-			title = _('Conversation History with %s') % contact.get_shown_name()
-		else:
-			title = _('Conversation History with %s') % jid
-		self.window.set_title(title)
+		self.jid_entry.set_text(self.jid)
 		
 		xml.signal_autoconnect(self)
-		
-		# fake event so we start mark days procedure for selected month
-		# selected month is current month as calendar defaults to selecting
-		# current date
-		self.calendar.emit('month-changed')
-
-		# select and show logs for last date we have logs with contact
-		# and if we don't have logs at all, default to today
-		result = gajim.logger.get_last_date_that_has_logs(self.jid, self.account)
-		if result is None:
-			date = time.localtime()
-		else:
-			tim = result
-			date = time.localtime(tim)
-
-		y, m, d = date[0], date[1], date[2]
-		gtk_month = gtkgui_helpers.make_python_month_gtk_month(m)
-		self.calendar.select_month(gtk_month, y)
-		self.calendar.select_day(d)
-		self.add_lines_for_date(y, m, d)
-
-		log = True
-		if self.jid in gajim.config.get_per('accounts', self.account,
-			'no_log_for').split(' '):
-			log = False
-		checkbutton = xml.get_widget('log_history_checkbutton')
-		checkbutton.set_active(log)
-		checkbutton.connect('toggled', self.on_log_history_checkbutton_toggled)
-		
+		self.jid_entry.emit('activate')
 		self.window.show_all()
 
 	def on_history_window_destroy(self, widget):
@@ -143,11 +145,85 @@ class HistoryWindow:
 			# stop him!
 			gobject.source_remove(self.mark_days_idle_call_id)
 		self.history_textview.del_handlers()
-		del gajim.interface.instances['logs'][self.jid]
+		del gajim.interface.instances['logs']
+
+	def on_history_window_key_press_event(self, widget, event):
+		if event.keyval == gtk.keysyms.Escape:
+			self.window.destroy()
 
 	def on_close_button_clicked(self, widget):
 		self.window.destroy()
 
+	def on_jid_entry_activate(self, widget):
+		self.jid = self.jid_entry.get_text().decode('utf-8')
+		
+		if self.completion_dict.has_key(self.jid): # a full qualified jid or a contact name was entered
+			contact = self.completion_dict[self.jid]
+			if contact: # we have got additional info, jid enhanced with contact
+				self.jid = contact.jid
+				self.jid_entry.set_text(contact.get_shown_name())
+				self.jids_to_search = [contact.jid]
+			else:
+				self.jids_to_search = [self.jid]
+			
+			# Try to find the corresponding account of the jid
+			accounts = gajim.contacts.get_accounts()
+			self.account = None
+			for account in accounts:
+				contact = gajim.contacts.get_first_contact_from_jid(account ,self.jid)
+				if contact:
+					self.account = account
+					break
+			if self.account is None:
+				# We do not know an account. This can only happen if the contact is offine,
+				# or if we browse a groupchat history. The account is not really needed, a dummy can
+				# be set.
+				# FIXME: This may leed to wrong self nick in the displayed history
+				self.account = gajim.contacts.get_accounts()[0]
+				self.checkbutton.set_sensitive(False)
+			else:
+				# The logging checkbutton, can only work if we have got an account.
+				log = True
+				if self.jid in gajim.config.get_per('accounts', self.account,
+					'no_log_for').split(' '):
+					log = False
+				self.checkbutton.set_active(log)
+				self.checkbutton.set_sensitive(True)
+
+			# select logs for last date we have logs with contact
+			self.calendar.set_sensitive(True)
+			self.calendar.emit('month-changed')
+			lastlog = gajim.logger.get_last_date_that_has_logs(self.jid, self.account)
+
+			tim = lastlog
+			date = time.localtime(tim)
+
+			y, m, d = date[0], date[1], date[2]
+			gtk_month = gtkgui_helpers.make_python_month_gtk_month(m)
+			self.calendar.select_month(gtk_month, y)
+			self.calendar.select_day(d)
+			
+			self.query_entry.set_sensitive(True)
+
+			if contact:
+				title = _('Conversation History with %s') % contact.get_shown_name()
+			else:
+				title = _('Conversation History with %s') % self.jid
+			self.window.set_title(title)
+
+
+		else:	# neither a valid jid, nor an existing contact name was entered
+			# we have got nothing to show or to search in
+			self.history_buffer.set_text('') # clear the buffer
+			self.query_entry.set_sensitive(False)
+
+			self.checkbutton.set_sensitive(False)
+			self.calendar.set_sensitive(False)
+			self.calendar.clear_marks()
+			
+			title = _('Conversation History')
+			self.window.set_title(title)
+
 	def on_calendar_day_selected(self, widget):
 		year, month, day = widget.get_date() # integers
 		month = gtkgui_helpers.make_gtk_month_python_month(month)
@@ -322,40 +398,75 @@ class HistoryWindow:
 			gobject.timeout_add(200, self.set_unset_expand_on_expander, widget)
 		else:
 			gobject.timeout_add(200, self.set_unset_expand_on_expander, widget)
-			self.search_button.grab_default()
 			self.query_entry.grab_focus()
 	
-	def on_search_button_clicked(self, widget):
+	def on_query_entry_activate(self, widget):
 		text = self.query_entry.get_text()
 		model = self.results_treeview.get_model()
 		model.clear()
 		if text == '':
 			return
-		# contact_name, time, kind, show, message, subject
-		results = gajim.logger.get_search_results_for_query(
-						self.jid, text, self.account)
-		#FIXME:
-		# add "subject:  | message: " in message column if kind is single
-		# also do we need show at all? (we do not search on subject)
-		for row in results:
-			contact_name = row[0]
-			if not contact_name:
-				kind = row[2]
-				if kind == constants.KIND_CHAT_MSG_SENT: # it's us! :)
-					contact_name = gajim.nicks[self.account]
-				else:
-					contact = gajim.contacts.get_first_contact_from_jid(self.account,
-						self.jid)
-					if contact:
-						contact_name = contact.get_shown_name()
+
+		# perform search in preselected jids. jids are preselected with the query_combobox (all, current...)
+		for jid in self.jids_to_search:
+			accounts = gajim.contacts.get_accounts()	
+			account = None
+			for acc in accounts:
+				contact = gajim.contacts.get_first_contact_from_jid(acc ,jid)
+				if contact:
+					account = acc
+					break
+			if account is None:
+				# We do not know an account. This can only happen if the contact is offine,
+				# or if we browse a groupchat history. The account is not needed, a dummy can
+				# be set.
+				# FIXME: This may leed to wrong self nick in the displayed history
+				account = gajim.contacts.get_accounts()[0]
+
+			# contact_name, time, kind, show, message, subject
+			results = gajim.logger.get_search_results_for_query(
+						jid, text, account)
+			#FIXME:
+			# add "subject:  | message: " in message column if kind is single
+			# also do we need show at all? (we do not search on subject)
+			for row in results:
+				contact_name = row[0]
+				if not contact_name:
+					kind = row[2]
+					if kind == constants.KIND_CHAT_MSG_SENT: # it's us! :)
+						contact_name = gajim.nicks[account]
 					else:
-						contact_name = self.jid
-			tim = row[1]
-			message = row[4]
-			local_time = time.localtime(tim)
-			date = time.strftime('%x', local_time)
-			# name, date, message, time (full unix time)
-			model.append((contact_name, date, message, tim))
+						contact = self.completion_dict[jid]
+						if contact:
+							contact_name = contact.get_shown_name()
+						else:
+							contact_name = jid
+				tim = row[1]
+				message = row[4]
+				local_time = time.localtime(tim)
+				date = time.strftime('%x', local_time)
+				#  jid (to which log is assigned to), name, date, message, time (full unix time)
+				model.append((jid, contact_name, date, message, tim))
+
+	def on_query_combobox_changed(self, widget):
+		self.jids_to_search = []
+		if self.query_combobox.get_active() == 0:
+			# Search current contact
+			if self.completion_dict.has_key(self.jid):
+				self.query_entry.set_sensitive(True)
+				contact = self.completion_dict[self.jid]
+				if contact: 
+					self.jids_to_search = [contact.jid]
+				else:
+					self.jids_to_search = [self.jid]
+			else:
+				# We cannot search in logs of an non-existing jid
+				self.query_entry.set_sensitive(False)
+		if self.query_combobox.get_active() == 1:
+			# Search all histories
+			self.query_entry.set_sensitive(True)
+			self.jids_to_search = gajim.logger.get_jids_in_db()
+
 			
 	def on_results_treeview_row_activated(self, widget, path, column):
 		'''a row was double clicked, get date from row, and select it in calendar
@@ -370,7 +481,12 @@ class HistoryWindow:
 		gtk_month = tim[1]
 		month = gtkgui_helpers.make_python_month_gtk_month(gtk_month)
 		day = tim[2]
-		
+			
+		# switch to belonging logfile if necessary
+		log_jid = model[path][C_LOG_JID]
+		if log_jid != self.jid:
+			self.open_history(log_jid, None)
+
 		# avoid reruning mark days algo if same month and year!
 		if year != cur_year or gtk_month != cur_month:
 			self.calendar.select_month(month, year)
@@ -416,3 +532,8 @@ class HistoryWindow:
 			gajim.config.set_per('accounts', self.account, 'no_log_for',
 				' '.join(no_log_for))
 
+	def open_history(self, jid, account):
+		'''Simulate that the jid was entered by hand'''
+		self.jid_entry.set_text(jid)
+		self.jid_entry.emit('activate')
+
diff --git a/src/htmltextview.py b/src/htmltextview.py
index 75fbccf0ad44c1b78f2eb0bfd600a20c50b9c441..a274d7274c64d20ffcc0198deb806f799ebcbcb7 100644
--- a/src/htmltextview.py
+++ b/src/htmltextview.py
@@ -10,6 +10,9 @@
 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 ### Lesser General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
 ###
 ### You should have received a copy of the GNU Lesser General Public
 ### License along with this library; if not, write to the
@@ -910,6 +913,7 @@ class HtmlTextView(gtk.TextView):
 		self.set_wrap_mode(gtk.WRAP_CHAR)
 		self.set_editable(False)
 		self._changed_cursor = False
+		self.connect('destroy', self.__destroy_event)
 		self.connect('motion-notify-event', self.__motion_notify_event)
 		self.connect('leave-notify-event', self.__leave_event)
 		self.connect('enter-notify-event', self.__motion_notify_event)
@@ -920,6 +924,10 @@ class HtmlTextView(gtk.TextView):
 		# end big hack
 		build_patterns(self,gajim.config,gajim.interface)
 
+	def __destroy_event(self, widget):
+		if self.tooltip.timeout != 0:
+			self.tooltip.hide_tooltip()
+
 	def __leave_event(self, widget, event):
 		if self._changed_cursor:
 			window = widget.get_window(gtk.TEXT_WINDOW_TEXT)
diff --git a/src/lastfm.py b/src/lastfm.py
new file mode 100644
index 0000000000000000000000000000000000000000..385407f1364ef5685bd981eddec216add7b16ea4
--- /dev/null
+++ b/src/lastfm.py
@@ -0,0 +1,217 @@
+#!/bin/env python
+"""
+LastFM Python class
+Copyright (C) 2007 Olivier Mehani <shtrom@ssji.net>
+
+$Id: lastfm.py 52 2007-11-03 23:19:00Z shtrom $
+Python class to handily retrieve song information from a Last.fm account.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+"""
+
+__version__ = '$Revision: 64 $'
+
+from urllib import urlopen
+from xml.dom import minidom
+from time import time, strftime
+
+class LastFM:
+	# Where to fetch the played song information
+	LASTFM_FORMAT_URL = \
+		'http://ws.audioscrobbler.com/1.0/user/%s/recenttracks.xml'
+	# Delay in seconds after which the last song entry is considered too old tox
+	# be displayed.
+	MAX_DELAY = 600
+
+	ARTIST = 0
+	NAME = 1
+	ALBUM = 2
+	TIME = 3
+
+	def __init__(self, username, proxies=None):
+		"""
+		Create a new LastFM object.
+
+		username, the Last.fm username
+		proxies, the list of proxies to use to connect to the Last.fm data, as
+		expected by urllib.urlopen()
+		"""
+		self.setUsername(username)
+		self._proxies = proxies
+		self.scrobbling = False
+		self.updateData()
+
+	def __str__(self):
+		return 'Last.fm song tracker for user %s.%s' % (self._username,
+			self.formatSongTitle(
+			' Last song was \"%(n)s\" by \"%(a)s\" in album \"%(b)s\".'))
+
+	def getUsername(self):
+		return self._username
+
+	def setUsername(self, username):
+		self._username = username
+		self.lastSongs = []
+
+	def updateData(self):
+		"""
+		Fetch the last recent tracks list and update the object accordingly.
+
+		Return True if the last played time has changed, False otherwise.
+		"""
+		try:
+			xmldocument = urlopen(self.LASTFM_FORMAT_URL % self._username,
+				self._proxies)
+			xmltree = minidom.parse(xmldocument)
+		except:
+			print 'Error parsing XML from Last.fm...'
+			return False
+
+		if xmltree.childNodes.length != 1:
+			raise Exception('XML document not formed as expected')
+
+		recenttracks = xmltree.childNodes[0]
+
+		tracklist = recenttracks.getElementsByTagName('track')
+
+		# do not update if nothing more has been scrobbled since last time
+		if len(tracklist) > 0 and \
+		int(tracklist[0].getElementsByTagName('date')[0].
+		getAttribute('uts')) != self.getLastScrobbledTime(): 
+			self.lastSongs = []
+			for track in tracklist:
+				artistNode = track.getElementsByTagName('artist')[0]
+				if artistNode.firstChild:
+					artist = artistNode.firstChild.data
+				else:
+					artist = None
+
+				nameNode = track.getElementsByTagName('name')[0]
+				if nameNode.firstChild:
+					name = nameNode.firstChild.data
+				else:
+					name = None
+
+				albumNode = track.getElementsByTagName('album')[0]
+				if albumNode.firstChild:
+					album = albumNode.firstChild.data
+				else:
+					album = None
+
+					timeNode = track.getElementsByTagName('date')[0]
+					self.lastSongs.append((artist, name, album,
+						int(timeNode.getAttribute('uts'))))
+			self.scrobbling = True
+			return True
+
+		# if nothing has been scrobbled for too long, an update to the
+		# "currently" playing song should be made
+		if self.scrobbling and not self.lastSongIsRecent():
+			self.scrobbling = False
+			return True
+
+		return False
+
+	def getLastSong(self):
+		"""
+		Return the last played song as a tuple of (ARTIST, SONG, ALBUM, TIME).
+		"""
+		if len(self.lastSongs) < 1:
+			return None
+		return self.lastSongs[0]
+
+	def getLastScrobbledTime(self):
+		"""
+		Return the Unix time the last song was played.
+		"""
+		if len(self.lastSongs) < 1:
+			return 0
+		return self.lastSongs[0][self.TIME]
+
+	def timeSinceLastScrobbled(self, lst=None):
+		"""
+		Return the time in seconds since the last song has been scrobbled.
+
+		lst, the Unix time at which a song has been scrobbled, defaults to that
+		of the last song
+		"""
+		if lst == None:
+			lst = self.getLastScrobbledTime()
+		return int(time()) - lst
+
+	def lastSongIsRecent(self, delay=None):
+		"""
+		Return a boolean stating whether the last song has been played less
+		the specified delay earlier.
+
+		delay, the delay to use, defaults to self.MAX_DELAY
+		"""
+		if delay == None:
+			delay = self.MAX_DELAY
+		return self.timeSinceLastScrobbled() < delay
+
+	def getLastRecentSong(self, delay=None):
+		"""
+		Return the last *recently* played song.
+
+		"Recently" means that the song has been played less than delay
+		earlier.
+
+		delay, the delay to use, see lastSongIsRecent for the semantics
+		"""
+		self.updateData()
+		if self.lastSongIsRecent(delay):
+			return self.getLastSong()
+		return None
+
+	def formatSongTitle(self, formatString='%(a)s - %(n)s', songTuple=None):
+		"""
+		Format a song tuple according to a format string. This makes use of the
+		basic Python string formatting operations.
+
+		formatString, the string according to which the song should be formated:
+		"%(a)s" is replaced by the artist;
+		"%(n)s" is replaced by the name of the song;
+		"%(b)s" is replaced by the album;
+		defaults to "%s - %t".
+		songTuple, the tuple representing the song, defaults to the last song
+		"""
+		str = ''
+		if songTuple == None:
+			songTuple = self.getLastRecentSong()
+
+		if songTuple != None:
+			dict = {
+				'a': songTuple[0],
+				'n': songTuple[1],
+				'b': songTuple[2]
+				}
+			str = formatString % dict
+
+		return str
+
+# Fallback if the script is called directly
+if __name__ == '__main__':
+	from sys import argv
+	from time import sleep
+	if len(argv) != 2:
+		raise Exception('Incorrect number of arguments. Only the Last.fm username is required.')
+
+	lfm = LastFM(argv[1])
+	print lfm
+	while 1:
+		if lfm.updateData():
+			print lfm.formatSongTitle()
+		sleep(60) 
diff --git a/src/lastfm_track_listener.py b/src/lastfm_track_listener.py
new file mode 100644
index 0000000000000000000000000000000000000000..fe3d28240f9643a11ffd50f1c685d070ccdb2522
--- /dev/null
+++ b/src/lastfm_track_listener.py
@@ -0,0 +1,103 @@
+# -*- coding: utf-8 -*-
+##	lastfmtracklistener.py
+##
+## Copyright (C) 2007 Olivier Mehani <shtrom-gajim@ssji.net>
+## Heavily based on music_track_listener.py:
+##  Copyright (C) 2006 Gustavo Carneiro <gjcarneiro@gmail.com>
+##  Copyright (C) 2006 Nikos Kouremenos <kourem@gmail.com>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published
+## by the Free Software Foundation; version 2 only.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+import gobject
+from lastfm import LastFM
+
+class LastFMTrackInfo(object):
+	__slots__ = ['title', 'album', 'artist']
+
+	def __eq__(self, other):
+		if self.__class__ != other.__class__:
+			return False
+		return self.title == other.title and self.album == other.album and \
+			self.artist == other.artist
+
+	def __ne__(self, other):
+		return not self.__eq__(other)
+
+class LastFMTrackListener(gobject.GObject):
+	__gsignals__ = {
+		'music-track-changed': (gobject.SIGNAL_RUN_LAST, None, (object,)),
+	}
+
+	# polling period in milliseconds
+	INTERVAL = 60000 #LastFM.MAX_DELAY * 250 # 1/4 of LastFM's delay (in s)
+
+	_instance = None
+	@classmethod
+	def get(cls, username):
+		if cls._instance is None:
+			cls._instance = cls(username)
+		else:
+			cls._instance._lfm.setUsername(username)
+		return cls._instance
+	
+	def __init__(self, username):
+		super(LastFMTrackListener, self).__init__()
+		self._lfm_user = username
+		self._lfm = LastFM(self._lfm_user)
+		self._last_playing_music = None
+		self._lastfm_music_track_change()
+		gobject.timeout_add(self.INTERVAL, self._lastfm_periodic_check)
+		
+	def _lastfm_properties_extract(self, song_tuple):
+		if song_tuple:
+			info = LastFMTrackInfo()
+			info.title = song_tuple[LastFM.NAME]
+			info.album = song_tuple[LastFM.ALBUM]
+			info.artist = song_tuple[LastFM.ARTIST]
+			return info
+		return None
+
+	def _lastfm_periodic_check(self):
+		if self._lfm.updateData():
+			self._lastfm_music_track_change()
+		return True
+
+	def _lastfm_music_track_change(self):
+		info = self._lastfm_properties_extract(
+			self._lfm.getLastRecentSong())
+		self._last_playing_music = info
+		self.emit('music-track-changed', info)
+
+	def get_playing_track(self):
+		'''Return a LastFMTrackInfo for the currently playing
+		song, or None if no song is playing'''
+		return self._last_playing_music
+
+# here we test :)
+if __name__ == '__main__':
+	from sys import argv
+	if len(argv) != 2:
+		raise Exception("Incorrect number of arguments. Only the Last.fm username is required.")
+
+	def music_track_change_cb(listener, music_track_info):
+		if music_track_info is None:
+			print "Stop!"
+		else:
+			print 'Now playing: "%s" by %s' % (
+				music_track_info.title, music_track_info.artist)
+
+	listener = LastFMTrackListener.get(argv[1])
+	listener.connect('music-track-changed', music_track_change_cb)
+	track = listener.get_playing_track()
+	if track is None:
+		print 'Now not playing anything'
+	else:
+		print 'Now playing: "%s" by %s' % (track.title, track.artist)
+	gobject.MainLoop().run()
diff --git a/src/message_control.py b/src/message_control.py
index 1bc2ac0dd925090d8c8b494e70a0fe1e9391446b..b6b584eb26137983c0bddc18c41f820e69d1a84e 100644
--- a/src/message_control.py
+++ b/src/message_control.py
@@ -1,16 +1,22 @@
 ##	message_control.py
 ##
 ## Copyright (C) 2006 Travis Shirk <travis@pobox.com>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 import gtkgui_helpers
 
 from common import gajim
@@ -110,14 +116,42 @@ class MessageControl:
 	def get_specific_unread(self):
 		return len(gajim.events.get_events(self.account, self.contact.jid))
 
+	def set_session(self, session):
+		if hasattr(self, 'session') and session == self.session:
+			return
+
+		was_encrypted = False
+
+		if hasattr(self, 'session') and self.session:
+			if self.session.enable_encryption:
+				was_encrypted = True
+
+			print "starting a new session, dropping the old one!"
+			gajim.connections[self.account].delete_session(self.session.jid, self.session.thread_id)
+
+		self.session = session
+
+		if session:
+			session.control = self
+
+			if was_encrypted:
+				self.print_esession_details()
+
 	def send_message(self, message, keyID = '', type = 'chat',
 	chatstate = None, msg_id = None, composing_xep = None, resource = None,
 	user_nick = None):
 		'''Send the given message to the active tab. Doesn't return None if error
 		'''
 		jid = self.contact.jid
+
+		if not self.session:
+			fjid = self.contact.get_full_jid()
+			new_session = gajim.connections[self.account].make_new_session(fjid)
+
+			self.set_session(new_session)
+
 		# Send and update history
 		return gajim.connections[self.account].send_message(jid, message, keyID,
 			type = type, chatstate = chatstate, msg_id = msg_id,
 			composing_xep = composing_xep, resource = self.resource,
-			user_nick = user_nick)
+			user_nick = user_nick, session = self.session)
diff --git a/src/message_textview.py b/src/message_textview.py
index 1c76173a35e075311184b78e65d65c463e0685f1..ba93e6cd54dc42cc7011bab42826bbffa4927127 100644
--- a/src/message_textview.py
+++ b/src/message_textview.py
@@ -1,27 +1,32 @@
 ##	message_textview.py
 ##
 ## Contributors for this file:
-## - Yann Le Boulanger <asterix@lagaule.org>
+## - Yann Leboulanger <asterix@lagaule.org>
 ## - Nikos Kouremenos <kourem@gmail.com>
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <kourem@gmail.com>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gobject
diff --git a/src/message_window.py b/src/message_window.py
index 65d25968cfb0b2bbec84a603e7c068543661b4ba..c2ebe27699dae46dd14364f3f0f5f3baa56ed0d2 100644
--- a/src/message_window.py
+++ b/src/message_window.py
@@ -1,25 +1,31 @@
 ##	message_window.py
 ##
-## Copyright (C) 2003-2004 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2004 Yann Leboulanger <asterix@lagaule.org>
 ##                         Vincent Hanquez <tab@snarc.org>
-## Copyright (C) 2005 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005 Yann Leboulanger <asterix@lagaule.org>
 ##                    Vincent Hanquez <tab@snarc.org>
 ##                    Nikos Kouremenos <kourem@gmail.com>
 ##                    Dimitur Kirov <dkirov@gmail.com>
 ##                    Travis Shirk <travis@pobox.com>
 ##                    Norman Rasmussen <norman@rasmussen.co.za>
 ## Copyright (C) 2006 Travis Shirk <travis@pobox.com>
-## Copyright (C) 2006 Geobert Quach <geobert@gmail.com>
+##                    Geobert Quach <geobert@gmail.com>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gobject
@@ -69,6 +75,17 @@ class MessageWindow:
 		id = self.window.connect('focus-in-event', self._on_window_focus)
 		self.handlers[id] = self.window
 
+		keys=['<Control>h', '<Control>i', '<Control><Shift>Tab',
+				'<Control>Tab', '<Control>F4', '<Control>w',
+				'<Alt>Right', '<Alt>Left', '<Alt>c', 'Escape'] +\
+				['<Alt>'+str(i) for i in xrange(10)]
+		accel_group = gtk.AccelGroup()
+		for key in keys:
+			keyval, mod = gtk.accelerator_parse(key)
+			accel_group.connect_group(keyval, mod, gtk.ACCEL_VISIBLE,
+				self.accel_group_func)
+		self.window.add_accel_group(accel_group)
+
 		# gtk+ doesn't make use of the motion notify on gtkwindow by default
 		# so this line adds that
 		self.window.add_events(gtk.gdk.POINTER_MOTION_MASK)
@@ -240,6 +257,52 @@ class MessageWindow:
 			elif event.keyval == gtk.keysyms.Page_Up: # CTRL + PAGE UP
 				self.notebook.emit('key_press_event', event)
 
+	def accel_group_func(self, accel_group, acceleratable, keyval, modifier):
+		st = '1234567890' # alt+1 means the first tab (tab 0)
+		control = self.get_active_control()
+		if not control:
+			# No more control in this window
+			return
+		
+		# CTRL mask
+		if modifier & gtk.gdk.CONTROL_MASK:
+			if keyval == gtk.keysyms.h:
+				control._on_history_menuitem_activate()
+			elif control.type_id == message_control.TYPE_CHAT and \
+			keyval == gtk.keysyms.i:
+				control._on_contact_information_menuitem_activate(None)
+			# Tab switch bindings
+			elif keyval == gtk.keysyms.ISO_Left_Tab: # CTRL + SHIFT + TAB
+				self.move_to_next_unread_tab(False)
+			elif keyval == gtk.keysyms.Tab: # CTRL + TAB
+				self.move_to_next_unread_tab(True)
+			elif keyval == gtk.keysyms.F4: # CTRL + F4
+				self.remove_tab(control, self.CLOSE_CTRL_KEY)
+			elif keyval == gtk.keysyms.w: # CTRL + W
+				self.remove_tab(control, self.CLOSE_CTRL_KEY)
+
+		# MOD1 (ALT) mask
+		elif modifier & gtk.gdk.MOD1_MASK:
+			# Tab switch bindings
+			if keyval == gtk.keysyms.Right: # ALT + RIGHT
+				new = self.notebook.get_current_page() + 1
+				if new >= self.notebook.get_n_pages(): 
+					new = 0
+				self.notebook.set_current_page(new)
+			elif keyval == gtk.keysyms.Left: # ALT + LEFT
+				new = self.notebook.get_current_page() - 1
+				if new < 0:
+					new = self.notebook.get_n_pages() - 1
+				self.notebook.set_current_page(new)
+			elif chr(keyval) in st: # ALT + 1,2,3..
+				self.notebook.set_current_page(st.index(chr(keyval)))
+			elif keyval == gtk.keysyms.c: # ALT + C toggles chat buttons
+				control.chat_buttons_set_visible(not control.hide_chat_buttons)
+		# Close tab bindings
+		elif keyval == gtk.keysyms.Escape and \
+				gajim.config.get('escape_key_closes'): # Escape
+			self.remove_tab(control, self.CLOSE_ESC)
+
 	def _on_close_button_clicked(self, button, control):
 		'''When close button is pressed: close a tab'''
 		self.remove_tab(control, self.CLOSE_CLOSE_BUTTON)
@@ -349,7 +412,6 @@ class MessageWindow:
 			gajim.interface.msg_win_mgr._on_window_delete(self.window, None)
 			gajim.interface.msg_win_mgr._on_window_destroy(self.window)
 			# dnd clean up
-			self.notebook.disconnect(self.hid)
 			self.notebook.drag_dest_unset()
 			self.window.destroy()
 			return # don't show_title, we are dead
@@ -454,6 +516,20 @@ class MessageWindow:
 			nth_child = notebook.get_nth_page(page_num)
 			return self._widget_to_control(nth_child)
 
+	def change_key(self, old_jid, new_jid, acct):
+		'''Change the key of a control'''
+		try:
+			# Check if control exists
+			ctrl = self._controls[acct][old_jid]
+		except:
+			return
+		self._controls[acct][new_jid] = self._controls[acct][old_jid]
+		del self._controls[acct][old_jid]
+		if old_jid in gajim.last_message_time[acct]:
+			gajim.last_message_time[acct][new_jid] = \
+				gajim.last_message_time[acct][old_jid]
+			del gajim.last_message_time[acct][old_jid]
+
 	def controls(self):
 		for ctrl_dict in self._controls.values():
 			for ctrl in ctrl_dict.values():
@@ -520,49 +596,15 @@ class MessageWindow:
 		self.show_title(control = new_ctrl)
 
 	def _on_notebook_key_press(self, widget, event):
-		st = '1234567890' # alt+1 means the first tab (tab 0)
-		ctrl = self.get_active_control()
-
-		# CTRL mask
-		if event.state & gtk.gdk.CONTROL_MASK:
-			# Tab switch bindings
-			if event.keyval == gtk.keysyms.ISO_Left_Tab: # CTRL + SHIFT + TAB
-				self.move_to_next_unread_tab(False)
-			elif event.keyval == gtk.keysyms.Tab: # CTRL + TAB
-				self.move_to_next_unread_tab(True)
-			elif event.keyval == gtk.keysyms.F4: # CTRL + F4
-				self.remove_tab(ctrl, self.CLOSE_CTRL_KEY)
-			elif event.keyval == gtk.keysyms.w: # CTRL + W
-				self.remove_tab(ctrl, self.CLOSE_CTRL_KEY)
-
-		# MOD1 (ALT) mask
-		elif event.state & gtk.gdk.MOD1_MASK:
-			# Tab switch bindings
-			if event.keyval == gtk.keysyms.Right: # ALT + RIGHT
-				new = self.notebook.get_current_page() + 1
-				if new >= self.notebook.get_n_pages(): 
-					new = 0
-				self.notebook.set_current_page(new)
-			elif event.keyval == gtk.keysyms.Left: # ALT + LEFT
-				new = self.notebook.get_current_page() - 1
-				if new < 0:
-					new = self.notebook.get_n_pages() - 1
-				self.notebook.set_current_page(new)
-			elif event.string and event.string in st and \
-					(event.state & gtk.gdk.MOD1_MASK): # ALT + 1,2,3..
-				self.notebook.set_current_page(st.index(event.string))
-			elif event.keyval == gtk.keysyms.c: # ALT + C toggles chat buttons
-				ctrl.chat_buttons_set_visible(not ctrl.hide_chat_buttons)
-		# Close tab bindings
-		elif event.keyval == gtk.keysyms.Escape and \
-				gajim.config.get('escape_key_closes'): # Escape
-			self.remove_tab(ctrl, self.CLOSE_ESC)
-		else:
-			# If the active control has a message_textview pass the event to it
-			active_ctrl = self.get_active_control()
-			if isinstance(active_ctrl, ChatControlBase):
-				active_ctrl.msg_textview.emit('key_press_event', event)
-				active_ctrl.msg_textview.grab_focus()
+		control = self.get_active_control()
+		# Ctrl+PageUP / DOWN has to be handled by notebook
+		if event.state & gtk.gdk.CONTROL_MASK and event.keyval in (
+		gtk.keysyms.Page_Down, gtk.keysyms.Page_Up):
+			return False
+		if isinstance(control, ChatControlBase):
+			# we forwarded it to message textview
+			control.msg_textview.emit('key_press_event', event)
+			control.msg_textview.grab_focus()
 
 	def setup_tab_dnd(self, child):
 		'''Set tab label as drag source and connect the drag_data_get signal'''
@@ -781,6 +823,17 @@ class MessageWindowMgr:
 		self._windows[key] = win
 		return win
 
+	def change_key(self, old_jid, new_jid, acct):
+		win = self.get_window(old_jid, acct)
+		if self.mode == self.ONE_MSG_WINDOW_NEVER:
+			old_key = acct + old_jid
+			if old_jid not in self._windows:
+				return
+			new_key = acct + new_jid
+			self._windows[new_key] = self._windows[old_key]
+			del self._windows[old_key]
+		win.change_key(old_jid, new_jid, acct)
+
 	def _on_window_delete(self, win, event):
 		self.save_state(self._gtk_win_to_msg_win(win))
 		gajim.interface.save_config()
diff --git a/src/music_track_listener.py b/src/music_track_listener.py
index 2b332ae5f4cf23ef6b4be62bb012e35d24429d93..7a64ad4b6f2125bb34b84f0031b12139f8c8e0a0 100644
--- a/src/music_track_listener.py
+++ b/src/music_track_listener.py
@@ -4,15 +4,20 @@
 ## Copyright (C) 2006 Gustavo Carneiro <gjcarneiro@gmail.com>
 ## Copyright (C) 2006 Nikos Kouremenos <kourem@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 import gobject
 if __name__ == '__main__':
 	# install _() func before importing dbus_support
@@ -46,6 +51,13 @@ class MusicTrackListener(gobject.GObject):
 		
 		bus = dbus.SessionBus()
 
+		## MPRIS
+		bus.add_signal_receiver(self._mpris_music_track_change_cb, 'TrackChange',
+			'org.freedesktop.MediaPlayer')
+		bus.add_signal_receiver(self._player_playing_changed_cb, 'StatusChange',
+			'org.freedesktop.MediaPlayer')
+			
+
 		## Muine
 		bus.add_signal_receiver(self._muine_music_track_change_cb, 'SongChanged',
 			'org.gnome.Muine.Player')
@@ -63,7 +75,7 @@ class MusicTrackListener(gobject.GObject):
 			'playingChanged', 'org.gnome.Rhythmbox.Player')
 		bus.add_signal_receiver(self._player_playing_song_property_changed_cb,
 			'playingSongPropertyChanged', 'org.gnome.Rhythmbox.Player')
-			
+
 		## Banshee
 		banshee_bus = dbus.SessionBus()
 		dubus = banshee_bus.get_object('org.freedesktop.DBus',
@@ -111,6 +123,18 @@ class MusicTrackListener(gobject.GObject):
 		if b == 'rb:stream-song-title':
 			self.emit('music-track-changed', self._last_playing_music)
 
+	def _mpris_properties_extract(self, song):
+		info = MusicTrackInfo()
+		info.title = song['title']
+		info.album = song['album']
+		info.artist = song['artist']
+		info.duration = int(song['length'])
+		return info
+
+	def _mpris_music_track_change_cb(self, arg):
+		info = self._mpris_properties_extract(arg)
+		self.emit('music-track-changed', info)
+
 	def _muine_properties_extract(self, song_string):
 		d = dict((x.strip() for x in  s1.split(':', 1)) for s1 in \
 			song_string.split('\n'))
@@ -136,6 +160,8 @@ class MusicTrackListener(gobject.GObject):
 		return info
 	
 	def _rhythmbox_music_track_change_cb(self, uri):
+		if not uri:
+			return
 		bus = dbus.SessionBus()
 		rbshellobj = bus.get_object('org.gnome.Rhythmbox',
 			'/org/gnome/Rhythmbox/Shell')
@@ -233,6 +259,8 @@ class MusicTrackListener(gobject.GObject):
 				'/org/gnome/Rhythmbox/Player'), 'org.gnome.Rhythmbox.Player')
 			rbshell = dbus.Interface(rbshellobj, 'org.gnome.Rhythmbox.Shell')
 			uri = player.getPlayingUri()
+			if not uri:
+				return None
 			props = rbshell.getSongProperties(uri)
 			info = self._rhythmbox_properties_extract(props)
 			self._last_playing_music = info
diff --git a/src/negotiation.py b/src/negotiation.py
new file mode 100644
index 0000000000000000000000000000000000000000..8cc4c9ad5f1c52da6d17a42197824ac746b66c23
--- /dev/null
+++ b/src/negotiation.py
@@ -0,0 +1,87 @@
+import gtkgui_helpers
+import dataforms_widget
+
+import dialogs
+
+from common import dataforms
+from common import gajim
+from common import xmpp
+
+def describe_features(features):
+	'''a human-readable description of the features that have been negotiated'''
+	if features['logging'] == 'may':
+		return _('- messages will be logged')
+	elif features['logging'] == 'mustnot':
+		return _('- messages will not be logged')
+
+def show_sas_dialog(session, jid, sas, on_success):
+	def success_cb(checked):
+		on_success(checked)
+
+	def failure_cb():
+		session.reject_negotiation()
+
+	dialogs.ConfirmationDialogCheck(_('''OK to continue with negotiation?'''),
+		_('''You've begun an encrypted session with %s, but it can't be guaranteed that you're talking directly to the person you think you are.
+
+You should speak with them directly (in person or on the phone) and confirm that their Short Authentication String is identical to this one: %s
+
+Would you like to continue with the encrypted session?''') % (jid, sas),
+
+		_('Yes, I verified the Short Authentication String'),
+		on_response_ok=success_cb, on_response_cancel=failure_cb, is_modal=False)
+
+class FeatureNegotiationWindow:
+	'''FeatureNegotiotionWindow class'''
+	def __init__(self, account, jid, session, form):
+		self.account = account
+		self.jid = jid
+		self.form = form
+		self.session = session
+
+		self.xml = gtkgui_helpers.get_glade('data_form_window.glade', 'data_form_window')
+		self.window = self.xml.get_widget('data_form_window')
+
+		config_vbox = self.xml.get_widget('config_vbox')
+		dataform = dataforms.ExtendForm(node = self.form)
+		self.data_form_widget = dataforms_widget.DataFormWidget(dataform)
+		self.data_form_widget.show()
+		config_vbox.pack_start(self.data_form_widget)
+
+		self.xml.signal_autoconnect(self)
+		self.window.show_all()
+
+	def on_ok_button_clicked(self, widget):
+		acceptance = xmpp.Message(self.jid)
+		acceptance.setThread(self.session.thread_id)
+		feature = acceptance.NT.feature
+		feature.setNamespace(xmpp.NS_FEATURE)
+
+		form = self.data_form_widget.data_form
+		form.setAttr('type', 'submit')
+
+		feature.addChild(node=form)
+
+		gajim.connections[self.account].send_stanza(acceptance)
+
+		self.window.destroy()
+
+	def on_cancel_button_clicked(self, widget):
+		# XXX determine whether to reveal presence
+
+		rejection = xmpp.Message(self.jid)
+		rejection.setThread(self.session.thread_id)
+		feature = rejection.NT.feature
+		feature.setNamespace(xmpp.NS_FEATURE)
+
+		x = xmpp.DataForm(typ='submit')
+		x.addChild(node=xmpp.DataField('FORM_TYPE', value='urn:xmpp:ssn'))
+		x.addChild(node=xmpp.DataField('accept', value='false', typ='boolean'))
+
+		feature.addChild(node=x)
+
+		# XXX optional <body/>
+
+		gajim.connections[self.account].send_stanza(rejection)
+
+		self.window.destroy()
diff --git a/src/network_manager_listener.py b/src/network_manager_listener.py
index 5c5cba42d4d910b7d1978b3b9b9f0898e6f0bdaa..e6d42fee10ea24f4c9c36f07fcee0e299197e022 100644
--- a/src/network_manager_listener.py
+++ b/src/network_manager_listener.py
@@ -3,16 +3,22 @@
 ## Copyright (C) 2006 Jeffrey C. Ollie <jeff at ocjtech.us>
 ## Copyright (C) 2006 Stefan Bethge <stefan at lanpartei.de>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
+import sys
 from common import gajim
 
 def device_now_active(self, *args):
@@ -29,23 +35,26 @@ def device_no_longer_active(self, *args):
 
 supported = False
 
-try:
-	from common.dbus_support import system_bus
-
-	bus = system_bus.SystemBus()
-
-	if 'org.freedesktop.NetworkManager' in bus.list_names():
-		supported = True
-		bus.add_signal_receiver(device_no_longer_active,
-			'DeviceNoLongerActive',
-			'org.freedesktop.NetworkManager',
-			'org.freedesktop.NetworkManager',
-			'/org/freedesktop/NetworkManager')
-
-		bus.add_signal_receiver(device_now_active,
-			'DeviceNowActive',
-			'org.freedesktop.NetworkManager',
-			'org.freedesktop.NetworkManager',
-			'/org/freedesktop/NetworkManager')
-except:
-	pass
+if sys.platform == 'darwin':
+	supported = True
+else:
+	try:
+		from common.dbus_support import system_bus
+
+		bus = system_bus.SystemBus()
+
+		if 'org.freedesktop.NetworkManager' in bus.list_names():
+			supported = True
+			bus.add_signal_receiver(device_no_longer_active,
+									'DeviceNoLongerActive',
+									'org.freedesktop.NetworkManager',
+									'org.freedesktop.NetworkManager',
+									'/org/freedesktop/NetworkManager')
+
+			bus.add_signal_receiver(device_now_active,
+									'DeviceNowActive',
+									'org.freedesktop.NetworkManager',
+									'org.freedesktop.NetworkManager',
+									'/org/freedesktop/NetworkManager')
+	except:
+		pass
diff --git a/src/notify.py b/src/notify.py
index 36555b04c9e8bde853b8efd3a5ed586aae18adcf..01974d688cd53299170f13c8255d40604591bab8 100644
--- a/src/notify.py
+++ b/src/notify.py
@@ -1,21 +1,27 @@
 ##	notify.py
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2007 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005-2006 Andrew Sayman <lorien420@myrealbox.com>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de> 
 ##
 ## Notification daemon connection via D-Bus code:
 ## Copyright (C) 2005 by Sebastian Estienne
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import os
 import time
@@ -40,6 +46,14 @@ try:
 except ImportError:
 	USER_HAS_PYNOTIFY = False
 
+USER_HAS_GROWL = True
+try:
+	import osx.growler
+	osx.growler.init()
+except:
+	USER_HAS_GROWL = False
+
+
 def get_show_in_roster(event, account, contact):
 	'''Return True if this event must be shown in roster, else False'''
 	if event == 'gc_message_received':
@@ -191,12 +205,12 @@ def notify(event, jid, account, parameters, advanced_notif_num = None):
 			transport_name = gajim.get_transport_name_from_jid(jid)
 			img = None
 			if transport_name:
-				img = os.path.join(gajim.DATA_DIR, 'iconsets',
-					'transports', transport_name, '48x48', show_image) 
+				img = os.path.join(helpers.get_transport_path(transport_name),
+					'48x48', show_image) 
 			if not img or not os.path.isfile(img):
 				iconset = gajim.config.get('iconset')
-				img = os.path.join(gajim.DATA_DIR, 'iconsets',
-						iconset, '48x48', show_image)
+				img = os.path.join(helpers.get_iconset_path(iconset), '48x48',
+					show_image)
 			path = gtkgui_helpers.get_path_to_generic_or_avatar(img,
 				jid = jid, suffix = suffix)
 			if event == 'status_change':
@@ -206,7 +220,7 @@ def notify(event, jid, account, parameters, advanced_notif_num = None):
 					{'nick': gajim.get_name_from_jid(account, jid),\
 					'status': helpers.get_uf_show(gajim.SHOW_LIST[new_show])}
 				if status_message:
-					text =  text + " : " + status_message
+					text = text + " : " + status_message
 				popup(_('Contact Changed Status'), jid, account,
 					path_to_image = path, title = title, text = text)
 			elif event == 'contact_connected':
@@ -338,6 +352,11 @@ def popup(event_type, jid, account, msg_type = '', path_to_image = None,
 		except gobject.GError, e:
 			# Connection to notification-daemon failed, see #2893
 			gajim.log.debug(str(e))
+	# try os/x growl
+	if USER_HAS_GROWL:
+		osx.growler.notify(event_type, jid, account, msg_type, path_to_image,
+			title, text)
+		return
 
 	# go old style
 	instance = dialogs.PopupNotificationWindow(event_type, jid, account,
@@ -484,8 +503,17 @@ class DesktopNotification:
 			except AttributeError:
 				version = [0, 3, 1] # we're actually dealing with the newer version
 		if version > [0, 3]:
-			if version >= [0, 3, 2]:
+			if gajim.interface.systray_enabled and \
+			gajim.config.get('attach_notifications_to_systray'):
+				x, y = gajim.interface.systray.img_tray.window.get_position()
+				x_, y_, width, height, depth = \
+					gajim.interface.systray.img_tray.window.get_geometry()
+				pos_x = x + (width / 2)
+				pos_y = y + (height / 2)
+				hints = {'x': pos_x, 'y': pos_y}
+			else:
 				hints = {}
+			if version >= [0, 3, 2]:
 				hints['urgency'] = dbus.Byte(0) # Low Urgency
 				hints['category'] = dbus.String(ntype)
 				self.notif.Notify(
@@ -507,7 +535,7 @@ class DesktopNotification:
 					dbus.String(self.title),
 					dbus.String(self.text),
 					dbus.String(''),
-					{},
+					hints,
 					dbus.UInt32(timeout*1000),
 					reply_handler=self.attach_by_id,
 					error_handler=self.notify_another_way)
diff --git a/src/osx/.deps/idle_la-idle.Plo b/src/osx/.deps/idle_la-idle.Plo
new file mode 100644
index 0000000000000000000000000000000000000000..9ce06a81ea45b2883a6faf07a0d2136bb2a4e647
--- /dev/null
+++ b/src/osx/.deps/idle_la-idle.Plo
@@ -0,0 +1 @@
+# dummy
diff --git a/src/osx/.deps/nsapp.Plo b/src/osx/.deps/nsapp.Plo
new file mode 100644
index 0000000000000000000000000000000000000000..9ce06a81ea45b2883a6faf07a0d2136bb2a4e647
--- /dev/null
+++ b/src/osx/.deps/nsapp.Plo
@@ -0,0 +1 @@
+# dummy
diff --git a/src/osx/Makefile.am b/src/osx/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..1ccc8309a7095500394a7978abf331c3b232c067
--- /dev/null
+++ b/src/osx/Makefile.am
@@ -0,0 +1,45 @@
+SUBDIRS = growl syncmenu
+
+ACLOCAL_AMFLAGS = -I ../m4
+
+OBJC = gcc
+
+export MACOSX_DEPLOYMENT_TARGET=10.4
+INCLUDES = \
+	$(PYTHON_INCLUDES) 
+
+if BUILD_IDLE_OSX
+idlelib_LTLIBRARIES = idle.la
+idlelibdir = $(libdir)/gajim
+
+idle_la_LIBADD = $(CARBON_LIBS) 
+
+idle_la_SOURCES = idle.c
+
+idle_la_LDFLAGS = \
+	-module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
+
+idle_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
+endif
+
+if BUILD_COCOA
+nsapplib_LTLIBRARIES = nsapp.la
+nsapplibdir = $(libdir)/gajim
+
+nsapp_la_LIBADD = $(COCOA_LIBS) 
+
+nsapp_la_SOURCES = nsapp.m
+
+nsapp_la_LDFLAGS = \
+	-module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
+
+nsapp_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
+
+AM_OBJCFLAGS = $(nsapp_la_CFLAGS)
+endif
+
+DISTCLEANFILES = 
+
+EXTRA_DIST = 
+
+MAINTAINERCLEANFILES = Makefile.in
diff --git a/src/osx/__init__.py b/src/osx/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee21386cbe672ff6dbd5392ec6c872ef9013a8ff
--- /dev/null
+++ b/src/osx/__init__.py
@@ -0,0 +1,45 @@
+import sys, commands
+from network_manager_listener import device_now_active, device_no_longer_active
+import nsapp
+
+
+if sys.platform != "darwin":
+	raise ImportError("System platform is not OS/X")
+
+
+net_device_active = True
+
+
+###
+### Utility functions
+###
+
+def checkPID(pid, procname):
+	out = commands.getstatusoutput("ps -wwp %d" % pid)
+	arr = out[1].split("\n")
+	if ((len(arr) == 2) and (arr[1].find(procname) >= 0)):
+		return True
+	return False
+
+
+def init():
+	nsapp.init()
+	nsapp.setNetworkCB(netDeviceChanged)
+	return
+
+
+def shutdown():
+	import dbus
+	dbus.shutdown()
+	return
+
+
+def netDeviceChanged():
+	global net_device_active
+	if net_device_active:
+		net_device_active = False
+		device_no_longer_active(None)
+	else:
+		net_device_active = True
+		device_now_active(None)
+	return
diff --git a/src/osx/dbus.py b/src/osx/dbus.py
new file mode 100644
index 0000000000000000000000000000000000000000..41f1e83c517524867a2bce7495044cf906045e8d
--- /dev/null
+++ b/src/osx/dbus.py
@@ -0,0 +1,131 @@
+###
+### Internal dbus management. This can go away once native gtk+ is in fink or
+### macports and we can require their dbus.
+###
+
+
+
+import os, sys, commands, signal
+
+if sys.platform != "darwin":
+	raise ImportError("System platform is not OS/X")
+
+import osx, osx.nsapp
+from common.configpaths import gajimpaths
+
+
+_GTK_BASE = "/Library/Frameworks/GTK+.framework/Versions/Current"
+
+
+def readEnv():
+	gajimpaths.add_from_root(u'dbus.env', u'dbus.env')
+	try:
+		dbus_env = file(gajimpaths[u'dbus.env'], "r")
+	except:
+		return False
+	try:
+		line1 = dbus_env.readline()
+		line2 = dbus_env.readline()
+		dbus_env.close()
+	except:
+		print "Invalid dbus.env file"
+		return False
+	return parseEnv(line1, line2)
+
+
+def parseEnv(line1, line2):
+	try:
+		if not line1 or not line2:
+			return False
+		if (not line1.startswith("DBUS_SESSION_BUS_ADDRESS=") or
+		not line2.startswith("DBUS_SESSION_BUS_PID=")):
+			return False
+		arr = line2.split("=")
+		pid = arr[1].strip().strip('"')
+		if not osx.checkPID(int(pid), "dbus-daemon"):
+			return False
+		line1 = line1.strip()
+		loc = line1.find("=")
+		address = line1[loc + 1:]
+		address = address.strip().strip('"')
+		return [address, pid]
+	except Exception, e:
+		print "Invalid dbus.env file", e
+		return False
+	return None
+
+
+def setEnv(env):
+	os.environ['DBUS_SESSION_BUS_ADDRESS'] = env[0]
+	os.environ['DBUS_SESSION_BUS_PID'] = env[1]
+	return
+
+
+def writeEnv(env):
+	gajimpaths.add_from_root(u'dbus.env', u'dbus.env')
+	try:
+		dbus_env = file(gajimpaths[u'dbus.env'], "w+")
+		dbus_env.write("DBUS_SESSION_BUS_ADDRESS=\"" + env[0] + "\"\n")
+		dbus_env.write("DBUS_SESSION_BUS_PID=\"" + env[1] + "\"\n")
+		dbus_env.close()
+	except Exception, e:
+		print "Failed to write file: %s" % gajimpaths[u'dbus.env']
+		print str(e)
+	return
+
+
+def checkUUID():
+	if os.path.exists(_GTK_BASE + "/var/lib/dbus/machine-id"):
+		return
+	ret = commands.getstatusoutput(_GTK_BASE + "/bin/dbus-uuidgen --ensure")
+	if ret[0] != 0:
+		print "Failed to initialize dbus machine UUID:", ret[1]
+	return
+
+
+def load(start):
+	# Look for existing external session and just use it if it exists
+	if (('DBUS_SESSION_BUS_ADDRESS' in os.environ) and
+		('DBUS_SESSION_BUS_PID' in os.environ) and
+		osx.checkPID(int(os.environ['DBUS_SESSION_BUS_PID']), 'dbus-daemon')):
+		return True
+
+	# Look for our own internal session
+	env = readEnv()
+	if env:
+		# We have a valid existing dbus session, yay
+		setEnv(env)
+		return True
+
+	# Initialize the machine's UUID if not done yet
+	checkUUID()
+
+	if start:
+		# None found, start a new session
+		print "Starting new dbus session"
+		#cmd = os.path.join(osx.nsapp.getBundlePath(),
+		#		  "Contents/Resources/bin/dbus-launch --exit-with-session")
+		cmd = _GTK_BASE + "/bin/dbus-launch --exit-with-session"
+		ret = commands.getstatusoutput(cmd)
+		arr = ret[1].split("\n")
+		if len(arr) != 2:
+			print "Failed to start internal dbus session:"
+			print ret[1]
+			return
+		env = parseEnv(arr[0].strip(), arr[1].strip())
+		if not env:
+			print "Failed to start internal dbus session:"
+			print ret[1]
+			return
+		setEnv(env)
+		writeEnv(env)
+		return True
+	return False
+
+
+def shutdown():
+	env = readEnv()
+	if not env:
+		return
+	os.kill(int(env[1]), signal.SIGINT)
+	return
diff --git a/src/osx/growl/.deps/_growlImage.Plo b/src/osx/growl/.deps/_growlImage.Plo
new file mode 100644
index 0000000000000000000000000000000000000000..9ce06a81ea45b2883a6faf07a0d2136bb2a4e647
--- /dev/null
+++ b/src/osx/growl/.deps/_growlImage.Plo
@@ -0,0 +1 @@
+# dummy
diff --git a/src/osx/growl/.deps/_growl_la-_growl.Plo b/src/osx/growl/.deps/_growl_la-_growl.Plo
new file mode 100644
index 0000000000000000000000000000000000000000..9ce06a81ea45b2883a6faf07a0d2136bb2a4e647
--- /dev/null
+++ b/src/osx/growl/.deps/_growl_la-_growl.Plo
@@ -0,0 +1 @@
+# dummy
diff --git a/src/osx/growl/Growl.py b/src/osx/growl/Growl.py
new file mode 100644
index 0000000000000000000000000000000000000000..15e037673701538383c6632454582b2b44e882f3
--- /dev/null
+++ b/src/osx/growl/Growl.py
@@ -0,0 +1,247 @@
+"""
+A Python module that enables posting notifications to the Growl daemon.
+See <http://growl.info/> for more information.
+"""
+__version__ = "0.7" 
+__author__ = "Mark Rowe <bdash@users.sourceforge.net>"
+__copyright__ = "(C) 2003 Mark Rowe <bdash@users.sourceforge.net>. Released under the BSD license."
+__contributors__ = ["Ingmar J Stein (Growl Team)", 
+                    "Rui Carmo (http://the.taoofmac.com)",
+                    "Jeremy Rossi <jeremy@jeremyrossi.com>"
+                   ]
+
+try:
+    import _growl
+except:
+    _growl = False
+import types
+import struct
+import md5
+import socket
+
+GROWL_UDP_PORT=9887
+GROWL_PROTOCOL_VERSION=1
+GROWL_TYPE_REGISTRATION=0
+GROWL_TYPE_NOTIFICATION=1
+
+GROWL_APP_NAME="ApplicationName"
+GROWL_APP_ICON="ApplicationIcon"
+GROWL_NOTIFICATIONS_DEFAULT="DefaultNotifications"
+GROWL_NOTIFICATIONS_ALL="AllNotifications"
+GROWL_NOTIFICATIONS_USER_SET="AllowedUserNotifications"
+
+GROWL_NOTIFICATION_NAME="NotificationName"
+GROWL_NOTIFICATION_TITLE="NotificationTitle"
+GROWL_NOTIFICATION_DESCRIPTION="NotificationDescription"
+GROWL_NOTIFICATION_ICON="NotificationIcon"
+GROWL_NOTIFICATION_APP_ICON="NotificationAppIcon"
+GROWL_NOTIFICATION_PRIORITY="NotificationPriority"
+        
+GROWL_NOTIFICATION_STICKY="NotificationSticky"
+GROWL_NOTIFICATION_CLICK_CONTEXT="NotificationClickContext"
+
+GROWL_APP_REGISTRATION="GrowlApplicationRegistrationNotification"
+GROWL_APP_REGISTRATION_CONF="GrowlApplicationRegistrationConfirmationNotification"
+GROWL_NOTIFICATION="GrowlNotification"
+GROWL_SHUTDOWN="GrowlShutdown"
+GROWL_PING="Honey, Mind Taking Out The Trash"
+GROWL_PONG="What Do You Want From Me, Woman"
+GROWL_IS_READY="Lend Me Some Sugar; I Am Your Neighbor!"
+
+GROWL_NOTIFICATION_CLICKED="GrowlClicked!"
+GROWL_NOTIFICATION_TIMED_OUT="GrowlTimedOut!"
+GROWL_KEY_CLICKED_CONTEXT="ClickedContext"
+
+    
+growlPriority = {"Very Low":-2,"Moderate":-1,"Normal":0,"High":1,"Emergency":2}
+
+class netgrowl:
+    """Builds a Growl Network Registration packet.
+       Defaults to emulating the command-line growlnotify utility."""
+
+    __notAllowed__ = [GROWL_APP_ICON, GROWL_NOTIFICATION_ICON, GROWL_NOTIFICATION_APP_ICON]
+
+    def __init__(self, hostname, password ):
+        self.hostname = hostname
+        self.password = password
+        self.socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
+
+    def send(self, data):
+        self.socket.sendto(data, (self.hostname, GROWL_UDP_PORT))
+        
+    def PostNotification(self, userInfo):
+        if userInfo.has_key(GROWL_NOTIFICATION_PRIORITY):
+            priority = userInfo[GROWL_NOTIFICATION_PRIORITY]
+        else:
+            priority = 0
+        if userInfo.has_key(GROWL_NOTIFICATION_STICKY):
+            sticky = userInfo[GROWL_NOTIFICATION_STICKY]
+        else:
+            priority = False
+        data = self.encodeNotify(userInfo[GROWL_APP_NAME],
+                                 userInfo[GROWL_NOTIFICATION_NAME],
+                                 userInfo[GROWL_NOTIFICATION_TITLE],
+                                 userInfo[GROWL_NOTIFICATION_DESCRIPTION],
+                                 priority,
+                                 sticky)
+        return self.send(data)
+
+    def PostRegistration(self, userInfo):
+        data = self.encodeRegistration(userInfo[GROWL_APP_NAME],
+                                       userInfo[GROWL_NOTIFICATIONS_ALL],
+                                       userInfo[GROWL_NOTIFICATIONS_DEFAULT])
+        return self.send(data)
+
+    def encodeRegistration(self, application, notifications, defaultNotifications):
+        data = struct.pack("!BBH",
+                           GROWL_PROTOCOL_VERSION,
+                           GROWL_TYPE_REGISTRATION,
+                           len(application) )
+        data += struct.pack("BB",
+                            len(notifications),
+                            len(defaultNotifications) )
+        data += application
+        for i in notifications:
+            encoded = i.encode("utf-8")
+            data += struct.pack("!H", len(encoded))
+            data += encoded
+        for i in defaultNotifications:
+            data += struct.pack("B", i)
+        return self.encodePassword(data)
+
+    def encodeNotify(self, application, notification, title, description,
+                     priority = 0, sticky = False):
+
+        application  = application.encode("utf-8")
+        notification = notification.encode("utf-8")
+        title        = title.encode("utf-8")
+        description  = description.encode("utf-8")
+        flags = (priority & 0x07) * 2
+        if priority < 0: 
+            flags |= 0x08
+        if sticky: 
+            flags = flags | 0x0001
+        data = struct.pack("!BBHHHHH",
+                           GROWL_PROTOCOL_VERSION,
+                           GROWL_TYPE_NOTIFICATION,
+                           flags,
+                           len(notification),
+                           len(title),
+                           len(description),
+                           len(application) )
+        data += notification
+        data += title
+        data += description
+        data += application
+        return self.encodePassword(data)
+
+    def encodePassword(self, data):
+        checksum = md5.new()
+        checksum.update(data)
+        if self.password:
+           checksum.update(self.password)
+        data += checksum.digest()
+        return data
+
+class _ImageHook(type):
+    def __getattribute__(self, attr):
+        global Image
+        if Image is self:
+            from _growlImage import Image
+
+        return getattr(Image, attr)
+
+class Image(object):
+    __metaclass__ = _ImageHook
+
+class _RawImage(object):
+    def __init__(self, data):  self.rawImageData = data
+
+class GrowlNotifier(object):
+    """
+    A class that abstracts the process of registering and posting
+    notifications to the Growl daemon.
+
+    You can either pass `applicationName', `notifications',
+    `defaultNotifications' and `applicationIcon' to the constructor
+    or you may define them as class-level variables in a sub-class.
+
+    `defaultNotifications' is optional, and defaults to the value of
+    `notifications'.  `applicationIcon' is also optional but defaults
+    to a pointless icon so is better to be specified.
+    """
+
+    applicationName = 'GrowlNotifier'
+    notifications = []
+    defaultNotifications = []
+    applicationIcon = None
+    _notifyMethod = _growl
+    _notify_cb = None
+
+    def __init__(self, applicationName=None, notifications=None, defaultNotifications=None, applicationIcon=None, hostname=None, password=None, notify_cb=None):
+        assert(applicationName is not None, 'an application name is required')
+        self.applicationName = applicationName
+
+        assert(notifications, 'a sequence of one or more notification names is required')
+        self.notifications = list(notifications)
+        if defaultNotifications is not None:
+            self.defaultNotifications = list(defaultNotifications)
+        else:
+            self.defaultNotifications = list(self.notifications)
+
+        if applicationIcon is not None:
+            self.applicationIcon = self._checkIcon(applicationIcon)
+
+        if hostname is not None and password is not None:
+            self._notifyMethod = netgrowl(hostname, password)
+        elif hostname is not None or password is not None:
+            raise KeyError, "Hostname and Password are both required for a network notification"
+
+        if notify_cb is not None:
+            self._notify_cb = notify_cb
+        else:
+            self._notify_cb = self.notifyCB
+
+        if hostname is None and password is None:
+            self._notifyMethod.Init(applicationName, self._notify_cb)
+
+    def _checkIcon(self, data):
+        if isinstance(data, str):
+            return _RawImage(data)
+        else:
+            return data
+
+    def register(self):
+        if self.applicationIcon is not None:
+            self.applicationIcon = self._checkIcon(self.applicationIcon)
+
+        regInfo = {GROWL_APP_NAME: self.applicationName,
+                   GROWL_NOTIFICATIONS_ALL: self.notifications,
+                   GROWL_NOTIFICATIONS_DEFAULT: self.defaultNotifications,
+                   GROWL_APP_ICON:self.applicationIcon,
+                  }
+        self._notifyMethod.PostRegistration(regInfo)
+
+    def notify(self, noteType, title, description, icon=None, sticky=False, priority=None, context=None):
+        assert noteType in self.notifications
+        notifyInfo = {GROWL_NOTIFICATION_NAME: noteType,
+                      GROWL_APP_NAME: self.applicationName,
+                      GROWL_NOTIFICATION_TITLE: title,
+                      GROWL_NOTIFICATION_DESCRIPTION: description,
+                     }
+        if sticky:
+            notifyInfo[GROWL_NOTIFICATION_STICKY] = 1
+
+        if priority is not None:
+            notifyInfo[GROWL_NOTIFICATION_PRIORITY] = priority
+
+        if icon:
+            notifyInfo[GROWL_NOTIFICATION_ICON] = self._checkIcon(icon)
+
+        if context:
+            notifyInfo[GROWL_NOTIFICATION_CLICK_CONTEXT] = context
+
+        self._notifyMethod.PostNotification(notifyInfo)
+
+    def notifyCB(self, userdata):
+        print "Got notify in pyland", userdata
diff --git a/src/osx/growl/Makefile.am b/src/osx/growl/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..df48b58d8542ecc4f5260678cc12f5f1896d5b8f
--- /dev/null
+++ b/src/osx/growl/Makefile.am
@@ -0,0 +1,41 @@
+OBJC = gcc
+
+export MACOSX_DEPLOYMENT_TARGET=10.4
+INCLUDES = \
+	$(PYTHON_INCLUDES) 
+
+if BUILD_CARBON
+_growllib_LTLIBRARIES = _growl.la
+_growllibdir = $(libdir)/gajim
+
+_growl_la_LIBADD = $(CARBON_LIBS) 
+
+_growl_la_SOURCES = _growl.c
+
+_growl_la_LDFLAGS = \
+	-module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
+
+_growl_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
+endif
+
+if BUILD_COCOA
+_growlImagelib_LTLIBRARIES = _growlImage.la
+_growlImagelibdir = $(libdir)/gajim
+
+_growlImage_la_LIBADD = $(COCOA_LIBS) 
+
+_growlImage_la_SOURCES = _growlImage.m
+
+_growlImage_la_LDFLAGS = \
+	-module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386
+
+_growlImage_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(PYTHON_INCLUDES)
+
+AM_OBJCFLAGS = $(_growlImage_la_CFLAGS)
+endif
+
+DISTCLEANFILES = 
+
+EXTRA_DIST = 
+
+MAINTAINERCLEANFILES = Makefile.in
diff --git a/src/osx/growl/__init__.py b/src/osx/growl/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2f3c16e5d92f43ea80abec5e3edb145b947277c3
--- /dev/null
+++ b/src/osx/growl/__init__.py
@@ -0,0 +1 @@
+# No-op file that just helps python with the growl module directory.
diff --git a/src/osx/growl/_growl.c b/src/osx/growl/_growl.c
new file mode 100644
index 0000000000000000000000000000000000000000..11ac07e932f92a3d2ffc04ca1c7f5d8edd61be23
--- /dev/null
+++ b/src/osx/growl/_growl.c
@@ -0,0 +1,239 @@
+/*
+ * Copyright 2004-2005 The Growl Project.
+ * Created by Jeremy Rossi <jeremy@jeremyrossi.com>
+ * Released under the BSD license.
+ */
+
+#include <Python.h>
+#include <CoreFoundation/CoreFoundation.h>
+
+#define str(cfstr) CFStringGetCStringPtr(cfstr, kCFStringEncodingMacRoman)
+#define cfstr(str) CFStringCreateWithCString(kCFAllocatorDefault, str, kCFStringEncodingMacRoman)
+
+static PyObject * _notify_cb = NULL;
+
+
+static PyObject * growl_PostDictionary(CFStringRef name, PyObject *self, PyObject *args) {
+	int i, j;
+
+	PyObject *inputDict;
+	PyObject *pKeys = NULL;
+	PyObject *pKey, *pValue;
+
+	CFMutableDictionaryRef note = CFDictionaryCreateMutable(kCFAllocatorDefault,
+															/*capacity*/ 0,
+															&kCFTypeDictionaryKeyCallBacks,
+															&kCFTypeDictionaryValueCallBacks);
+
+	if (!PyArg_ParseTuple(args, "O!", &PyDict_Type, &inputDict))
+		goto error;
+
+	pKeys = PyDict_Keys(inputDict);
+	for (i = 0; i < PyList_Size(pKeys); ++i) {
+		CFStringRef convertedKey;
+
+		/* Converting the PyDict key to NSString and used for key in note */
+		pKey = PyList_GetItem(pKeys, i);
+		if (!pKey)
+			// Exception already set
+			goto error;
+		pValue = PyDict_GetItem(inputDict, pKey);
+		if (!pValue) {
+			// XXX Neeed a real Error message here.
+			PyErr_SetString(PyExc_TypeError," ");
+			goto error;
+		}
+		if (PyUnicode_Check(pKey)) {
+			convertedKey = CFStringCreateWithBytes(kCFAllocatorDefault,
+												   (const UInt8 *)PyUnicode_AS_DATA(pKey),
+												   PyUnicode_GET_DATA_SIZE(pKey),
+												   kCFStringEncodingUnicode,
+												   false);
+		} else if (PyString_Check(pKey)) {
+			convertedKey = CFStringCreateWithCString(kCFAllocatorDefault,
+													 PyString_AsString(pKey),
+													 kCFStringEncodingUTF8);
+		} else {
+			PyErr_SetString(PyExc_TypeError,"The Dict keys must be strings/unicode");
+			goto error;
+		}
+
+		/* Converting the PyDict value to NSString or NSData based on class  */
+		if (PyString_Check(pValue)) {
+			CFStringRef convertedValue = CFStringCreateWithCString(kCFAllocatorDefault,
+																   PyString_AS_STRING(pValue),
+																   kCFStringEncodingUTF8);
+			CFDictionarySetValue(note, convertedKey, convertedValue);
+			CFRelease(convertedValue);
+		} else if (PyUnicode_Check(pValue)) {
+			CFStringRef convertedValue = CFStringCreateWithBytes(kCFAllocatorDefault,
+																 (const UInt8 *)PyUnicode_AS_DATA(pValue),
+																 PyUnicode_GET_DATA_SIZE(pValue),
+																 kCFStringEncodingUnicode,
+																 false);
+			CFDictionarySetValue(note, convertedKey, convertedValue);
+			CFRelease(convertedValue);
+		} else if (PyInt_Check(pValue)) {
+			long v = PyInt_AS_LONG(pValue);
+			CFNumberRef convertedValue = CFNumberCreate(kCFAllocatorDefault,
+														kCFNumberLongType,
+														&v);
+			CFDictionarySetValue(note, convertedKey, convertedValue);
+			CFRelease(convertedValue);
+		} else if (pValue == Py_None) {
+			CFDataRef convertedValue = CFDataCreate(kCFAllocatorDefault, NULL, 0);
+			CFDictionarySetValue(note, convertedKey, convertedValue);
+			CFRelease(convertedValue);
+		} else if (PyList_Check(pValue)) {
+			int size = PyList_Size(pValue);
+			CFMutableArrayRef listHolder = CFArrayCreateMutable(kCFAllocatorDefault,
+																size,
+																&kCFTypeArrayCallBacks);
+			for (j = 0; j < size; ++j) {
+				PyObject *lValue = PyList_GetItem(pValue, j);
+				if (PyString_Check(lValue)) {
+					CFStringRef convertedValue = CFStringCreateWithCString(kCFAllocatorDefault,
+																		   PyString_AS_STRING(lValue),
+																		   kCFStringEncodingUTF8);
+					CFArrayAppendValue(listHolder, convertedValue);
+					CFRelease(convertedValue);
+				} else if (PyUnicode_Check(lValue)) {
+					CFStringRef convertedValue = CFStringCreateWithBytes(kCFAllocatorDefault,
+																		 (const UInt8 *)PyUnicode_AS_DATA(lValue),
+																		 PyUnicode_GET_DATA_SIZE(lValue),
+																		 kCFStringEncodingUnicode,
+																		 false);
+					CFArrayAppendValue(listHolder, convertedValue);
+					CFRelease(convertedValue);
+				} else {
+					CFRelease(convertedKey);
+					PyErr_SetString(PyExc_TypeError,"The lists must only contain strings");
+					goto error;
+				}
+			}
+			CFDictionarySetValue(note, convertedKey, listHolder);
+			CFRelease(listHolder);
+		} else if (PyObject_HasAttrString(pValue, "rawImageData")) {
+			PyObject *lValue = PyObject_GetAttrString(pValue, "rawImageData");
+			if (!lValue) {
+				goto error;
+			} else if (PyString_Check(lValue)) {
+				CFDataRef convertedValue = CFDataCreate(kCFAllocatorDefault,
+														(const UInt8 *)PyString_AsString(lValue),
+														PyString_Size(lValue));
+				CFDictionarySetValue(note, convertedKey, convertedValue);
+				CFRelease(convertedValue);
+			} else {
+				CFRelease(convertedKey);
+				PyErr_SetString(PyExc_TypeError, "Icon with rawImageData attribute present must ensure it is a string.");
+				goto error;
+			}
+		} else {
+			CFRelease(convertedKey);
+			PyErr_SetString(PyExc_TypeError, "Value is not of Str/List");
+			goto error;
+		}
+		CFRelease(convertedKey);
+	}
+
+	Py_BEGIN_ALLOW_THREADS
+	CFNotificationCenterPostNotification(CFNotificationCenterGetDistributedCenter(),
+										 /*name*/ name,
+										 /*object*/ NULL,
+										 /*userInfo*/ note,
+										 /*deliverImmediately*/ false);
+	CFRelease(note);
+	Py_END_ALLOW_THREADS
+
+	Py_DECREF(pKeys);
+
+	Py_INCREF(Py_None);
+	return Py_None;
+
+error:
+	CFRelease(note);
+
+	Py_XDECREF(pKeys);
+
+	return NULL;
+}
+
+static void growl_NotifyCB(CFNotificationCenterRef center, void *observer,
+                           CFStringRef name, const void *object,
+                           CFDictionaryRef userInfo)
+{
+    CFIndex size, len;
+    const void * keys[1];
+    const void * values[1];
+    CFArrayRef arr;
+    CFStringRef cfstr;
+    CFRange cfrange;
+    UInt8 *buff;
+    int i;
+    PyObject * pylist;
+
+    cfrange.location = 0;
+    CFDictionaryGetKeysAndValues(userInfo, keys, values);
+    arr = (CFArrayRef)values[0];
+    size = CFArrayGetCount(arr);
+    pylist = PyList_New(size);
+    for (i=0; i < size; ++i)
+    {
+        cfstr = (CFStringRef)CFArrayGetValueAtIndex(arr, i);
+        cfrange.length = CFStringGetLength(cfstr);
+        CFStringGetBytes(cfstr, cfrange, kCFStringEncodingUnicode, 0, false,
+                         NULL, 0, &len);
+        buff = (UInt8*)malloc(len);
+        CFStringGetBytes(cfstr, cfrange, kCFStringEncodingUnicode, 0, false,
+                         buff, len, &len);
+        PyList_SetItem(pylist, i,
+                       PyUnicode_DecodeUTF16((char*)buff, len, NULL, NULL));
+        free(buff);
+    }
+
+    PyObject_CallObject(_notify_cb, Py_BuildValue("(O)", pylist));
+    Py_DECREF(pylist);
+}
+
+static PyObject * growl_Init(PyObject *self, PyObject *args)
+{
+    char* name = NULL;
+
+	if (!PyArg_ParseTuple(args, "sO", &name, &_notify_cb))
+        return NULL;
+
+	Py_INCREF(_notify_cb);
+
+    char* buff = (char*)malloc(strlen(name) + 14);
+    strcpy(buff, name);
+    strcat(buff, "GrowlClicked!");
+    CFStringRef cfbuff = cfstr(buff);
+    CFNotificationCenterAddObserver(
+        CFNotificationCenterGetDistributedCenter(), NULL, &growl_NotifyCB,
+        cfbuff, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
+    free(buff);
+    CFRelease(cfbuff);
+
+	Py_INCREF(Py_None);
+	return Py_None;
+}
+
+static PyObject * growl_PostRegistration(PyObject *self, PyObject *args) {
+	return growl_PostDictionary(CFSTR("GrowlApplicationRegistrationNotification"), self, args);
+}
+
+static PyObject * growl_PostNotification(PyObject *self, PyObject *args) {
+	return growl_PostDictionary(CFSTR("GrowlNotification"), self, args);
+}
+
+static PyMethodDef GrowlMethods[] = {
+	{"Init", growl_Init, METH_VARARGS, "Initialize notifications with GrowlHelperApp"},
+	{"PostNotification", growl_PostNotification, METH_VARARGS, "Send a notification to GrowlHelperApp"},
+	{"PostRegistration", growl_PostRegistration, METH_VARARGS, "Send a registration to GrowlHelperApp"},
+	{NULL, NULL, 0, NULL}		/* Sentinel */
+};
+
+
+PyMODINIT_FUNC init_growl(void) {
+	Py_InitModule("_growl", GrowlMethods);
+}
diff --git a/src/osx/growl/_growlImage.m b/src/osx/growl/_growlImage.m
new file mode 100644
index 0000000000000000000000000000000000000000..d4b2b72f9fe5884e6fd317245769b511f15e6df3
--- /dev/null
+++ b/src/osx/growl/_growlImage.m
@@ -0,0 +1,274 @@
+/*
+ * Copyright 2004 Mark Rowe <bdash@users.sourceforge.net>
+ * Released under the BSD license.
+ */
+
+#include "Python.h"
+#import <Cocoa/Cocoa.h>
+
+typedef struct
+{
+  PyObject_HEAD
+  NSImage *theImage;
+} ImageObject;
+
+
+static PyTypeObject ImageObject_Type;
+
+#define ImageObject_Check(v)  ((v)->ob_type == &ImageObject_Type)
+
+static ImageObject *
+newImageObject(NSImage *img)
+{
+    ImageObject *self;
+    if (! img)
+    {
+        PyErr_SetString(PyExc_TypeError, "Invalid image.");
+        return NULL;
+    }
+        
+    self = PyObject_New(ImageObject, &ImageObject_Type);
+    if (! self)
+        return NULL;
+    
+    self->theImage = [img retain];
+    return self;
+}
+
+static void
+ImageObject_dealloc(ImageObject *self)
+{
+    PyObject_Del(self);
+}
+
+static PyObject *
+ImageObject_getAttr(PyObject *self, PyObject *attr)
+{
+    char *theAttr = PyString_AsString(attr);
+    NSAutoreleasePool *pool = nil;
+    
+    if (strcmp(theAttr, "rawImageData") == 0)
+    {
+        pool = [[NSAutoreleasePool alloc] init];
+        NSData *imageData = [((ImageObject *) self)->theImage TIFFRepresentation];
+        PyObject *pyImageData = PyString_FromStringAndSize([imageData bytes], [imageData length]);
+        [pool release];
+        return pyImageData;
+    }
+    else
+        return PyObject_GenericGetAttr(self, attr);
+}
+
+
+static PyObject *
+ImageObject_imageFromPath(PyTypeObject *cls, PyObject *args)
+{
+    ImageObject *self;
+    char *fileName_ = NULL;
+    NSString *fileName = nil;
+    NSImage *theImage = nil;
+    NSAutoreleasePool *pool = nil;
+    
+    if (! PyArg_ParseTuple(args, "et:imageFromPath",
+                           Py_FileSystemDefaultEncoding, &fileName_))
+        return NULL;
+        
+    pool = [[NSAutoreleasePool alloc] init];
+    
+    fileName = [NSString stringWithUTF8String:fileName_];
+    theImage = [[[NSImage alloc] initWithContentsOfFile:fileName] autorelease];
+    self = newImageObject(theImage);
+    
+    [pool release];
+    return (PyObject *) self;
+}
+
+static PyObject *
+ImageObject_imageWithData(PyTypeObject *cls, PyObject *args)
+{
+    ImageObject *self;
+    char *imageData = NULL;
+    int imageDataSize = 0;
+    NSImage *theImage = nil;
+    NSAutoreleasePool *pool = nil;
+    
+    if (! PyArg_ParseTuple(args, "s#:imageWithData",
+                           &imageData, &imageDataSize))
+        return NULL;
+        
+    pool = [[NSAutoreleasePool alloc] init];
+    
+
+    theImage = [[[NSImage alloc] initWithData:[NSData dataWithBytes:imageData
+                                                             length:imageDataSize]] autorelease];
+    self = newImageObject(theImage);
+    
+    [pool release];
+    return (PyObject *) self;
+}
+
+static PyObject *
+ImageObject_imageWithIconForFile(PyTypeObject *cls, PyObject *args)
+{
+    ImageObject *self;
+    char *fileName_ = NULL;
+    NSString *fileName = nil;
+    NSImage *theImage = nil;
+    NSAutoreleasePool *pool = nil;
+    
+    if (! PyArg_ParseTuple(args, "et:imageWithIconForFile",
+                           Py_FileSystemDefaultEncoding, &fileName_))
+        return NULL;
+        
+    pool = [[NSAutoreleasePool alloc] init];
+    
+    fileName = [NSString stringWithUTF8String:fileName_];
+    theImage = [[NSWorkspace sharedWorkspace] iconForFile:fileName];
+    self = newImageObject(theImage);
+    
+    [pool release];
+    return (PyObject *) self;
+}
+
+static PyObject *
+ImageObject_imageWithIconForFileType(PyTypeObject *cls, PyObject *args)
+{
+    ImageObject *self;
+    char *fileType = NULL;
+    NSImage *theImage = nil;
+    NSAutoreleasePool *pool = nil;
+    
+    if (! PyArg_ParseTuple(args, "s:imageWithIconForFileType",
+                           &fileType))
+        return NULL;
+        
+    pool = [[NSAutoreleasePool alloc] init];
+    
+    theImage = [[NSWorkspace sharedWorkspace] iconForFileType:[NSString stringWithUTF8String:fileType]];
+    self = newImageObject(theImage);
+    
+    [pool release];
+    return (PyObject *) self;
+}
+
+static PyObject *
+ImageObject_imageWithIconForCurrentApplication(PyTypeObject *cls, PyObject *args)
+{
+    ImageObject *self;
+    NSAutoreleasePool *pool = nil;
+    
+    if (! PyArg_ParseTuple(args, ":imageWithIconForCurrentApplication"))
+        return NULL;
+        
+    pool = [[NSAutoreleasePool alloc] init];
+    
+    self = newImageObject([NSApp applicationIconImage]);
+    
+    [pool release];
+    return (PyObject *) self;
+}
+
+static PyObject *
+ImageObject_imageWithIconForApplication(PyTypeObject *cls, PyObject *args)
+{
+    ImageObject *self;
+    char *appName_ = NULL;
+    NSString *appName = nil;
+    NSString *appPath = nil;
+    NSImage *theImage = nil;
+    NSAutoreleasePool *pool = nil;
+    
+    if (! PyArg_ParseTuple(args, "et:imageWithIconForApplication",
+                           Py_FileSystemDefaultEncoding, &appName_))
+        return NULL;
+        
+    pool = [[NSAutoreleasePool alloc] init];
+    
+    appName = [NSString stringWithUTF8String:appName_];
+    appPath = [[NSWorkspace sharedWorkspace] fullPathForApplication:appName];
+    if (! appPath)
+    {
+        PyErr_Format(PyExc_RuntimeError, "Application named '%s' not found", appName_);
+        self = NULL;
+        goto done;
+    }
+    theImage = [[NSWorkspace sharedWorkspace] iconForFile:appPath];
+    self = newImageObject(theImage);
+
+done:
+    [pool release];
+    return (PyObject *) self;
+}
+
+
+static PyMethodDef ImageObject_methods[] = {
+    {"imageFromPath", (PyCFunction)ImageObject_imageFromPath, METH_VARARGS | METH_CLASS},
+    {"imageWithData", (PyCFunction)ImageObject_imageWithData, METH_VARARGS | METH_CLASS},
+    {"imageWithIconForFile", (PyCFunction)ImageObject_imageWithIconForFile, METH_VARARGS | METH_CLASS},
+    {"imageWithIconForFileType", (PyCFunction)ImageObject_imageWithIconForFileType, METH_VARARGS | METH_CLASS},
+    {"imageWithIconForCurrentApplication", (PyCFunction)ImageObject_imageWithIconForCurrentApplication, METH_VARARGS | METH_CLASS},
+    {"imageWithIconForApplication", (PyCFunction)ImageObject_imageWithIconForApplication, METH_VARARGS | METH_CLASS},
+    {NULL, NULL} /* sentinel */
+};
+
+static PyTypeObject ImageObject_Type = {
+        PyObject_HEAD_INIT(NULL)
+        0,                      /*ob_size*/
+        "_growlImage.Image",    /*tp_name*/
+        sizeof(ImageObject),    /*tp_basicsize*/
+        0,                      /*tp_itemsize*/
+        /* methods */
+        (destructor)ImageObject_dealloc, /*tp_dealloc*/
+        0,                      /*tp_print*/
+        0,                      /*tp_getattr*/
+        0,                      /*tp_setattr*/
+        0,                      /*tp_compare*/
+        0,                      /*tp_repr*/
+        0,                      /*tp_as_number*/
+        0,                      /*tp_as_sequence*/
+        0,                      /*tp_as_mapping*/
+        0,                      /*tp_hash*/
+        0,                      /*tp_call*/
+        0,                      /*tp_str*/
+        ImageObject_getAttr,    /*tp_getattro*/
+        0,                      /*tp_setattro*/
+        0,                      /*tp_as_buffer*/
+        Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_CLASS,     /*tp_flags*/
+        0,                      /*tp_doc*/
+        0,                      /*tp_traverse*/
+        0,                      /*tp_clear*/
+        0,                      /*tp_richcompare*/
+        0,                      /*tp_weaklistoffset*/
+        0,                      /*tp_iter*/
+        0,                      /*tp_iternext*/
+        ImageObject_methods,    /*tp_methods*/
+        0,                      /*tp_members*/
+        0,                      /*tp_getset*/
+        0,                      /*tp_base*/
+        0,                      /*tp_dict*/
+        0,                      /*tp_descr_get*/
+        0,                      /*tp_descr_set*/
+        0,                      /*tp_dictoffset*/
+        0,                      /*tp_init*/
+        PyType_GenericAlloc,    /*tp_alloc*/
+        0,                      /*tp_new*/
+        0,                      /*tp_free*/
+        0,                      /*tp_is_gc*/
+};
+
+static PyMethodDef _growlImage_methods[] = {
+    {NULL, NULL}
+};
+
+PyMODINIT_FUNC
+init_growlImage(void)
+{
+    PyObject *m;
+    
+    if (PyType_Ready(&ImageObject_Type) < 0)
+        return;
+    
+    m = Py_InitModule("_growlImage", _growlImage_methods);
+    
+    PyModule_AddObject(m, "Image", (PyObject *)&ImageObject_Type);
+}
diff --git a/src/osx/growl/setup.py b/src/osx/growl/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a7235deee78c9138dd52ed86f5cff25e7433fcc
--- /dev/null
+++ b/src/osx/growl/setup.py
@@ -0,0 +1,25 @@
+#!/usr/bin/python
+from distutils.core import setup, Extension
+import sys
+
+_growl = Extension('_growl',
+                    extra_link_args = ["-framework","CoreFoundation"],
+                    sources = ['libgrowl.c'])
+_growlImage = Extension('_growlImage',
+                        extra_link_args = ["-framework","Cocoa"],
+                        sources = ['growlImage.m'])
+
+if sys.platform.startswith("darwin"):
+    modules = [_growl, _growlImage]
+else:
+    modules = []
+
+setup(name="py-Growl",
+      version="0.0.7",
+      description="Python bindings for posting notifications to the Growl daemon",
+      author="Mark Rowe",
+      author_email="bdash@users.sourceforge.net",
+      url="http://growl.info",
+      py_modules=["Growl"],
+      ext_modules = modules )
+
diff --git a/src/osx/growler.py b/src/osx/growler.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3ea320cf42771a330acf442e984c7825ca0bb96
--- /dev/null
+++ b/src/osx/growler.py
@@ -0,0 +1,63 @@
+import sys, os
+from growl.Growl import GrowlNotifier
+from common import gajim, helpers
+
+
+if sys.platform != "darwin":
+	raise ImportError("System platform is not OS/X")
+
+
+GENERIC_NOTIF = _('Generic')
+notifications = [
+	_('Contact Signed In'), _('Contact Signed Out'), _('New Message'),
+	_('New Single Message'), _('New Private Message'), _('New E-mail'),
+	_('File Transfer Request'), _('File Transfer Error'),
+	_('File Transfer Completed'), _('File Transfer Stopped'),
+	_('Groupchat Invitation'), _('Contact Changed Status'),
+	_('Connection Failed'), GENERIC_NOTIF
+	]
+
+growler = None
+
+
+
+def init():
+	global growler, notifications
+	icon = file(os.path.join(gajim.DATA_DIR, "pixmaps", "gajim.icns"), "r")
+	growler = GrowlNotifier(applicationName = "Gajim",
+							notifications = notifications,
+							applicationIcon = icon.read(),
+							notify_cb = notifyCB)
+	growler.register()
+	return
+
+
+def notify(event_type, jid, account, msg_type, path_to_image, title, text):
+	global notifications
+	if not event_type in notifications:
+		event_type = GENERIC_NOTIF
+	if not text:
+		text = gajim.get_name_from_jid(account, jid) # default value of text
+	text = filterString(text)
+	if not title:
+		title = event_type
+	title = filterString(title)
+	if not path_to_image:
+		path_to_image = os.path.abspath(
+			os.path.join(gajim.DATA_DIR, 'pixmaps', 'events',
+						 'chat_msg_recv.png')) # img to display
+	icon = file(path_to_image, "r")
+	context = [account, jid, msg_type]
+	growler.notify(event_type, title, text, icon.read(), False, None,
+				   context)
+	return
+
+
+def notifyCB(data):
+	gajim.interface.handle_event(data[0], data[1], data[2])
+
+
+def filterString(string):
+	string = string.replace("&quot;", "'")
+	return string
+
diff --git a/src/osx/idle.c b/src/osx/idle.c
new file mode 100644
index 0000000000000000000000000000000000000000..c24c3043830fd2a4c19b373ebc6857871af1515a
--- /dev/null
+++ b/src/osx/idle.c
@@ -0,0 +1,174 @@
+/*****
+    This is a modified form of idler.c. The original copyright notice follows.
+ **/
+
+/*****************************************
+  * idler.c
+  *
+  * Uses IOKit to figure out the idle time of the system. The idle time
+  * is stored as a property of the IOHIDSystem class; the name is
+  * HIDIdleTime. Stored as a 64-bit int, measured in ns.
+  *
+  * The program itself just prints to stdout the time that the computer
+has
+  * been idle in seconds.
+  *
+  * Compile with gcc -Wall -framework IOKit -framework Carbon idler.c -o
+  * idler
+  *
+  * Copyright (c) 2003, Stanford University
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without
+  * modification, are permitted provided that the following conditions
+are
+  * met:
+  * Redistributions of source code must retain the above copyright
+notice,
+  * this list of conditions and the following disclaimer.
+  *
+  * Redistributions in binary form must reproduce the above copyright
+notice,
+  * this list of conditions and the following disclaimer in the
+documentation
+  * and/or other materials provided with the distribution.
+  *
+  * Neither the name of Stanford University nor the names of its
+contributors
+  * may be used to endorse or promote products derived from this software
+  * without specific prior written permission.
+  *
+  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS
+  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO,
+  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR
+  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  */
+
+#include <CoreFoundation/CoreFoundation.h>
+#include <CoreServices/CoreServices.h>
+#include <IOKit/IOKitLib.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <Python.h>
+
+/* 10^9 --  number of ns in a second */
+#define NS_SECONDS 1000000000
+
+
+static mach_port_t __idle_osx_master_port;
+io_registry_entry_t __idle_osx_service;
+
+
+static PyObject * idle_init(PyObject *self, PyObject *args)
+{
+    io_iterator_t iter;
+    CFMutableDictionaryRef hid_match;
+
+    IOMasterPort(MACH_PORT_NULL, &__idle_osx_master_port);
+
+    /* Get IOHIDSystem */
+    hid_match = IOServiceMatching("IOHIDSystem");
+    IOServiceGetMatchingServices(__idle_osx_master_port, hid_match, &iter);
+    if (iter == 0) {
+        printf("Error accessing IOHIDSystem\n");
+    }
+
+    __idle_osx_service = IOIteratorNext(iter);
+    if (__idle_osx_service == 0) {
+        printf("Iterator's empty!\n");
+    }
+
+    IOObjectRelease(iter);
+
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+
+static PyObject * idle_getIdleSec(PyObject *self, PyObject *args)
+{
+    CFMutableDictionaryRef properties = 0;
+    CFTypeRef obj = NULL;
+    uint64_t tHandle = 0;
+
+    if (IORegistryEntryCreateCFProperties(__idle_osx_service, &properties,
+                                          kCFAllocatorDefault, 0) ==
+        KERN_SUCCESS && properties != NULL)
+    {
+        obj = CFDictionaryGetValue(properties, CFSTR("HIDIdleTime"));
+        CFRetain(obj);
+    }
+    else
+    {
+        printf("Couldn't grab properties of system\n");
+    }
+
+    if (obj)
+    {
+        CFTypeID type = CFGetTypeID(obj);
+
+        if (type == CFDataGetTypeID())
+        {
+            CFDataGetBytes((CFDataRef) obj,
+                           CFRangeMake(0, sizeof(tHandle)),
+                           (UInt8*) &tHandle);
+        }
+        else if (type == CFNumberGetTypeID())
+        {
+            CFNumberGetValue((CFNumberRef)obj,
+                             kCFNumberSInt64Type,
+                             &tHandle);
+        }
+        else
+        {
+            printf("%d: unsupported type\n", (int)type);
+        }
+
+        CFRelease(obj);
+
+        // essentially divides by 10^9
+        tHandle >>= 30;
+    }
+    else
+    {
+        printf("Can't find idle time\n");
+    }
+
+    CFRelease((CFTypeRef)properties);
+    return Py_BuildValue("L", tHandle);
+}
+
+static PyObject * idle_close(PyObject *self, PyObject *args)
+{
+    /* Release our resources */
+    IOObjectRelease(__idle_osx_service);
+
+	Py_INCREF(Py_None);
+	return Py_None;
+}
+
+static PyMethodDef idleMethods[] =
+{
+	{"init",  idle_init, METH_VARARGS, "init idle"},
+	{"getIdleSec",  idle_getIdleSec, METH_VARARGS, "Get idle time in seconds"},
+	{"close",  idle_close, METH_VARARGS, "close idle"},
+	{NULL, NULL, 0, NULL}
+};
+
+PyMODINIT_FUNC initidle(void)
+{
+    (void) Py_InitModule("idle", idleMethods);
+}
diff --git a/src/osx/nsapp.h b/src/osx/nsapp.h
new file mode 100644
index 0000000000000000000000000000000000000000..dd86960c2a8d0a02b25cca9fc9c76f4076a318ae
--- /dev/null
+++ b/src/osx/nsapp.h
@@ -0,0 +1,19 @@
+#import <Cocoa/Cocoa.h>
+
+
+@interface NSApplication (Gajim)
+
+- (void) initGajim;
+- (void) initGUI;
+- (BOOL) initNetNotify;
+- (void) orderFrontStandardAboutPanel: (id)sender;
+- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
+- (BOOL) application:(NSApplication *)theApplication 
+             openFile:(NSString *)filename;
+- (void) application:(NSApplication *)sender openFiles:(NSArray *)filenames;
+- (BOOL) applicationOpenUntitledFile:(NSApplication *)theApplication;
+- (BOOL) applicationShouldOpenUntitledFile:(NSApplication *)sender;
+
++ (void) netNotifyCB: (NSNotification*)notif;
+
+@end
diff --git a/src/osx/nsapp.m b/src/osx/nsapp.m
new file mode 100644
index 0000000000000000000000000000000000000000..4e7b6bde4c558dbde67a184e2bc389c07c0ce57d
--- /dev/null
+++ b/src/osx/nsapp.m
@@ -0,0 +1,239 @@
+#import "nsapp.h"
+#include <notify.h>
+
+#include <AppKit/NSSound.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <Python.h>
+
+
+#define GAJIM_POOL_ALLOC \
+     NSAutoreleasePool *gajim_pool = [[NSAutoreleasePool alloc] init];
+#define GAJIM_POOL_FREE [gajim_pool release];
+
+
+static PyObject *netChangedCB = NULL;
+static NSFileHandle* netNotifyFH = nil;
+static int netNotifyToken = -1;
+
+
+@implementation NSApplication (Gajim)
+
+- (void) initGUI
+{
+    [NSBundle loadNibNamed:@"Gajim" owner:NSApp];
+}
+
++ (void) netNotifyCB: (NSNotification*) notif
+{
+    NSLog(@"Network changed notification");
+
+    if (netChangedCB)
+    {
+        PyObject_CallObject(netChangedCB, NULL);
+    }
+
+	[[notif object] readInBackgroundAndNotify];		
+}
+
+- (BOOL) initNetNotify
+{
+    int fd = 0;
+
+    if (notify_register_file_descriptor(
+                "com.apple.system.config.network_change", &fd, 0,
+                &netNotifyToken) != NOTIFY_STATUS_OK)
+    {
+        return FALSE;
+    }
+
+    netNotifyFH = [[NSFileHandle alloc] initWithFileDescriptor: fd];
+    [[NSNotificationCenter defaultCenter] addObserver: [self class] 
+           selector: @selector(netNotifyCB:) 
+           name: NSFileHandleReadCompletionNotification 
+           object: netNotifyFH];
+    [netNotifyFH readInBackgroundAndNotify];	
+
+    return TRUE;
+}
+
+- (void) initGajim
+{
+    GAJIM_POOL_ALLOC
+
+    [self initGUI];
+    [self initNetNotify];
+
+    [NSApp setDelegate:self];
+    [NSApp finishLaunching];
+
+    GAJIM_POOL_FREE
+}
+
+- (void) orderFrontStandardAboutPanel: (id)sender
+{
+    PyRun_SimpleString("\n\
+import gobject\n\
+import dialogs\n\
+def doAbout():\n\
+	dialogs.AboutDialog()\n\
+	return None\n\
+gobject.idle_add(doAbout)\n\
+");
+}
+
+- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
+{
+/*
+    PyRun_SimpleString("\n\
+import gajim\n\
+import gobject\n\
+def doQuit():\n\
+	gajim.interface.roster.on_quit_menuitem_activate(None)\n\
+	return None\n\
+gobject.idle_add(doQuit)\n\
+");
+*/
+    return NSTerminateNow;
+}
+
+- (BOOL) application:(NSApplication *)theApplication 
+            openFile:(NSString *)filename
+{
+    NSLog(@"openFile");
+    NSLog(filename);
+    return YES;
+}
+
+- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames
+{
+    NSLog(@"openFiles");
+
+    NSEnumerator* iter = [filenames objectEnumerator];
+    NSString* str;
+    while ((str = [iter nextObject]))
+    {
+        NSLog(str);
+    }
+    return;
+}
+
+- (BOOL)applicationOpenUntitledFile:(NSApplication *)theApplication
+{
+    NSLog(@"openUntitledFile");
+    return YES;
+}
+
+- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
+{
+    NSLog(@"shouldOpenUntitledFile");
+    return YES;
+}
+
+@end
+
+
+static PyObject * nsapp_init(PyObject *self, PyObject *args)
+{
+    [NSApp initGajim];
+
+	Py_INCREF(Py_None);
+	return Py_None;
+}
+
+static PyObject * nsapp_setNetworkCB(PyObject *self, PyObject *args)
+{
+    PyArg_UnpackTuple(args, "netcb", 1, 1, &netChangedCB);
+
+	Py_INCREF(Py_None);
+	return Py_None;
+}
+
+static PyObject * nsapp_requestUserAttention(PyObject *self, PyObject *args)
+{
+    GAJIM_POOL_ALLOC
+    [NSApp requestUserAttention:NSInformationalRequest];
+    GAJIM_POOL_FREE
+
+	Py_INCREF(Py_None);
+	return Py_None;
+}
+
+static PyObject * nsapp_playFile(PyObject *self, PyObject *args)
+{
+    GAJIM_POOL_ALLOC
+
+    const char* cstr = NULL;
+
+    if (!PyArg_ParseTuple(args, "s", &cstr))
+    {
+        return NULL;
+    }
+
+    NSSound* snd = [[NSSound alloc] initWithContentsOfFile:
+                                      [[NSString alloc] initWithUTF8String: cstr]
+                                    byReference: YES];
+    if (!snd)
+    {
+        Py_INCREF(Py_None);
+        return Py_None;
+    }
+
+    if (![snd play])
+    {
+        Py_INCREF(Py_None);
+        return Py_None;
+    }
+
+    GAJIM_POOL_FREE
+
+	return Py_BuildValue("b", 1);
+}
+
+static PyObject * nsapp_getBundlePath(PyObject *self, PyObject *args)
+{
+    GAJIM_POOL_ALLOC
+
+    NSBundle* bundle = [NSBundle mainBundle];
+    if (!bundle)
+    {
+        Py_INCREF(Py_None);
+        return Py_None;
+    }
+
+    NSString* nspath = [bundle bundlePath];
+    if (!nspath)
+    {
+        Py_INCREF(Py_None);
+        return Py_None;
+    }
+
+    const char* path = [nspath UTF8String];
+    PyObject* pypath = Py_BuildValue("s", path);
+
+    GAJIM_POOL_FREE
+
+    return pypath;
+}
+
+static PyMethodDef nsappMethods[] =
+{
+	{"init", nsapp_init, METH_VARARGS, "init nsapp"},
+    {"setNetworkCB", nsapp_setNetworkCB, METH_VARARGS,
+     "Callback to call when the network state changes"},
+    {"getBundlePath", nsapp_getBundlePath, METH_VARARGS,
+     "Get the path to the bundle we were run from"},
+    {"playFile", nsapp_playFile, METH_VARARGS,
+     "Play a sound file"},
+    {"requestUserAttention", nsapp_requestUserAttention, METH_VARARGS,
+     "Sends a request for the users attention to the window manager"},
+	{NULL, NULL, 0, NULL}
+};
+
+PyMODINIT_FUNC initnsapp(void)
+{
+    (void) Py_InitModule("nsapp", nsappMethods);
+}
diff --git a/src/osx/prep_py2app.py b/src/osx/prep_py2app.py
new file mode 100644
index 0000000000000000000000000000000000000000..dfe087d4009396a2cecbfffd5b01dd78d60c6a4b
--- /dev/null
+++ b/src/osx/prep_py2app.py
@@ -0,0 +1,23 @@
+### Adjust the sys.path so that the site-packages.zip is before the lib-dynload
+### so that the osx/__init__.py in the .zip is read before looking for it in the
+### lib-dynload/osx dir where the .so's are.
+
+import sys
+
+py = -1
+lib_dyn = -1
+site_zip = -1
+for index in xrange(len(sys.path)):
+	if 'Contents/Resources' in sys.path[index]:
+		if sys.path[index].endswith('lib/python2.5'):
+			py = index
+		if sys.path[index].endswith('lib-dynload'):
+			lib_dyn = index
+		elif sys.path[index].endswith('site-packages.zip'):
+			site_zip = index
+if ((lib_dyn > -1) and (site_zip > -1)):
+	tmp = sys.path[lib_dyn]
+	sys.path[lib_dyn] = sys.path[site_zip]
+	sys.path[site_zip] = tmp
+if py > -1:
+	del sys.path[py]
diff --git a/src/osx/setup.py b/src/osx/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..2eaeb1bb944343477214fb42926cf42208bcc7cd
--- /dev/null
+++ b/src/osx/setup.py
@@ -0,0 +1,20 @@
+from distutils.core import setup, Extension
+
+setup(
+	name = 'Gajim',
+	version = '0.11',
+	description = 'A full featured Jabber client',
+	author = 'Gajim Development Team',
+	url = 'http://www.gajim.org/',
+	download_url = 'http://www.gajim.org/downloads.php',
+	license = 'GPL',
+	
+	ext_modules=[
+	Extension('idle', ['idle.c'],
+			  extra_compile_args=['-Wall'],
+			  extra_link_args=['-framework', 'IOKit', '-framework', 'Carbon']),
+	Extension('nsapp', ['nsapp.m'],
+			  extra_compile_args=['-Wall'],
+			  extra_link_args=['-framework', 'AppKit', '-framework', 'Cocoa']),
+	]
+)
diff --git a/src/osx/syncmenu/.deps/syncmenu_la-pysyncmenu.Plo b/src/osx/syncmenu/.deps/syncmenu_la-pysyncmenu.Plo
new file mode 100644
index 0000000000000000000000000000000000000000..9ce06a81ea45b2883a6faf07a0d2136bb2a4e647
--- /dev/null
+++ b/src/osx/syncmenu/.deps/syncmenu_la-pysyncmenu.Plo
@@ -0,0 +1 @@
+# dummy
diff --git a/src/osx/syncmenu/.deps/syncmenu_la-sync-menu.Plo b/src/osx/syncmenu/.deps/syncmenu_la-sync-menu.Plo
new file mode 100644
index 0000000000000000000000000000000000000000..9ce06a81ea45b2883a6faf07a0d2136bb2a4e647
--- /dev/null
+++ b/src/osx/syncmenu/.deps/syncmenu_la-sync-menu.Plo
@@ -0,0 +1 @@
+# dummy
diff --git a/src/osx/syncmenu/Makefile.am b/src/osx/syncmenu/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..d8ff94861f891f4cc796b1a5bc0cb62a65f701e2
--- /dev/null
+++ b/src/osx/syncmenu/Makefile.am
@@ -0,0 +1,21 @@
+GTKPATH="/Library/Frameworks/GTK+.framework/Versions/Current/bin"
+
+export MACOSX_DEPLOYMENT_TARGET=10.4
+INCLUDES = $(PYTHON_INCLUDES)
+
+GTKLDFLAGS=`$(GTKPATH)/pkg-config --libs gtk+-2.0 pygobject-2.0` 
+GTKCFLAGS=`$(GTKPATH)/pkg-config --cflags gtk+-2.0 pygobject-2.0`
+
+if BUILD_COCOA
+syncmenulib_LTLIBRARIES = syncmenu.la
+syncmenulibdir = $(libdir)/gajim
+syncmenu_la_SOURCES = sync-menu.c pysyncmenu.c
+syncmenu_la_LDFLAGS = -module -avoid-version -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(GTKLDFLAGS)
+syncmenu_la_CFLAGS = -Xcompiler -isysroot -Xcompiler /Developer/SDKs/MacOSX10.4u.sdk -Xcompiler -arch -Xcompiler ppc -Xcompiler -arch -Xcompiler i386 $(GTKCFLAGS) -Wall -g $(INCLUDES)
+endif
+
+DISTCLEANFILES = 
+
+EXTRA_DIST = 
+
+MAINTAINERCLEANFILES = Makefile.in
diff --git a/src/osx/syncmenu/pysyncmenu.c b/src/osx/syncmenu/pysyncmenu.c
new file mode 100644
index 0000000000000000000000000000000000000000..d2e304f9f9830e85eedfcb2abff0aa886a7659a5
--- /dev/null
+++ b/src/osx/syncmenu/pysyncmenu.c
@@ -0,0 +1,55 @@
+#include <errno.h>
+#include <string.h>
+#include <Python.h>
+#include <pygobject.h>
+#include "sync-menu.h"
+
+
+PyDoc_STRVAR(pysync_menu_takeover_menu__doc__,
+"Receives: a GtkMenuShell\n"
+"Returns:\n");
+
+static PyObject *pysync_menu_takeover_menu(PyObject *s, PyObject *args)
+{
+    PyObject *obj = NULL;
+
+    if (!PyArg_ParseTuple(args, "O:GtkMenuShell", &obj))
+    {
+        PyErr_SetString(PyExc_TypeError, "Failed to process parameter1");
+        return NULL;
+    }
+
+    Py_INCREF(obj);
+
+    GtkMenuShell* menu = pyg_boxed_get(obj, GtkMenuShell);
+    if (!menu)
+    {
+        PyErr_SetString(PyExc_TypeError, "Failed to process parameter2");
+        return NULL;
+    }
+
+    sync_menu_takeover_menu(menu);
+
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+
+static PyMethodDef syncmenuModuleMethods[] =
+{
+    {"takeover_menu", (PyCFunction)pysync_menu_takeover_menu,
+     METH_VARARGS, pysync_menu_takeover_menu__doc__},
+    {NULL}
+};
+
+PyDoc_STRVAR(modsyncmenu__doc__,
+             "GTK+ Integration for the Mac OS X Menubar.\n");
+
+void initsyncmenu(void)
+{
+  if (!Py_InitModule3("syncmenu", syncmenuModuleMethods, modsyncmenu__doc__))
+  {
+      PyErr_SetString(PyExc_ImportError,
+                      "Py_InitModule3(\"syncmenu\") failed");
+      return;
+  }
+}
diff --git a/src/osx/syncmenu/setup.py b/src/osx/syncmenu/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..7b20709f948522f7af5644eb217a82e9d9ce5ece
--- /dev/null
+++ b/src/osx/syncmenu/setup.py
@@ -0,0 +1,27 @@
+from distutils.core import setup, Extension
+import commands
+
+
+retval, output = commands.getstatusoutput("pkg-config --cflags gtk+-2.0 pygtk-2.0")
+if retval != 0:
+	print "Failed to find package details for gtk+-2.0"
+	print
+	print output
+	sys.exit(1)
+cflags = output.strip().split()
+retval, output = commands.getstatusoutput("pkg-config --libs gtk+-2.0 pygtk-2.0")
+if retval != 0:
+	print "Failed to find package details for gtk+-2.0"
+	print
+	print output
+	sys.exit(1)
+libs = output.strip().split()
+
+
+setup(name='syncmenu', version='0.2',
+      author='James Newton', author_email='baron@codepunks.org',
+      ext_modules=[
+      	Extension('syncmenu', ['pysyncmenu.c', 'sync-menu.c'],
+				  extra_link_args=libs + ['-framework', 'Carbon'],
+				  extra_compile_args=['-Wall'] + cflags)
+      ])
diff --git a/src/osx/syncmenu/sync-menu.c b/src/osx/syncmenu/sync-menu.c
new file mode 100644
index 0000000000000000000000000000000000000000..f29685c294143873cb70571a13e5ae7ebf832920
--- /dev/null
+++ b/src/osx/syncmenu/sync-menu.c
@@ -0,0 +1,728 @@
+/* GTK+ Integration for the Mac OS X Menubar.
+ *
+ * Copyright (C) 2007 Pioneer Research Center USA, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
+
+#include <Carbon/Carbon.h>
+
+#include "sync-menu.h"
+
+
+/* TODO
+ *
+ * - Setup shortcuts, possibly transforming ctrl->cmd
+ * - Sync menus
+ * - Create on demand? (can this be done with gtk+? ie fill in menu items when the menu is opened)
+ * - Figure out what to do per app/window...
+ * - Toggle/radio items
+ *
+ */
+
+#define GTK_QUARTZ_MENU_CREATOR 'GTKC'
+#define GTK_QUARTZ_ITEM_WIDGET  'GWID'
+
+
+static void   sync_menu_shell (GtkMenuShell *menu_shell,
+			       MenuRef       carbon_menu,
+			       gboolean      toplevel);
+
+
+/*
+ * utility functions
+ */
+
+static GtkWidget *
+find_menu_label (GtkWidget *widget)
+{
+  GtkWidget *label = NULL;
+  
+  if (GTK_IS_LABEL (widget))
+    return widget;
+
+  if (GTK_IS_CONTAINER (widget))
+    {
+      GList *children;
+      GList *l;
+
+      children = gtk_container_get_children (GTK_CONTAINER (widget));
+
+      for (l = children; l; l = l->next)
+	{
+	  label = find_menu_label (l->data);
+	  if (label)
+	    break;
+	}
+      
+      g_list_free (children);
+    }
+
+  return label;
+}
+
+static const gchar *
+get_menu_label_text (GtkWidget  *menu_item,
+		     GtkWidget **label)
+{
+  *label = find_menu_label (menu_item);
+  if (!*label)
+    return NULL;
+
+  return gtk_label_get_text (GTK_LABEL (*label));
+}
+
+static gboolean
+accel_find_func (GtkAccelKey *key,
+		 GClosure    *closure,
+		 gpointer     data)
+{
+  return (GClosure *) data == closure;
+}
+
+
+/*
+ * CarbonMenu functions
+ */
+
+typedef struct
+{
+  MenuRef menu;
+} CarbonMenu;
+
+static GQuark carbon_menu_quark = 0;
+
+static CarbonMenu *
+carbon_menu_new (void)
+{
+  return g_slice_new0 (CarbonMenu);
+}
+
+static void
+carbon_menu_free (CarbonMenu *menu)
+{
+  g_slice_free (CarbonMenu, menu);
+}
+
+static CarbonMenu *
+carbon_menu_get (GtkWidget *widget)
+{
+  return g_object_get_qdata (G_OBJECT (widget), carbon_menu_quark);
+}
+
+static void
+carbon_menu_connect (GtkWidget *menu,
+		     MenuRef    menuRef)
+{
+  CarbonMenu *carbon_menu = carbon_menu_get (menu);
+
+  if (!carbon_menu)
+    {
+      carbon_menu = carbon_menu_new ();
+
+      g_object_set_qdata_full (G_OBJECT (menu), carbon_menu_quark,
+			       carbon_menu,
+			       (GDestroyNotify) carbon_menu_free);
+    }
+
+  carbon_menu->menu = menuRef;
+}
+
+
+/*
+ * CarbonMenuItem functions
+ */
+
+typedef struct
+{
+  MenuRef        menu;
+  MenuItemIndex  index;
+  MenuRef        submenu;
+  GClosure      *accel_closure;
+} CarbonMenuItem;
+
+static GQuark carbon_menu_item_quark = 0;
+
+static CarbonMenuItem * 
+carbon_menu_item_new (void)
+{
+  return g_slice_new0 (CarbonMenuItem);
+}
+
+static void
+carbon_menu_item_free (CarbonMenuItem *menu_item)
+{
+  if (menu_item->accel_closure)
+    g_closure_unref (menu_item->accel_closure);
+
+  g_slice_free (CarbonMenuItem, menu_item);
+}
+
+static CarbonMenuItem *
+carbon_menu_item_get (GtkWidget *widget)
+{
+  return g_object_get_qdata (G_OBJECT (widget), carbon_menu_item_quark);
+}
+
+static void
+carbon_menu_item_update_state (CarbonMenuItem *carbon_item,
+			       GtkWidget      *widget)
+{
+  gboolean sensitive;
+  gboolean visible;
+  UInt32   set_attrs = 0;
+  UInt32   clear_attrs = 0;
+
+  g_object_get (widget,
+                "sensitive", &sensitive,
+                "visible",   &visible,
+                NULL);
+
+  if (!sensitive)
+    set_attrs |= kMenuItemAttrDisabled;
+  else
+    clear_attrs |= kMenuItemAttrDisabled;
+
+  if (!visible)
+    set_attrs |= kMenuItemAttrHidden;
+  else
+    clear_attrs |= kMenuItemAttrHidden;
+
+  ChangeMenuItemAttributes (carbon_item->menu, carbon_item->index,
+                            set_attrs, clear_attrs);
+}
+
+static void
+carbon_menu_item_update_active (CarbonMenuItem *carbon_item,
+				GtkWidget      *widget)
+{
+  gboolean active;
+
+  g_object_get (widget,
+                "active", &active,
+                NULL);
+
+  CheckMenuItem (carbon_item->menu, carbon_item->index,
+		 active);
+}
+
+static void
+carbon_menu_item_update_submenu (CarbonMenuItem *carbon_item,
+                                 GtkWidget      *widget)
+{
+    GtkWidget *submenu;
+
+    submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget));
+
+    if (submenu)
+    {
+        GtkWidget   *label = NULL;
+
+        carbon_item->submenu = NULL;
+        GetMenuItemHierarchicalMenu(carbon_item->menu, carbon_item->index,
+                                    &carbon_item->submenu);
+        if (!carbon_item->submenu)
+        {
+            const gchar *label_text;
+            CFStringRef  cfstr = NULL;
+
+            label_text = get_menu_label_text (widget, &label);
+            if (label_text)
+                cfstr = CFStringCreateWithCString (NULL, label_text,
+                                                   kCFStringEncodingUTF8);
+            CreateNewMenu (0, 0, &carbon_item->submenu);
+            SetMenuTitleWithCFString (carbon_item->submenu, cfstr);
+            SetMenuItemHierarchicalMenu (carbon_item->menu, carbon_item->index,
+                                         carbon_item->submenu);
+            if (cfstr)
+                CFRelease (cfstr);
+        }
+
+        sync_menu_shell (GTK_MENU_SHELL (submenu), carbon_item->submenu, FALSE);
+    }
+    else
+    {
+        SetMenuItemHierarchicalMenu (carbon_item->menu, carbon_item->index,
+                                     NULL);
+        carbon_item->submenu = NULL;
+    }
+}
+
+static void
+carbon_menu_item_update_label (CarbonMenuItem *carbon_item,
+			       GtkWidget      *widget)
+{
+  GtkWidget   *label;
+  const gchar *label_text;
+  CFStringRef  cfstr = NULL;
+
+  label_text = get_menu_label_text (widget, &label);
+  if (label_text)
+    cfstr = CFStringCreateWithCString (NULL, label_text,
+				       kCFStringEncodingUTF8);
+
+  SetMenuItemTextWithCFString (carbon_item->menu, carbon_item->index,
+			       cfstr);
+
+  if (cfstr)
+    CFRelease (cfstr);
+}
+
+static void
+carbon_menu_item_update_accelerator (CarbonMenuItem *carbon_item,
+				     GtkWidget      *widget)
+{
+  GtkWidget *label;
+
+  get_menu_label_text (widget, &label);
+
+  if (GTK_IS_ACCEL_LABEL (label) &&
+      GTK_ACCEL_LABEL (label)->accel_closure)
+    {
+      GtkAccelKey *key;
+
+      key = gtk_accel_group_find (GTK_ACCEL_LABEL (label)->accel_group,
+				  accel_find_func,
+				  GTK_ACCEL_LABEL (label)->accel_closure);
+
+      if (key            &&
+	  key->accel_key &&
+	  key->accel_flags & GTK_ACCEL_VISIBLE)
+	{
+	  GdkDisplay      *display = gtk_widget_get_display (widget);
+	  GdkKeymap       *keymap  = gdk_keymap_get_for_display (display);
+	  GdkKeymapKey    *keys;
+	  gint             n_keys;
+
+	  if (gdk_keymap_get_entries_for_keyval (keymap, key->accel_key,
+						 &keys, &n_keys))
+	    {
+	      UInt8 modifiers = 0;
+
+	      SetMenuItemCommandKey (carbon_item->menu, carbon_item->index,
+				     true, keys[0].keycode);
+
+	      g_free (keys);
+
+	      if (key->accel_mods)
+		{
+		  if (key->accel_mods & GDK_SHIFT_MASK)
+		    modifiers |= kMenuShiftModifier;
+
+		  if (key->accel_mods & GDK_MOD1_MASK)
+		    modifiers |= kMenuOptionModifier;
+		}
+
+	      if (!(key->accel_mods & GDK_CONTROL_MASK))
+		{
+		  modifiers |= kMenuNoCommandModifier;
+		}
+
+	      SetMenuItemModifiers (carbon_item->menu, carbon_item->index,
+				    modifiers);
+
+	      return;
+	    }
+	}
+    }
+
+  /*  otherwise, clear the menu shortcut  */
+  SetMenuItemModifiers (carbon_item->menu, carbon_item->index,
+			kMenuNoModifiers | kMenuNoCommandModifier);
+  ChangeMenuItemAttributes (carbon_item->menu, carbon_item->index,
+			    0, kMenuItemAttrUseVirtualKey);
+  SetMenuItemCommandKey (carbon_item->menu, carbon_item->index,
+			 false, 0);
+}
+
+static void
+carbon_menu_item_accel_changed (GtkAccelGroup   *accel_group,
+				guint            keyval,
+				GdkModifierType  modifier,
+				GClosure        *accel_closure,
+				GtkWidget       *widget)
+{
+  CarbonMenuItem *carbon_item = carbon_menu_item_get (widget);
+  GtkWidget      *label;
+
+  get_menu_label_text (widget, &label);
+
+  if (GTK_IS_ACCEL_LABEL (label) &&
+      GTK_ACCEL_LABEL (label)->accel_closure == accel_closure)
+    carbon_menu_item_update_accelerator (carbon_item, widget);
+}
+
+static void
+carbon_menu_item_update_accel_closure (CarbonMenuItem *carbon_item,
+				       GtkWidget      *widget)
+{
+  GtkAccelGroup *group;
+  GtkWidget     *label;
+
+  get_menu_label_text (widget, &label);
+
+  if (carbon_item->accel_closure)
+    {
+      group = gtk_accel_group_from_accel_closure (carbon_item->accel_closure);
+      if (group)
+          g_signal_handlers_disconnect_by_func (group,
+                                                carbon_menu_item_accel_changed,
+                                                widget);
+
+      g_closure_unref (carbon_item->accel_closure);
+      carbon_item->accel_closure = NULL;
+    }
+
+  if (GTK_IS_ACCEL_LABEL (label))
+    carbon_item->accel_closure = GTK_ACCEL_LABEL (label)->accel_closure;
+
+  if (carbon_item->accel_closure)
+    {
+      g_closure_ref (carbon_item->accel_closure);
+
+      group = gtk_accel_group_from_accel_closure (carbon_item->accel_closure);
+
+      g_signal_connect_object (group, "accel-changed",
+			       G_CALLBACK (carbon_menu_item_accel_changed),
+			       widget, 0);
+    }
+
+  carbon_menu_item_update_accelerator (carbon_item, widget);
+}
+
+static void
+carbon_menu_item_notify (GObject        *object,
+			 GParamSpec     *pspec,
+			 CarbonMenuItem *carbon_item)
+{
+  if (!strcmp (pspec->name, "sensitive") ||
+      !strcmp (pspec->name, "visible"))
+    {
+      carbon_menu_item_update_state (carbon_item, GTK_WIDGET (object));
+    }
+  else if (!strcmp (pspec->name, "active"))
+    {
+      carbon_menu_item_update_active (carbon_item, GTK_WIDGET (object));
+    }
+  else if (!strcmp (pspec->name, "submenu"))
+    {
+      carbon_menu_item_update_submenu (carbon_item, GTK_WIDGET (object));
+    }
+}
+
+static void
+carbon_menu_item_notify_label (GObject    *object,
+			       GParamSpec *pspec,
+			       gpointer    data)
+{
+  CarbonMenuItem *carbon_item = carbon_menu_item_get (GTK_WIDGET (object));
+
+  if (!strcmp (pspec->name, "label"))
+    {
+      carbon_menu_item_update_label (carbon_item,
+				     GTK_WIDGET (object));
+    }
+  else if (!strcmp (pspec->name, "accel-closure"))
+    {
+      carbon_menu_item_update_accel_closure (carbon_item,
+					     GTK_WIDGET (object));
+    }
+}
+
+static CarbonMenuItem *
+carbon_menu_item_connect (GtkWidget     *menu_item,
+			  GtkWidget     *label,
+			  MenuRef        menu,
+			  MenuItemIndex  index)
+{
+  CarbonMenuItem *carbon_item = carbon_menu_item_get (menu_item);
+
+  if (!carbon_item)
+    {
+      carbon_item = carbon_menu_item_new ();
+
+      g_object_set_qdata_full (G_OBJECT (menu_item), carbon_menu_item_quark,
+			       carbon_item,
+			       (GDestroyNotify) carbon_menu_item_free);
+
+      g_signal_connect (menu_item, "notify",
+                        G_CALLBACK (carbon_menu_item_notify),
+                        carbon_item);
+
+      if (label)
+	g_signal_connect_swapped (label, "notify::label",
+				  G_CALLBACK (carbon_menu_item_notify_label),
+				  menu_item);
+    }
+
+  carbon_item->menu  = menu;
+  carbon_item->index = index;
+
+  return carbon_item;
+}
+
+/*
+ * carbon event handler
+ */
+
+gboolean menuitem_activate_wrapper(gpointer data)
+{
+    gtk_menu_item_activate((GtkMenuItem*)data);
+    return FALSE;
+}
+
+static OSStatus
+menu_event_handler_func (EventHandlerCallRef  event_handler_call_ref, 
+			 EventRef             event_ref, 
+			 void                *data)
+{
+  UInt32  event_class = GetEventClass (event_ref);
+  UInt32  event_kind = GetEventKind (event_ref);
+  MenuRef menu_ref;
+
+  switch (event_class) 
+    {
+    case kEventClassCommand:
+      /* This is called when activating (is that the right GTK+ term?)
+       * a menu item.
+       */
+      if (event_kind == kEventCommandProcess)
+	{
+	  HICommand command;
+	  OSStatus  err;
+
+	  //g_print ("Menu: kEventClassCommand/kEventCommandProcess\n");
+
+	  err = GetEventParameter (event_ref, kEventParamDirectObject, 
+				   typeHICommand, 0, 
+				   sizeof (command), 0, &command);
+
+	  if (err == noErr)
+	    {
+	      GtkWidget *widget = NULL;
+              
+	      if (command.commandID == kHICommandQuit)
+		{
+		  gtk_main_quit (); /* Just testing... */
+		  return noErr;
+		}
+	      
+	      /* Get any GtkWidget associated with the item. */
+	      err = GetMenuItemProperty (command.menu.menuRef, 
+					 command.menu.menuItemIndex, 
+					 GTK_QUARTZ_MENU_CREATOR, 
+					 GTK_QUARTZ_ITEM_WIDGET,
+					 sizeof (widget), 0, &widget);
+	      if (err == noErr && widget)
+		{
+            g_idle_add(menuitem_activate_wrapper,
+                       (gpointer)GTK_MENU_ITEM (widget));
+		  return noErr;
+		}
+	    }
+	}
+      break;
+
+    case kEventClassMenu: 
+      GetEventParameter (event_ref, 
+			 kEventParamDirectObject, 
+			 typeMenuRef, 
+			 NULL, 
+			 sizeof (menu_ref), 
+			 NULL, 
+			 &menu_ref);
+
+      switch (event_kind)
+	{
+	case kEventMenuTargetItem:
+	  /* This is called when an item is selected (what is the
+	   * GTK+ term? prelight?)
+	   */
+	  //g_print ("kEventClassMenu/kEventMenuTargetItem\n");
+	  break;
+
+	case kEventMenuOpening:
+	  /* Is it possible to dynamically build the menu here? We
+	   * can at least set visibility/sensitivity. 
+	   */
+	  //g_print ("kEventClassMenu/kEventMenuOpening\n");
+	  break;
+	    
+	case kEventMenuClosed:
+	  //g_print ("kEventClassMenu/kEventMenuClosed\n");
+	  break;
+
+	default:
+	  break;
+	}
+
+      break;
+	
+    default:
+      break;
+    }
+
+  return CallNextEventHandler (event_handler_call_ref, event_ref);
+}
+
+static void
+setup_menu_event_handler (void)
+{
+  EventHandlerUPP menu_event_handler_upp;
+  EventHandlerRef menu_event_handler_ref;
+  const EventTypeSpec menu_events[] = {
+    { kEventClassCommand, kEventCommandProcess },
+    { kEventClassMenu, kEventMenuTargetItem },
+    { kEventClassMenu, kEventMenuOpening },
+    { kEventClassMenu, kEventMenuClosed }
+  };
+
+  /* FIXME: We might have to install one per window? */
+
+  menu_event_handler_upp = NewEventHandlerUPP (menu_event_handler_func);
+  InstallEventHandler (GetApplicationEventTarget (), menu_event_handler_upp,
+		       GetEventTypeCount (menu_events), menu_events, 0,
+		       &menu_event_handler_ref);
+  
+#if 0
+  /* FIXME: Remove the handler with: */
+  RemoveEventHandler(menu_event_handler_ref);
+  DisposeEventHandlerUPP(menu_event_handler_upp);
+#endif
+}
+
+static void
+sync_menu_shell (GtkMenuShell *menu_shell,
+                 MenuRef       carbon_menu,
+                 gboolean      toplevel)
+{
+    GList         *children;
+    GList         *l;
+    MenuItemIndex  carbon_index = 1;
+
+    carbon_menu_connect (GTK_WIDGET (menu_shell), carbon_menu);
+
+    children = gtk_container_get_children (GTK_CONTAINER (menu_shell));
+
+    UInt16 carbon_item_count = CountMenuItems(carbon_menu);
+
+    for (l = children; l; l = l->next)
+    {
+        GtkWidget      *menu_item = l->data;
+        CarbonMenuItem *carbon_item;
+
+        if (GTK_IS_TEAROFF_MENU_ITEM (menu_item))
+            continue;
+
+        if (toplevel && g_object_get_data (G_OBJECT (menu_item),
+                                           "gtk-empty-menu-item"))
+            continue;
+
+        GtkWidget *label = NULL;
+        const gchar *label_text = NULL;
+
+        label_text = get_menu_label_text (menu_item, &label);
+        if (label_text && strcmp(label_text, "_SKIP_") == 0)
+        {
+            carbon_index++;
+            continue;
+        }
+        else if (!label_text)
+            label_text = "";
+
+        MenuItemAttributes  attributes = 0;
+        if (GTK_IS_SEPARATOR_MENU_ITEM (menu_item))
+            attributes |= kMenuItemAttrSeparator;
+        if (!GTK_WIDGET_IS_SENSITIVE (menu_item))
+            attributes |= kMenuItemAttrDisabled;
+        if (!GTK_WIDGET_VISIBLE (menu_item))
+            attributes |= kMenuItemAttrHidden;
+
+        CFStringRef cfstr = CFStringCreateWithCString (NULL, label_text,
+                                                       kCFStringEncodingUTF8);
+        if (carbon_index > carbon_item_count)
+            AppendMenuItemTextWithCFString(carbon_menu, cfstr, attributes, 0,
+                                           NULL);
+        else if (!toplevel && (carbon_index > carbon_item_count))
+            InsertMenuItemTextWithCFString (carbon_menu, cfstr, 
+                                            carbon_index, attributes, 0);
+        else
+            SetMenuItemTextWithCFString(carbon_menu, carbon_index, cfstr);
+        CFRelease (cfstr);
+
+        MenuItemAttributes c_attributes = kMenuItemAttrSectionHeader |
+                                          kMenuItemAttrAutoDisable;
+        if (!(attributes & kMenuItemAttrDisabled))
+            c_attributes |= kMenuItemAttrDisabled;
+        if (!(attributes & kMenuItemAttrSeparator))
+            c_attributes |= kMenuItemAttrSeparator;
+        if (!(attributes & kMenuItemAttrHidden))
+            c_attributes |= kMenuItemAttrHidden;
+        ChangeMenuItemAttributes(carbon_menu, carbon_index,
+                                 attributes, c_attributes);
+        SetMenuItemProperty (carbon_menu, carbon_index,
+                             GTK_QUARTZ_MENU_CREATOR,
+                             GTK_QUARTZ_ITEM_WIDGET,
+                             sizeof (menu_item), &menu_item);
+
+        carbon_item = carbon_menu_item_connect (menu_item, label,
+                                                carbon_menu,
+                                                carbon_index);
+
+        if (GTK_IS_CHECK_MENU_ITEM (menu_item))
+            carbon_menu_item_update_active (carbon_item, menu_item);
+
+        carbon_menu_item_update_accel_closure (carbon_item, menu_item);
+        
+        if (gtk_menu_item_get_submenu (GTK_MENU_ITEM (menu_item)))
+            carbon_menu_item_update_submenu (carbon_item, menu_item);
+
+        carbon_index++;
+    }
+
+    while (carbon_index <= carbon_item_count)
+    {
+        DeleteMenuItem (carbon_menu, carbon_index);
+        carbon_index++;
+    }
+
+    g_list_free (children);
+}
+
+void
+sync_menu_takeover_menu (GtkMenuShell *menu_shell)
+{
+  static MenuRef carbon_menubar = NULL;
+
+  g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell));
+
+  if (carbon_menu_quark == 0)
+    carbon_menu_quark = g_quark_from_static_string ("CarbonMenu");
+
+  if (carbon_menu_item_quark == 0)
+    carbon_menu_item_quark = g_quark_from_static_string ("CarbonMenuItem");
+
+  if (!carbon_menubar)
+  {
+      carbon_menubar = AcquireRootMenu();
+      setup_menu_event_handler ();
+  }
+  
+  sync_menu_shell (menu_shell, carbon_menubar, TRUE);
+}
diff --git a/src/osx/syncmenu/sync-menu.h b/src/osx/syncmenu/sync-menu.h
new file mode 100644
index 0000000000000000000000000000000000000000..0715a31e29833a749bddb3c8bf6c0e171fbe1047
--- /dev/null
+++ b/src/osx/syncmenu/sync-menu.h
@@ -0,0 +1,27 @@
+/* GTK+ Integration for the Mac OS X Menubar.
+ *
+ * Copyright (C) 2007 Pioneer Research Center USA, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+void sync_menu_takeover_menu (GtkMenuShell *menu_shell);
+
+G_END_DECLS
diff --git a/src/osx/syncmenu/test-menu.c b/src/osx/syncmenu/test-menu.c
new file mode 100644
index 0000000000000000000000000000000000000000..102ec5287d65c87f493ab763909fc40bd0de2c3b
--- /dev/null
+++ b/src/osx/syncmenu/test-menu.c
@@ -0,0 +1,107 @@
+#include <gtk/gtk.h>
+
+#include "sync-menu.h"
+
+GtkWidget *open_item;
+GtkWidget *copy_item;
+
+static void
+menu_item_activate_cb (GtkWidget *item,
+                       gpointer   user_data)
+{
+  gboolean visible;
+  gboolean sensitive;
+
+  g_print ("Item activated: %s\n", (gchar *) user_data);
+
+  g_object_get (G_OBJECT (copy_item),
+                "visible", &visible,
+                "sensitive", &sensitive,
+                NULL);
+
+  if (item == open_item) {
+    gtk_widget_set_sensitive (copy_item, !sensitive);
+    /*g_object_set (G_OBJECT (copy_item), "visible", !visible, NULL);*/
+  }
+}
+
+static GtkWidget *
+test_setup_menu (void)
+{
+  GtkWidget *menubar;
+  GtkWidget *menu;
+  GtkWidget *item;
+  
+  menubar = gtk_menu_bar_new ();
+
+  item = gtk_menu_item_new_with_label ("File");
+  gtk_menu_shell_append (GTK_MENU_SHELL (menubar), item);
+  menu = gtk_menu_new ();
+  gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
+  item = gtk_menu_item_new_with_label ("Open");
+  open_item = item;
+  g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "open");
+  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+  item = gtk_menu_item_new_with_label ("Quit");
+  g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "quit");
+  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+  item = gtk_menu_item_new_with_label ("Edit");
+
+  gtk_menu_shell_append (GTK_MENU_SHELL (menubar), item);
+  menu = gtk_menu_new ();
+  gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
+  item = gtk_menu_item_new_with_label ("Copy");
+  copy_item = item;
+  g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "copy");
+  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+  item = gtk_menu_item_new_with_label ("Paste");
+  g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "paste");
+  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+  item = gtk_menu_item_new_with_label ("Help");
+  gtk_menu_shell_append (GTK_MENU_SHELL (menubar), item);
+  menu = gtk_menu_new ();
+  gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
+  item = gtk_menu_item_new_with_label ("About");
+  g_signal_connect (item, "activate", G_CALLBACK (menu_item_activate_cb), "about");
+  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+  return menubar;
+}
+
+int
+main (int argc, char **argv)
+{
+  GtkWidget *window;
+  GtkWidget *vbox;
+  GtkWidget *menubar;
+
+  gtk_init (&argc, &argv);
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_default_size (GTK_WINDOW (window), 400, 300);
+  g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
+
+  vbox = gtk_vbox_new (FALSE, 0);
+  gtk_container_add (GTK_CONTAINER (window), vbox);
+
+  menubar = test_setup_menu ();
+  gtk_box_pack_start (GTK_BOX (vbox), 
+                      menubar,
+                      FALSE, TRUE, 0);
+  
+  gtk_box_pack_start (GTK_BOX (vbox), 
+                      gtk_label_new ("Some window content here"), 
+                      TRUE, TRUE, 0);
+
+  gtk_widget_show_all (window);
+
+  gtk_widget_hide (menubar);
+
+  sync_menu_takeover_menu (GTK_MENU_SHELL (menubar));
+
+  gtk_main ();
+
+  return 0;
+}
diff --git a/src/osx/syncmenu/test-menu.py b/src/osx/syncmenu/test-menu.py
new file mode 100644
index 0000000000000000000000000000000000000000..b9c4471c8ae6dc5d4cdff0d03055497518d940dc
--- /dev/null
+++ b/src/osx/syncmenu/test-menu.py
@@ -0,0 +1,78 @@
+import gtk, syncmenu
+
+
+open_item = None
+copy_item = None
+
+
+def menu_item_activate_cb(item, user_data):
+	global open_item, copy_item
+	print "Item activated: %s" % user_data
+
+	#g_object_get (G_OBJECT (copy_item),
+	#            "visible", &visible,
+	#            "sensitive", &sensitive,
+	#            NULL)
+
+	#if (item == open_item) {
+	#gtk_widget_set_sensitive (copy_item, !sensitive)
+	#/*g_object_set (G_OBJECT (copy_item), "visible", !visible, NULL)*/
+
+
+def test_setup_menu():
+	global open_item, copy_item
+	menubar = gtk.MenuBar()
+
+	item = gtk.MenuItem("File")
+	menubar.append(item)
+	menu = gtk.Menu()
+	item.set_submenu(menu)
+	item = gtk.MenuItem("Open")
+	open_item = item
+	item.connect("activate", menu_item_activate_cb, "open")
+	menu.append(item)
+	item = gtk.MenuItem("Quit")
+	item.connect("activate", menu_item_activate_cb, "quit")
+	menu.append(item)
+
+	item = gtk.MenuItem("Edit")
+
+	menubar.append(item)
+	menu = gtk.Menu()
+	item.set_submenu(menu)
+	item = gtk.MenuItem("Copy")
+	copy_item = item
+	item.connect("activate", menu_item_activate_cb, "copy")
+	menu.append(item)
+	item = gtk.MenuItem("Paste")
+	item.connect("activate", menu_item_activate_cb, "paste")
+	menu.append(item)
+
+	item = gtk.MenuItem("Help")
+	menubar.append(item)
+	menu = gtk.Menu()
+	item.set_submenu(menu)
+	item = gtk.MenuItem("About")
+	item.connect("activate", menu_item_activate_cb, "about")
+	menu.append(item)
+
+	return menubar
+
+
+window = gtk.Window(gtk.WINDOW_TOPLEVEL)
+window.set_default_size(400, 300)
+window.connect("destroy", gtk.main_quit, None)
+
+vbox = gtk.VBox(False, 0)
+window.add(vbox)
+
+menubar = test_setup_menu()
+vbox.pack_start(menubar, False, True, 0)
+vbox.pack_start(gtk.Label("Some window content here"), True, True, 0)
+
+window.show_all()
+menubar.hide()
+
+syncmenu.takeover_menu(menubar)
+
+gtk.main()
diff --git a/src/profile_window.py b/src/profile_window.py
index 94a4cde4f1e05225ced38510003731e9e8dde5ad..8fa581d4944ccd086baaf9650db8cb37d5ab1375 100644
--- a/src/profile_window.py
+++ b/src/profile_window.py
@@ -1,17 +1,22 @@
 ##	profile_window.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 # THIS FILE IS FOR **OUR** PROFILE (when we edit our INFO)
 
@@ -23,35 +28,11 @@ import os
 
 import gtkgui_helpers
 import dialogs
+import vcard
 
 from common import gajim
 from common.i18n import Q_
 
-def get_avatar_pixbuf_encoded_mime(photo):
-	'''return the pixbuf of the image
-	photo is a dictionary containing PHOTO information'''
-	if not isinstance(photo, dict):
-		return None, None, None
-	img_decoded = None
-	avatar_encoded = None
-	avatar_mime_type = None
-	if photo.has_key('BINVAL'):
-		img_encoded = photo['BINVAL']
-		avatar_encoded = img_encoded
-		try:
-			img_decoded = base64.decodestring(img_encoded)
-		except:
-			pass
-	if img_decoded:
-		if photo.has_key('TYPE'):
-			avatar_mime_type = photo['TYPE']
-			pixbuf = gtkgui_helpers.get_pixbuf_from_data(img_decoded)
-		else:
-			pixbuf, avatar_mime_type = gtkgui_helpers.get_pixbuf_from_data(
-							img_decoded, want_type=True)
-	else:
-		pixbuf = None
-	return pixbuf, avatar_encoded, avatar_mime_type
 
 class ProfileWindow:
 	'''Class for our information window'''
@@ -66,6 +47,7 @@ class ProfileWindow:
 		self.account = account
 		self.jid = gajim.get_jid_from_account(account)
 
+		self.dialog = None
 		self.avatar_mime_type = None
 		self.avatar_encoded = None
 		self.message_id = self.statusbar.push(self.context_id,
@@ -94,6 +76,8 @@ class ProfileWindow:
 		if self.remove_statusbar_timeout_id is not None:
 			gobject.source_remove(self.remove_statusbar_timeout_id)
 		del gajim.interface.instances[self.account]['profile']
+		if self.dialog: # Image chooser dialog
+			self.dialog.destroy()
 
 	def on_profile_window_key_press_event(self, widget, event):
 		if event.keyval == gtk.keysyms.Escape:
@@ -156,6 +140,7 @@ class ProfileWindow:
 				dialogs.ErrorDialog(_('Could not load image'))
 				return
 			self.dialog.destroy()
+			self.dialog = None
 			button = self.xml.get_widget('PHOTO_button')
 			image = button.get_image()
 			image.set_from_pixbuf(pixbuf)
@@ -173,10 +158,18 @@ class ProfileWindow:
 
 		def on_clear(widget):
 			self.dialog.destroy()
+			self.dialog = None
 			self.on_clear_button_clicked(widget)
 
-		self.dialog = dialogs.AvatarChooserDialog(on_response_ok = on_ok,
-			on_response_clear = on_clear)
+		def on_cancel(widget):
+			self.dialog.destroy()
+			self.dialog = None
+
+		if self.dialog:
+			self.dialog.present()
+		else:
+			self.dialog = dialogs.AvatarChooserDialog(on_response_ok = on_ok,
+				on_response_cancel = on_cancel, on_response_clear = on_clear)
 
 	def on_PHOTO_button_press_event(self, widget, event):
 		'''If right-clicked, show popup'''
@@ -211,19 +204,19 @@ class ProfileWindow:
 		except AttributeError:
 			pass
 
-	def set_values(self, vcard):
+	def set_values(self, vcard_):
 		button = self.xml.get_widget('PHOTO_button')
 		image = button.get_image()
 		text_button = self.xml.get_widget('NOPHOTO_button')
-		if not 'PHOTO' in vcard:
+		if not 'PHOTO' in vcard_:
 			# set default image
 			image.set_from_pixbuf(None)
 			button.hide()
 			text_button.show()
-		for i in vcard.keys():
+		for i in vcard_.keys():
 			if i == 'PHOTO':
 				pixbuf, self.avatar_encoded, self.avatar_mime_type = \
-					get_avatar_pixbuf_encoded_mime(vcard[i])
+					vcard.get_avatar_pixbuf_encoded_mime(vcard_[i])
 				if not pixbuf:
 					image.set_from_pixbuf(None)
 					button.hide()
@@ -235,21 +228,21 @@ class ProfileWindow:
 				text_button.hide()
 				continue
 			if i == 'ADR' or i == 'TEL' or i == 'EMAIL':
-				for entry in vcard[i]:
+				for entry in vcard_[i]:
 					add_on = '_HOME'
 					if 'WORK' in entry:
 						add_on = '_WORK'
 					for j in entry.keys():
 						self.set_value(i + add_on + '_' + j + '_entry', entry[j])
-			if isinstance(vcard[i], dict):
-				for j in vcard[i].keys():
-					self.set_value(i + '_' + j + '_entry', vcard[i][j])
+			if isinstance(vcard_[i], dict):
+				for j in vcard_[i].keys():
+					self.set_value(i + '_' + j + '_entry', vcard_[i][j])
 			else:
 				if i == 'DESC':
 					self.xml.get_widget('DESC_textview').get_buffer().set_text(
-						vcard[i], 0)
+						vcard_[i], 0)
 				else:
-					self.set_value(i + '_entry', vcard[i])
+					self.set_value(i + '_entry', vcard_[i])
 		if self.update_progressbar_timeout_id is not None:
 			if self.message_id:
 				self.statusbar.remove(self.context_id, self.message_id)
@@ -262,10 +255,10 @@ class ProfileWindow:
 			self.progressbar.set_fraction(0)
 			self.update_progressbar_timeout_id = None
 
-	def add_to_vcard(self, vcard, entry, txt):
+	def add_to_vcard(self, vcard_, entry, txt):
 		'''Add an information to the vCard dictionary'''
 		entries = entry.split('_')
-		loc = vcard
+		loc = vcard_
 		if len(entries) == 3: # We need to use lists
 			if not loc.has_key(entries[0]):
 				loc[entries[0]] = []
@@ -278,14 +271,14 @@ class ProfileWindow:
 				e[entries[2]] = txt
 			else:
 				loc[entries[0]].append({entries[1]: '', entries[2]: txt})
-			return vcard
+			return vcard_
 		while len(entries) > 1:
 			if not loc.has_key(entries[0]):
 				loc[entries[0]] = {}
 			loc = loc[entries[0]]
 			del entries[0]
 		loc[entries[0]] = txt
-		return vcard
+		return vcard_
 
 	def make_vcard(self):
 		'''make the vCard dictionary'''
@@ -296,11 +289,11 @@ class ProfileWindow:
 			'ORG_ORGUNIT', 'TITLE', 'ROLE', 'TEL_WORK_NUMBER', 'EMAIL_WORK_USERID',
 			'ADR_WORK_STREET', 'ADR_WORK_EXTADR', 'ADR_WORK_LOCALITY',
 			'ADR_WORK_REGION', 'ADR_WORK_PCODE', 'ADR_WORK_CTRY']
-		vcard = {}
+		vcard_ = {}
 		for e in entries: 
 			txt = self.xml.get_widget(e + '_entry').get_text().decode('utf-8')
 			if txt != '':
-				vcard = self.add_to_vcard(vcard, e, txt)
+				vcard_ = self.add_to_vcard(vcard_, e, txt)
 
 		# DESC textview
 		buff = self.xml.get_widget('DESC_textview').get_buffer()
@@ -308,14 +301,14 @@ class ProfileWindow:
 		end_iter = buff.get_end_iter()
 		txt = buff.get_text(start_iter, end_iter, 0)
 		if txt != '':
-			vcard['DESC'] = txt.decode('utf-8')
+			vcard_['DESC'] = txt.decode('utf-8')
 
 		# Avatar
 		if self.avatar_encoded:
-			vcard['PHOTO'] = {'BINVAL': self.avatar_encoded}
+			vcard_['PHOTO'] = {'BINVAL': self.avatar_encoded}
 			if self.avatar_mime_type:
-				vcard['PHOTO']['TYPE'] = self.avatar_mime_type
-		return vcard
+				vcard_['PHOTO']['TYPE'] = self.avatar_mime_type
+		return vcard_
 
 	def on_ok_button_clicked(self, widget):
 		if self.update_progressbar_timeout_id:
@@ -326,14 +319,14 @@ class ProfileWindow:
 				_('Without a connection you can not publish your contact '
 				'information.'))
 			return
-		vcard = self.make_vcard()
+		vcard_ = self.make_vcard()
 		nick = ''
-		if vcard.has_key('NICKNAME'):
-			nick = vcard['NICKNAME']
+		if vcard_.has_key('NICKNAME'):
+			nick = vcard_['NICKNAME']
 		if nick == '':
 			nick = gajim.config.get_per('accounts', self.account, 'name')
 		gajim.nicks[self.account] = nick
-		gajim.connections[self.account].send_vcard(vcard)
+		gajim.connections[self.account].send_vcard(vcard_)
 		self.message_id = self.statusbar.push(self.context_id,
 			_('Sending profile...'))
 		self.progressbar.show()
diff --git a/src/remote_control.py b/src/remote_control.py
index e6712e8b585c7274edc7118cd0351b09d6cb0415..3bde37b7292a745fd0dfb9817473fc1abcdc83a2 100644
--- a/src/remote_control.py
+++ b/src/remote_control.py
@@ -1,21 +1,26 @@
 ##	remote_control.py
 ##
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005-2006 Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2005-2006 Andrew Sayman <lorien420@myrealbox.com>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
 ## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gobject
 import os
@@ -434,11 +439,11 @@ class SignalObject(dbus.service.Object):
 				'accounts', con.name, 'resource')))
 		return result
 
-	@dbus.service.method(INTERFACE, in_signature='s', out_signature='av')
+	@dbus.service.method(INTERFACE, in_signature='s', out_signature='aa{sv}')
 	def list_contacts(self, account):
 		'''list all contacts in the roster. If the first argument is specified,
 		then return the contacts for the specified account'''
-		result = dbus.Array([], signature='a{sv}')
+		result = dbus.Array([], signature='aa{sv}')
 		accounts = gajim.contacts.get_accounts()
 		if len(accounts) == 0:
 			return result
diff --git a/src/roster_window.py b/src/roster_window.py
index 474f07dbc4119642467a673cec879e121b3bbe62..0ccc1296700f94c13b533e8ca74db637f55dbc2b 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -1,26 +1,33 @@
 # -*- coding: utf-8 -*-
 ##	roster_window.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2007 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005-2006 Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
 ## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
+## Copyright (C) 2007 Stephan Erb <steve-e@h3c.de> 
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import pango
 import gobject
 import os
+import sys
 import time
 import urllib
 
@@ -53,6 +60,12 @@ from common import dbus_support
 if dbus_support.supported:
 	from music_track_listener import MusicTrackListener
 	import dbus
+from lastfm_track_listener import LastFMTrackListener
+
+import sys
+if sys.platform == 'darwin':
+	from osx import syncmenu
+
 
 #(icon, name, type, jid, account, editable, second pixbuf)
 (
@@ -272,7 +285,8 @@ class RosterWindow:
 		if len(self.get_contact_iter(jid, account)):
 			return
 		if jid == gajim.get_jid_from_account(account):
-			self.add_self_contact(account)
+			if contact.resource != gajim.connections[account].server_resource:
+				self.add_self_contact(account)
 			return
 		if gajim.jid_is_transport(contact.jid):
 			# if jid is transport, check if we wanna show it in roster
@@ -332,6 +346,7 @@ class RosterWindow:
 					model.append(i, (None, name, 'contact', jid, account, None))
 				self.draw_contact(jid, account)
 				self.draw_avatar(jid, account)
+				self.draw_account(account)
 				# Redraw parent to change icon
 				self.draw_contact(big_brother_jid, big_brother_account)
 				return
@@ -390,6 +405,7 @@ class RosterWindow:
 				self.tree.expand_row(model.get_path(iterG), False)
 		self.draw_contact(jid, account)
 		self.draw_avatar(jid, account)
+		self.draw_account(account)
 		# put the children under this iter
 		for data in shown_family:
 			contacts = gajim.contacts.get_contacts(data['account'],
@@ -749,13 +765,14 @@ class RosterWindow:
 		for iter in iters:
 			model[iter][C_SECPIXBUF] = scaled_pixbuf
 
-	def join_gc_room(self, account, room_jid, nick, password, minimize = False):
+	def join_gc_room(self, account, room_jid, nick, password, minimize=False,
+		is_continued=False):
 		'''joins the room immediatelly'''
 		if gajim.interface.msg_win_mgr.has_window(room_jid, account) and \
 				gajim.gc_connected[account][room_jid]:
-			win = gajim.interface.msg_win_mgr.get_window(room_jid,  account)
+			win = gajim.interface.msg_win_mgr.get_window(room_jid, account)
 			win.window.present()
-			win.set_active_tab(room_jid,  account)
+			win.set_active_tab(room_jid, account)
 			dialogs.ErrorDialog(_('You are already in group chat %s') % room_jid)
 			return
 		minimized_control_exists = False
@@ -778,7 +795,7 @@ class RosterWindow:
 			return
 		if not minimized_control_exists and \
 			not gajim.interface.msg_win_mgr.has_window(room_jid, account):
-			self.new_room(room_jid, nick, account)
+			self.new_room(room_jid, nick, account, is_continued=is_continued)
 		if not minimized_control_exists:
 			gc_win = gajim.interface.msg_win_mgr.get_window(room_jid, account)
 			gc_win.set_active_tab(room_jid, account)
@@ -821,13 +838,6 @@ class RosterWindow:
 			gajim.interface.instances[account]['privacy_lists'] = \
 				dialogs.PrivacyListsWindow(account)
 
-	def on_blocked_contacts_menuitem_activate(self, widget, account):
-		if gajim.interface.instances[account].has_key('blocked_contacts'):
-			gajim.interface.instances[account]['blocked_contacts'].window.present()
-		else:
-			gajim.interface.instances[account]['blocked_contacts'] = \
-				dialogs.BlockedContactsWindow(account)
-
 	def on_set_motd_menuitem_activate(self, widget, account):
 		server = gajim.config.get_per('accounts', account, 'hostname')
 		server += '/announce/motd'
@@ -857,10 +867,7 @@ class RosterWindow:
 		xml = gtkgui_helpers.get_glade('advanced_menuitem_menu.glade')
 		advanced_menuitem_menu = xml.get_widget('advanced_menuitem_menu')
 
-		send_single_message_menuitem = xml.get_widget(
-			'send_single_message_menuitem')
 		xml_console_menuitem = xml.get_widget('xml_console_menuitem')
-		blocked_contacts_menuitem = xml.get_widget('blocked_contacts_menuitem')
 		privacy_lists_menuitem = xml.get_widget('privacy_lists_menuitem')
 		administrator_menuitem = xml.get_widget('administrator_menuitem')
 		send_server_message_menuitem = xml.get_widget(
@@ -874,25 +881,18 @@ class RosterWindow:
 
 		if gajim.connections[account] and gajim.connections[account].\
 		privacy_rules_supported:
-			blocked_contacts_menuitem.connect('activate',
-				self.on_blocked_contacts_menuitem_activate, account)
 			privacy_lists_menuitem.connect('activate',
 				self.on_privacy_lists_menuitem_activate, account)
 		else:
-			blocked_contacts_menuitem.set_sensitive(False)
 			privacy_lists_menuitem.set_sensitive(False)
 
 		if gajim.connections[account].is_zeroconf:
-			send_single_message_menuitem.set_sensitive(False)
 			administrator_menuitem.set_sensitive(False)
 			send_server_message_menuitem.set_sensitive(False)
 			set_motd_menuitem.set_sensitive(False)
 			update_motd_menuitem.set_sensitive(False)
 			delete_motd_menuitem.set_sensitive(False)
 		else:
-			send_single_message_menuitem.connect('activate',
-				self.on_send_single_message_menuitem_activate, account)
-
 			send_server_message_menuitem.connect('activate',
 				self.on_send_server_message_menuitem_activate, account)
 
@@ -909,11 +909,20 @@ class RosterWindow:
 
 		return advanced_menuitem_menu
 
-	def make_menu(self):
-		'''create the main window's menus'''
-		if not self.actions_menu_needs_rebuild:
+	def set_actions_menu_needs_rebuild(self):
+		self.actions_menu_needs_rebuild = True
+		# Force the rebuild now since the on_activates on the menu itself does
+		# not work with the os/x top level menubar
+		if sys.platform == 'darwin':
+			self.make_menu(force = True)
+		return
+
+	def make_menu(self, force = False):
+		'''create the main window\'s menus'''
+		if not force and not self.actions_menu_needs_rebuild:
 			return
 		new_chat_menuitem = self.xml.get_widget('new_chat_menuitem')
+		single_message_menuitem = self.xml.get_widget('send_single_message_menuitem')
 		join_gc_menuitem = self.xml.get_widget('join_gc_menuitem')
 		muc_icon = self.load_icon('muc_active')
 		if muc_icon:
@@ -951,11 +960,21 @@ class RosterWindow:
 				self.pep_services_menuitem_handler_id)
 			self.pep_services_menuitem_handler_id = None
 
+		if self.single_message_menuitem_handler_id:
+			single_message_menuitem.handler_disconnect(
+				self.single_message_menuitem_handler_id)
+			self.single_message_menuitem_handler_id = None
+
+		if self.profile_avatar_menuitem_handler_id:
+			profile_avatar_menuitem.handler_disconnect(
+				self.profile_avatar_menuitem_handler_id)
+			self.profile_avatar_menuitem_handler_id = None
 
 		# remove the existing submenus
 		add_new_contact_menuitem.remove_submenu()
 		service_disco_menuitem.remove_submenu()
 		join_gc_menuitem.remove_submenu()
+		single_message_menuitem.remove_submenu()
 		new_chat_menuitem.remove_submenu()
 		advanced_menuitem.remove_submenu()
 		profile_avatar_menuitem.remove_submenu()
@@ -972,10 +991,14 @@ class RosterWindow:
 		join_gc_menuitem.set_submenu(gc_sub_menu)
 
 		connected_accounts = gajim.get_number_of_connected_accounts()
+
+		connected_accounts_with_private_storage = 0
+
 		if connected_accounts > 1: # 2 or more accounts? make submenus
 			add_sub_menu = gtk.Menu()
 			disco_sub_menu = gtk.Menu()
 			new_chat_sub_menu = gtk.Menu()
+			single_message_sub_menu = gtk.Menu()
 
 			accounts_list = gajim.contacts.get_accounts()
 			accounts_list.sort()
@@ -989,21 +1012,27 @@ class RosterWindow:
 					False)
 				new_chat_sub_menu.append(new_chat_item)
 				new_chat_item.connect('activate',
-					self.on_new_chat_menuitem_activate,	account)
+					self.on_new_chat_menuitem_activate, account)
 
 				if gajim.config.get_per('accounts', account, 'is_zeroconf'):
 					continue
+				
+				# single message
+				single_message_item = gtk.MenuItem(_('using account %s') % account,
+					False)
+				single_message_sub_menu.append(single_message_item)
+				single_message_item.connect('activate',
+					self.on_send_single_message_menuitem_activate, account)
 
 				# join gc
+				if gajim.connections[account].private_storage_supported:
+					connected_accounts_with_private_storage += 1
 				gc_item = gtk.MenuItem(_('using account %s') % account, False)
 				gc_sub_menu.append(gc_item)
 				gc_menuitem_menu = gtk.Menu()
 				self.add_bookmarks_list(gc_menuitem_menu, account)
 				gc_item.set_submenu(gc_menuitem_menu)
 
-				# the 'manage gc bookmarks' item is shown
-				# below to avoid duplicate code
-
 				# add
 				add_item = gtk.MenuItem(_('to %s account') % account, False)
 				add_sub_menu.append(add_item)
@@ -1015,20 +1044,24 @@ class RosterWindow:
 				disco_item.connect('activate',
 					self.on_service_disco_menuitem_activate, account)
 
-
 			add_new_contact_menuitem.set_submenu(add_sub_menu)
 			add_sub_menu.show_all()
 			service_disco_menuitem.set_submenu(disco_sub_menu)
 			disco_sub_menu.show_all()
 			new_chat_menuitem.set_submenu(new_chat_sub_menu)
 			new_chat_sub_menu.show_all()
+			single_message_menuitem.set_submenu(single_message_sub_menu)
+			single_message_sub_menu.show_all()
 			gc_sub_menu.show_all()
 
 		elif connected_accounts == 1: # user has only one account
 			for account in gajim.connections:
 				if gajim.account_is_connected(account): # THE connected account
 					# gc
+					if gajim.connections[account].private_storage_supported:
+						connected_accounts_with_private_storage += 1
 					self.add_bookmarks_list(gc_sub_menu, account)
+					gc_sub_menu.show_all()
 					# add
 					if not self.add_new_contact_handler_id:
 						self.add_new_contact_handler_id =\
@@ -1044,6 +1077,13 @@ class RosterWindow:
 						self.new_chat_menuitem_handler_id = new_chat_menuitem.\
 							connect('activate', self.on_new_chat_menuitem_activate,
 							account)
+
+					# single message
+					if not self.single_message_menuitem_handler_id:
+						self.single_message_menuitem_handler_id = \
+						single_message_menuitem.connect('activate', \
+						self.on_send_single_message_menuitem_activate, account)
+
 					# new chat accel
 					if not self.have_new_chat_accel:
 						ag = gtk.accel_groups_from_object(self.window)[0]
@@ -1056,26 +1096,39 @@ class RosterWindow:
 		if connected_accounts == 0:
 			# no connected accounts, make the menuitems insensitive
 			for item in [new_chat_menuitem, join_gc_menuitem,\
-					add_new_contact_menuitem, service_disco_menuitem]:
+					add_new_contact_menuitem, service_disco_menuitem,\
+					single_message_menuitem]:
 				item.set_sensitive(False)
 		else: # we have one or more connected accounts
 			for item in [new_chat_menuitem, join_gc_menuitem,\
-						add_new_contact_menuitem, service_disco_menuitem]:
+					add_new_contact_menuitem, service_disco_menuitem,\
+					single_message_menuitem]:
 				item.set_sensitive(True)
-
 			# disable some fields if only local account is there
 			if connected_accounts == 1:
 				for account in gajim.connections:
 					if gajim.account_is_connected(account) and \
 							gajim.connections[account].is_zeroconf:
 						for item in [join_gc_menuitem,\
-								add_new_contact_menuitem, service_disco_menuitem]:
+								add_new_contact_menuitem, service_disco_menuitem,
+								single_message_menuitem]:
 							item.set_sensitive(False)
 
+		if connected_accounts_with_private_storage > 0:
+			# At least one account with private storage support
 			# show the 'manage gc bookmarks' item
 			newitem = gtk.SeparatorMenuItem() # separator
 			gc_sub_menu.append(newitem)
 
+			newitem = gtk.ImageMenuItem(_('_Manage Bookmarks...'))
+			img = gtk.image_new_from_stock(gtk.STOCK_PREFERENCES,
+				gtk.ICON_SIZE_MENU)
+			newitem.set_image(img)
+			newitem.connect('activate',
+				self.on_manage_bookmarks_menuitem_activate)
+			gc_sub_menu.append(newitem)
+			gc_sub_menu.show_all()
+
 		connected_accounts_with_vcard = []
 		for account in gajim.connections:
 			if gajim.account_is_connected(account) and \
@@ -1129,15 +1182,6 @@ class RosterWindow:
 			profile_avatar_menuitem.set_sensitive(True)
 			pep_services_menuitem.set_sensitive(True)
 
-			newitem = gtk.ImageMenuItem(_('_Manage Bookmarks...'))
-			img = gtk.image_new_from_stock(gtk.STOCK_PREFERENCES,
-				gtk.ICON_SIZE_MENU)
-			newitem.set_image(img)
-			newitem.connect('activate',
-				self.on_manage_bookmarks_menuitem_activate)
-			gc_sub_menu.append(newitem)
-			gc_sub_menu.show_all()
-
 		# Advanced Actions
 		if len(gajim.connections) == 0: # user has no accounts
 			advanced_menuitem.set_sensitive(False)
@@ -1170,6 +1214,9 @@ class RosterWindow:
 			advanced_menuitem.set_submenu(advanced_sub_menu)
 			advanced_sub_menu.show_all()
 
+		if sys.platform == 'darwin':
+			syncmenu.takeover_menu(self.xml.get_widget('menubar'))
+
 		self.actions_menu_needs_rebuild = False
 
 	def _add_history_manager_menuitem(self, menu):
@@ -1237,10 +1284,15 @@ class RosterWindow:
 		'''reads from db the unread messages, and fire them up'''
 		for jid in gajim.contacts.get_jid_list(account):
 			results = gajim.logger.get_unread_msgs_for_jid(jid)
+
+			# XXX unread messages should probably have their session saved with them
+			if results:
+				session = gajim.connections[account].make_new_session(jid)
+
 			for result in results:
 				tim = time.localtime(float(result[2]))
 				self.on_message(jid, result[1], tim, account, msg_type = 'chat',
-					msg_id = result[0])
+					msg_id = result[0], session = session)
 
 	def fill_contacts_and_groups_dicts(self, array, account):
 		'''fill gajim.contacts and gajim.groups'''
@@ -1248,6 +1300,8 @@ class RosterWindow:
 			gajim.contacts.add_account(account)
 		if not gajim.groups.has_key(account):
 			gajim.groups[account] = {}
+		# Empty contact list
+		gajim.contacts.clear_contacts(account)
 		for jid in array.keys():
 			jids = jid.split('/')
 			#get jid
@@ -1350,6 +1404,11 @@ class RosterWindow:
 				ctrl.print_conversation(_('%s is now %s') % (name, uf_show),
 					'status')
 
+		# unset custom status
+		if gajim.interface.status_sent_to_users.has_key(account) and \
+			contact.jid in gajim.interface.status_sent_to_users[account]:
+			del gajim.interface.status_sent_to_users[account][contact.jid]
+
 		if not contact.groups:
 			self.draw_group(_('General'), account)
 		else:
@@ -1468,9 +1527,10 @@ class RosterWindow:
 					name = account_name, show = connection.get_status(), sub = '',
 					status = connection.status,
 					resource = connection.server_resource,
-					priority = connection.priority,
-					keyID = gajim.config.get_per('accounts', connection.name,
-						'keyid'))
+					priority = connection.priority)
+				if gajim.connections[account].gpg:
+					contact.keyID = gajim.config.get_per('accounts', connection.name,
+						'keyid')
 				contacts.append(contact)
 				# if we're online ...
 				if connection.connection:
@@ -1481,6 +1541,14 @@ class RosterWindow:
 						resources = roster.getResources(jid)
 						# ...get the contact info for our other online resources
 						for resource in resources:
+							# Check if we already have this resource
+							found = False
+							for contact_ in contacts:
+								if contact_.resource == resource:
+									found = True
+									break
+							if found:
+								continue
 							show = roster.getShow(jid+'/'+resource)
 							if not show:
 								show = 'online'
@@ -1517,8 +1585,7 @@ class RosterWindow:
 				gajim.contacts.remove_contact(account, contact)
 				return
 
-		def remove(widget, list_):
-			self.dialog.destroy()
+		def remove(list_):
 			for (contact, account) in list_:
 				full_jid = contact.get_full_jid()
 				gajim.connections[account].unsubscribe_agent(full_jid)
@@ -1550,7 +1617,7 @@ class RosterWindow:
 			jids = jids[:-1] + '.'
 			sectext = _('You will no longer be able to send and receive messages '
 				'to contacts from these transports:%s') % jids
-		self.dialog = dialogs.ConfirmationDialog(pritext, sectext,
+		dialogs.ConfirmationDialog(pritext, sectext,
 			on_response_ok = (remove, list_))
 
 	def on_block(self, widget, iter, group_list):
@@ -1564,7 +1631,7 @@ class RosterWindow:
 			accounts.append(account)
 			self.send_status(account, 'offline', msg, to = jid)
 			new_rule = {'order': u'1', 'type': u'jid', 'action': u'deny',
-				'value' : jid, 'child':  [u'message', u'iq', u'presence-out']}
+				'value' : jid, 'child': [u'message', u'iq', u'presence-out']}
 			gajim.connections[account].blocked_list.append(new_rule)
 			# needed for draw_contact:
 			gajim.connections[account].blocked_contacts.append(jid)
@@ -1578,8 +1645,8 @@ class RosterWindow:
 						accounts.append(account)
 					self.send_status(account, 'offline', msg, to=contact.jid)
 					new_rule = {'order': u'1', 'type': u'jid',
-							'action': u'deny',  'value' : contact.jid,
-							'child':  [u'message', u'iq', u'presence-out']}
+							'action': u'deny', 'value' : contact.jid,
+							'child': [u'message', u'iq', u'presence-out']}
 					gajim.connections[account].blocked_list.append(new_rule)
 					# needed for draw_contact:
 					gajim.connections[account].blocked_contacts.append(contact.jid)
@@ -1597,7 +1664,7 @@ class RosterWindow:
 					self.send_status(account, 'offline', msg, to=contact.jid)
 					self.draw_contact(contact.jid, account)
 				new_rule = {'order': u'1', 'type': u'group', 'action': u'deny',
-					'value' : group, 'child':  [u'message', u'iq', u'presence-out']}
+					'value' : group, 'child': [u'message', u'iq', u'presence-out']}
 				gajim.connections[account].blocked_list.append(new_rule)
 		for account in accounts:
 			gajim.connections[account].set_privacy_list(
@@ -1883,7 +1950,7 @@ class RosterWindow:
 			try:
 				pixbuf = gtk.gdk.pixbuf_new_from_file(path_to_file)
 				if filesize > 16384: # 16 kb
-					# get the image at 'notification size'
+					# get the image at 'tooltip size'
 					# and hope that user did not specify in ACE crazy size
 					pixbuf = gtkgui_helpers.get_scaled_pixbuf(pixbuf, 'tooltip')
 			except gobject.GError, msg: # unknown format
@@ -1891,21 +1958,14 @@ class RosterWindow:
 				msg = str(msg)
 				dialogs.ErrorDialog(_('Could not load image'), msg)
 				return
-			puny_jid = helpers.sanitize_filename(contact.jid)
-			path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid) + '_local.png'
-			pixbuf.save(path_to_file, 'png')
+			gajim.interface.save_avatar_files(contact.jid, pixbuf, local = True)
 			dlg.destroy()
 			self.update_avatar_in_gui(contact.jid, account)
 
 		def on_clear(widget):
 			dlg.destroy()
 			# Delete file:
-			puny_jid = helpers.sanitize_filename(contact.jid)
-			path_to_file = os.path.join(gajim.AVATAR_PATH, puny_jid) + '_local.png'
-			try:
-				os.remove(path_to_file)
-			except OSError:
-				gajim.log.debug('Cannot remove %s' % path_to_file)
+			gajim.interface.remove_avatar_files(contact.jid, local = True)
 			self.update_avatar_in_gui(contact.jid, account)
 
 		dlg = dialogs.AvatarChooserDialog(on_response_ok = on_ok,
@@ -1917,10 +1977,11 @@ class RosterWindow:
 
 	def on_history(self, widget, contact, account):
 		'''When history menuitem is activated: call log window'''
-		if gajim.interface.instances['logs'].has_key(contact.jid):
-			gajim.interface.instances['logs'][contact.jid].window.present()
+		if gajim.interface.instances.has_key('logs'):
+			gajim.interface.instances['logs'].window.present()
+			gajim.interface.instances['logs'].open_history(contact.jid, account)
 		else:
-			gajim.interface.instances['logs'][contact.jid] = history_window.\
+			gajim.interface.instances['logs'] = history_window.\
 				HistoryWindow(contact.jid, account)
 
 	def on_disconnect(self, widget, jid, account):
@@ -1950,7 +2011,8 @@ class RosterWindow:
 				jid += '/' + contact.resource
 			dialogs.SingleMessageWindow(account, jid, 'send')
 
-	def on_send_file_menuitem_activate(self, widget, account, contact):
+	def on_send_file_menuitem_activate(self, widget, contact, account,
+	resource=None):
 		gajim.interface.instances['file_transfers'].show_file_send_request(
 			account, contact)
 
@@ -1958,7 +2020,7 @@ class RosterWindow:
 		dialogs.AddSpecialNotificationDialog(jid)
 
 	def make_contact_menu(self, event, iter):
-		'''Make contact's popup menu'''
+		'''Make contact\'s popup menu'''
 		model = self.tree.get_model()
 		jid = model[iter][C_JID].decode('utf-8')
 		tree_path = model.get_path(iter)
@@ -1967,7 +2029,8 @@ class RosterWindow:
 		contact = gajim.contacts.get_contact_with_highest_priority(account, jid)
 		if not contact:
 			return
-
+		
+		# Zeroconf Account
 		if gajim.config.get_per('accounts', account, 'is_zeroconf'):
 			xml = gtkgui_helpers.get_glade('zeroconf_contact_context_menu.glade')
 			zeroconf_contact_context_menu = xml.get_widget(
@@ -1976,8 +2039,6 @@ class RosterWindow:
 			start_chat_menuitem = xml.get_widget('start_chat_menuitem')
 			rename_menuitem = xml.get_widget('rename_menuitem')
 			edit_groups_menuitem = xml.get_widget('edit_groups_menuitem')
-			# separator has with send file, assign_openpgp_key_menuitem, etc..
-			above_send_file_separator = xml.get_widget('above_send_file_separator')
 			send_file_menuitem = xml.get_widget('send_file_menuitem')
 			assign_openpgp_key_menuitem = xml.get_widget(
 				'assign_openpgp_key_menuitem')
@@ -1995,7 +2056,6 @@ class RosterWindow:
 			above_information_separator = xml.get_widget(
 				'above_information_separator')
 
-			# skip a separator
 			information_menuitem = xml.get_widget('information_menuitem')
 			history_menuitem = xml.get_widget('history_menuitem')
 
@@ -2024,10 +2084,9 @@ class RosterWindow:
 
 			if contact.resource:
 				send_file_menuitem.connect('activate',
-					self.on_send_file_menuitem_activate, account, contact)
-			else: # if we do not have resource we cannot send file
-				send_file_menuitem.hide()
-				send_file_menuitem.set_no_show_all(True)
+					self.on_send_file_menuitem_activate, contact, account)
+			else: # if we do no have resource we cannot do much
+				send_file_menuitem.set_sensitive(False)
 
 			rename_menuitem.connect('activate', self.on_rename, iter, tree_path)
 			if contact.show in ('offline', 'error'):
@@ -2046,18 +2105,16 @@ class RosterWindow:
 				edit_groups_menuitem.connect('activate', self.on_edit_groups, [(
 					contact,account)])
 
-				if gajim.config.get('usegpg'):
+				if gajim.connections[account].gpg:
 					assign_openpgp_key_menuitem.connect('activate',
 						self.on_assign_pgp_key, contact, account)
+				else:
+					assign_openpgp_key_menuitem.set_sensitive(False)
 
 			else: # contact is in group 'Not in Roster'
-				edit_groups_menuitem.hide()
+				edit_groups_menuitem.set_sensitive(False)
 				edit_groups_menuitem.set_no_show_all(True)
-				# hide first of the two consecutive separators
-				above_send_file_separator.hide()
-				above_send_file_separator.set_no_show_all(True)
-				assign_openpgp_key_menuitem.hide()
-				assign_openpgp_key_menuitem.set_no_show_all(True)
+				assign_openpgp_key_menuitem.set_sensitive(False)
 
 			# Remove many items when it's self contact row
 			if our_jid:
@@ -2098,8 +2155,6 @@ class RosterWindow:
 		unblock_menuitem = xml.get_widget('unblock_menuitem')
 		rename_menuitem = xml.get_widget('rename_menuitem')
 		edit_groups_menuitem = xml.get_widget('edit_groups_menuitem')
-		# separator has with send file, assign_openpgp_key_menuitem, etc..
-		above_send_file_separator = xml.get_widget('above_send_file_separator')
 		send_file_menuitem = xml.get_widget('send_file_menuitem')
 		assign_openpgp_key_menuitem = xml.get_widget(
 			'assign_openpgp_key_menuitem')
@@ -2130,8 +2185,9 @@ class RosterWindow:
 		jid in gajim.interface.status_sent_to_users[account]:
 			send_custom_status_menuitem.set_image(
 				self.load_icon(gajim.interface.status_sent_to_users[account][jid]))
-		else:
-			send_custom_status_menuitem.set_image(None)
+		else:	
+			icon = gtk.image_new_from_stock(gtk.STOCK_NETWORK, gtk.ICON_SIZE_MENU)
+			send_custom_status_menuitem.set_image(icon)
 
 		if not our_jid:
 			# add a special img for rename menuitem
@@ -2145,8 +2201,7 @@ class RosterWindow:
 		if muc_icon:
 			invite_menuitem.set_image(muc_icon)
 
-		above_subscription_separator = xml.get_widget(
-			'above_subscription_separator')
+		# Subscription submenu
 		subscription_menuitem = xml.get_widget('subscription_menuitem')
 		send_auth_menuitem, ask_auth_menuitem, revoke_auth_menuitem =\
 			subscription_menuitem.get_submenu().get_children()
@@ -2154,7 +2209,6 @@ class RosterWindow:
 		remove_from_roster_menuitem = xml.get_widget(
 			'remove_from_roster_menuitem')
 
-		# skip a separator
 		information_menuitem = xml.get_widget('information_menuitem')
 		history_menuitem = xml.get_widget('history_menuitem')
 
@@ -2169,7 +2223,7 @@ class RosterWindow:
 		contact_transport = gajim.get_transport_name_from_jid(contact.jid)
 		t = contact_transport or 'jabber' # transform None in 'jabber'
 		if not gajim.connections[account].muc_jid.has_key(t):
-			invite_to_new_room_menuitem.set_sensitive(False)
+			invite_menuitem.set_sensitive(False)
 		invite_to_submenu.append(invite_to_new_room_menuitem)
 		rooms = [] # a list of (room_jid, account) tuple
 		for gc_control in gajim.interface.msg_win_mgr.get_controls(
@@ -2201,7 +2255,7 @@ class RosterWindow:
 			status_menuitems.append(status_menuitem)
 		if len(contacts) > 1: # several resources
 			def resources_submenu(action, room_jid = None, room_account = None):
-				''' Build a submenu with contact's resources.
+				''' Build a submenu with contact\'s resources.
 				room_jid and room_account are for action self.on_invite_to_room '''
 				sub_menu = gtk.Menu()
 
@@ -2229,6 +2283,8 @@ class RosterWindow:
 
 			start_chat_menuitem.set_submenu(resources_submenu(
 				self.on_open_chat_window))
+			send_file_menuitem.set_submenu(resources_submenu(
+				self.on_send_file_menuitem_activate))
 			execute_command_menuitem.set_submenu(resources_submenu(
 				self.on_execute_command))
 			invite_to_new_room_menuitem.set_submenu(resources_submenu(
@@ -2242,15 +2298,8 @@ class RosterWindow:
 		else: # one resource
 			start_chat_menuitem.connect('activate',
 				self.on_open_chat_window, contact, account)
-			# we cannot execute commands when the resource is unknown
-			# TODO: that's true only if the entity is a contact,
-			# TODO: we need to show this also for transports
-			if contact.resource:
-				execute_command_menuitem.connect('activate',
-					self.on_execute_command, contact, account, contact.resource)
-			else:
-				execute_command_menuitem.hide()
-				execute_command_menuitem.set_no_show_all(True)
+			execute_command_menuitem.connect('activate', self.on_execute_command,
+				contact, account, contact.resource)
 
 			our_jid_other_resource = None
 			if our_jid:
@@ -2268,12 +2317,11 @@ class RosterWindow:
 					our_jid_other_resource)
 				invite_to_submenu.append(menuitem)
 
-		if contact.resource:
-			send_file_menuitem.connect('activate',
-				self.on_send_file_menuitem_activate, account, contact)
-		else: # if we do not have resource we cannot send file
-			send_file_menuitem.hide()
-			send_file_menuitem.set_no_show_all(True)
+			if contact.resource:
+				send_file_menuitem.connect('activate',
+					self.on_send_file_menuitem_activate, contact, account)
+			else: # if we do not have resource we cannot send file
+				send_file_menuitem.set_sensitive(False)
 
 		send_single_message_menuitem.connect('activate',
 			self.on_send_single_message_menuitem_activate, account, contact)
@@ -2288,16 +2336,16 @@ class RosterWindow:
 
 		if _('Not in Roster') not in contact.groups:
 			# contact is in normal group
-			edit_groups_menuitem.set_no_show_all(False)
-			assign_openpgp_key_menuitem.set_no_show_all(False)
 			add_to_roster_menuitem.hide()
 			add_to_roster_menuitem.set_no_show_all(True)
 			edit_groups_menuitem.connect('activate', self.on_edit_groups, [(
 				contact,account)])
 
-			if gajim.config.get('usegpg'):
+			if gajim.connections[account].gpg:
 				assign_openpgp_key_menuitem.connect('activate',
 					self.on_assign_pgp_key, contact, account)
+			else:
+				assign_openpgp_key_menuitem.set_sensitive(False)
 
 			if contact.sub in ('from', 'both'):
 				send_auth_menuitem.set_sensitive(False)
@@ -2319,45 +2367,39 @@ class RosterWindow:
 
 		else: # contact is in group 'Not in Roster'
 			add_to_roster_menuitem.set_no_show_all(False)
-			edit_groups_menuitem.hide()
-			edit_groups_menuitem.set_no_show_all(True)
-			# hide first of the two consecutive separators
-			above_send_file_separator.hide()
-			above_send_file_separator.set_no_show_all(True)
-			assign_openpgp_key_menuitem.hide()
-			assign_openpgp_key_menuitem.set_no_show_all(True)
-			subscription_menuitem.hide()
-			subscription_menuitem.set_no_show_all(True)
+			edit_groups_menuitem.set_sensitive(False)
+			assign_openpgp_key_menuitem.set_sensitive(False)
+			subscription_menuitem.set_sensitive(False)
 
 			add_to_roster_menuitem.connect('activate',
 				self.on_add_to_roster, contact, account)
 
 		set_custom_avatar_menuitem.connect('activate',
 			self.on_set_custom_avatar_activate, contact, account)
-		# Remove many items when it's self contact row
+		# Hide items when it's self contact row
 		if our_jid:
 			menuitem = xml.get_widget('manage_contact')
-			menuitem.set_no_show_all(True)
-			menuitem.hide()
+			menuitem.set_sensitive(False)
 
 		# Unsensitive many items when account is offline
 		if gajim.connections[account].connected < 2:
 			for widget in [start_chat_menuitem, send_single_message_menuitem,
 			rename_menuitem, edit_groups_menuitem, send_file_menuitem,
 			subscription_menuitem, add_to_roster_menuitem,
-			remove_from_roster_menuitem, execute_command_menuitem]:
+			remove_from_roster_menuitem, execute_command_menuitem,
+			send_custom_status_menuitem]:
 				widget.set_sensitive(False)
 
 		if gajim.connections[account] and gajim.connections[account].\
 			privacy_rules_supported:
 			if jid in gajim.connections[account].blocked_contacts:
-					block_menuitem.set_no_show_all(True)
-					unblock_menuitem.connect('activate', self.on_unblock, iter, None)
-					block_menuitem.hide()
+				block_menuitem.set_no_show_all(True)
+				unblock_menuitem.connect('activate', self.on_unblock, iter, None)
+				block_menuitem.hide()
 			else:
-					unblock_menuitem.set_no_show_all(True)
-					block_menuitem.connect('activate', self.on_block, iter, None)
-					unblock_menuitem.hide()
+				unblock_menuitem.set_no_show_all(True)
+				block_menuitem.connect('activate', self.on_block, iter, None)
+				unblock_menuitem.hide()
 		else:
 			unblock_menuitem.set_no_show_all(True)
 			block_menuitem.set_sensitive(False)
@@ -2505,15 +2547,23 @@ class RosterWindow:
 		item = gtk.SeparatorMenuItem() # separator
 		menu.append(item)
 
+		# Manage Transport submenu
+		item = gtk.ImageMenuItem(_('_Manage Contacts'))
+		icon = gtk.image_new_from_stock(gtk.STOCK_PROPERTIES, gtk.ICON_SIZE_MENU)
+		item.set_image(icon)
+		manage_contacts_submenu = gtk.Menu()
+		item.set_submenu(manage_contacts_submenu)
+		menu.append(item)
+		
 		# Edit Groups
 		edit_groups_item = gtk.ImageMenuItem(_('Edit _Groups'))
 		icon = gtk.image_new_from_stock(gtk.STOCK_EDIT, gtk.ICON_SIZE_MENU)
 		edit_groups_item.set_image(icon)
-		menu.append(edit_groups_item)
+		manage_contacts_submenu.append(edit_groups_item)
 		edit_groups_item.connect('activate', self.on_edit_groups, list_)
 
 		item = gtk.SeparatorMenuItem() # separator
-		menu.append(item)
+		manage_contacts_submenu.append(item)
 
 		# Block
 		if is_blocked and gajim.connections[account].privacy_rules_supported:
@@ -2521,22 +2571,22 @@ class RosterWindow:
 			icon = gtk.image_new_from_stock(gtk.STOCK_STOP, gtk.ICON_SIZE_MENU)
 			unblock_menuitem.set_image(icon)
 			unblock_menuitem.connect('activate', self.on_unblock, None, list_)
-			menu.append(unblock_menuitem)
+			manage_contacts_submenu.append(unblock_menuitem)
 		else:
 			block_menuitem = gtk.ImageMenuItem(_('_Block'))
 			icon = gtk.image_new_from_stock(gtk.STOCK_STOP, gtk.ICON_SIZE_MENU)
 			block_menuitem.set_image(icon)
 			block_menuitem.connect('activate', self.on_block, None, list_)
-			menu.append(block_menuitem)
+			manage_contacts_submenu.append(block_menuitem)
 
 			if not gajim.connections[account].privacy_rules_supported:
 				block_menuitem.set_sensitive(False)
 
 		# Remove 
-		remove_item = gtk.ImageMenuItem(_('_Remove from Roster'))
+		remove_item = gtk.ImageMenuItem(_('_Remove'))
 		icon = gtk.image_new_from_stock(gtk.STOCK_REMOVE, gtk.ICON_SIZE_MENU)
 		remove_item.set_image(icon)
-		menu.append(remove_item)
+		manage_contacts_submenu.append(remove_item)
 		remove_item.connect('activate', self.on_req_usub, list_)
 		# unsensitive remove if one account is not connected
 		if one_account_offline:
@@ -2565,7 +2615,17 @@ class RosterWindow:
 			maximize_menuitem.connect('activate', self.on_groupchat_maximized, \
 				jid, account)
 			menu.append(maximize_menuitem)
-
+			
+		disconnect_menuitem = gtk.ImageMenuItem(_('_Disconnect'))
+		disconnect_icon = gtk.image_new_from_stock(gtk.STOCK_DISCONNECT, \
+			gtk.ICON_SIZE_MENU)
+		disconnect_menuitem.set_image(disconnect_icon)
+		disconnect_menuitem .connect('activate', self.on_disconnect, jid, account)
+		menu.append(disconnect_menuitem)		
+		
+		item = gtk.SeparatorMenuItem() # separator
+		menu.append(item)
+		
 		history_menuitem = gtk.ImageMenuItem(_('_History'))
 		history_icon = gtk.image_new_from_stock(gtk.STOCK_JUSTIFY_FILL, \
 			gtk.ICON_SIZE_MENU)
@@ -2574,16 +2634,6 @@ class RosterWindow:
 				contact, account)
 		menu.append(history_menuitem)
 
-		item = gtk.SeparatorMenuItem() # separator
-		menu.append(item)
-
-		disconnect_menuitem = gtk.ImageMenuItem(_('_Disconnect'))
-		disconnect_icon = gtk.image_new_from_stock(gtk.STOCK_DISCONNECT, \
-			gtk.ICON_SIZE_MENU)
-		disconnect_menuitem.set_image(disconnect_icon)
-		disconnect_menuitem .connect('activate', self.on_disconnect, jid, account)
-		menu.append(disconnect_menuitem)
-
 		event_button = gtkgui_helpers.get_possible_button_event(event)
 
 		menu.attach_to_widget(self.tree, None)
@@ -2678,12 +2728,10 @@ class RosterWindow:
 			if group in gajim.connections[account].blocked_groups:
 				send_custom_status_menuitem.set_image(self.load_icon('offline'))
 				send_custom_status_menuitem.set_sensitive(False)
-			elif gajim.interface.status_sent_to_groups.has_key(account) and \
-			group in gajim.interface.status_sent_to_groups[account]:
-				send_custom_status_menuitem.set_image(self.load_icon(
-					gajim.interface.status_sent_to_groups[account][group]))
 			else:
-				send_custom_status_menuitem.set_image(None)
+				icon = gtk.image_new_from_stock(gtk.STOCK_NETWORK,
+					gtk.ICON_SIZE_MENU)
+				send_custom_status_menuitem.set_image(icon)
 			status_menuitems = gtk.Menu()
 			send_custom_status_menuitem.set_submenu(status_menuitems)
 			iconset = gajim.config.get('iconset')
@@ -2698,8 +2746,13 @@ class RosterWindow:
 				status_menuitem.set_image(icon)
 				status_menuitems.append(status_menuitem)
 			menu.append(send_custom_status_menuitem)
+			
+			# there is no singlemessage and custom status for zeroconf
+			if gajim.config.get_per('accounts', account, 'is_zeroconf'):
+				send_custom_status_menuitem.set_sensitive(False)
+				send_group_message_item.set_sensitive(False)
 
-		if not group in helpers.special_groups + (_('General'),):
+		if not group in helpers.special_groups:
 			item = gtk.SeparatorMenuItem() # separator
 			menu.append(item)
 
@@ -2740,15 +2793,22 @@ class RosterWindow:
 					block_menuitem.set_sensitive(False)
 
 			# Remove group
-			remove_item = gtk.ImageMenuItem(_('_Remove from Roster'))
+			remove_item = gtk.ImageMenuItem(_('_Remove'))
 			icon = gtk.image_new_from_stock(gtk.STOCK_REMOVE, gtk.ICON_SIZE_MENU)
 			remove_item.set_image(icon)
 			menu.append(remove_item)
 			remove_item.connect('activate', self.on_remove_group_item_activated,
 				group, account)
+				
 			# unsensitive if account is not connected
 			if gajim.connections[account].connected < 2:
 				rename_item.set_sensitive(False)
+			
+			# General group cannot be changed
+			if group == _('General'):
+				rename_item.set_sensitive(False)
+				block_menuitem.set_sensitive(False)
+				remove_item.set_sensitive(False)
 
 		event_button = gtkgui_helpers.get_possible_button_event(event)
 
@@ -2758,7 +2818,7 @@ class RosterWindow:
 		menu.popup(None, None, None, event_button, event.time)
 
 	def make_transport_menu(self, event, iter):
-		'''Make transport's popup menu'''
+		'''Make transport\'s popup menu'''
 		model = self.tree.get_model()
 		jid = model[iter][C_JID].decode('utf-8')
 		path = model.get_path(iter)
@@ -2766,28 +2826,62 @@ class RosterWindow:
 		contact = gajim.contacts.get_contact_with_highest_priority(account, jid)
 		menu = gtk.Menu()
 
-		# Log on
-		item = gtk.ImageMenuItem(_('_Log on'))
-		icon = gtk.image_new_from_stock(gtk.STOCK_YES, gtk.ICON_SIZE_MENU)
-		item.set_image(icon)
-		menu.append(item)
-		show = contact.show
+		# Connect/Didconnect
+		show = contact.show	
 		if (show != 'offline' and show != 'error') or\
 			gajim.account_is_disconnected(account):
-			item.set_sensitive(False)
-		item.connect('activate', self.on_agent_logging, jid, None, account)
-
-		# Log off
-		item = gtk.ImageMenuItem(_('Log _off'))
-		icon = gtk.image_new_from_stock(gtk.STOCK_NO, gtk.ICON_SIZE_MENU)
+			# Log Off
+			item = gtk.ImageMenuItem(_('_Log off'))
+			icon = gtk.image_new_from_stock(gtk.STOCK_DISCONNECT, gtk.ICON_SIZE_MENU)
+			item.connect('activate', self.on_agent_logging, jid, 'unavailable',
+				account)
+		else:
+			# Log on
+			item = gtk.ImageMenuItem(_('_Log on'))
+			icon = gtk.image_new_from_stock(gtk.STOCK_CONNECT, gtk.ICON_SIZE_MENU)
+			item.connect('activate', self.on_agent_logging, jid, None, account)
 		item.set_image(icon)
 		menu.append(item)
-		if show in ('offline', 'error') or gajim.account_is_disconnected(
-			account):
+		if show == 'error':
 			item.set_sensitive(False)
-		item.connect('activate', self.on_agent_logging, jid, 'unavailable',
-			account)
+		
+		item = gtk.SeparatorMenuItem() # separator
+		menu.append(item)
+		
+		# Send single message
+		item = gtk.ImageMenuItem(_('Send Single Message'))
+		icon = gtk.image_new_from_stock(gtk.STOCK_NEW, gtk.ICON_SIZE_MENU)
+		item.set_image(icon)
+		item.connect('activate',
+			self.on_send_single_message_menuitem_activate, account, contact)
+		menu.append(item)
 
+		# Send Custom Status
+		send_custom_status_menuitem = gtk.ImageMenuItem(_('Send Cus_tom Status'))
+		# add a special img for this menuitem
+		if gajim.interface.status_sent_to_users.has_key(account) and \
+			jid in gajim.interface.status_sent_to_users[account]:
+			send_custom_status_menuitem.set_image(self.load_icon(
+				gajim.interface.status_sent_to_users[account][jid]))
+		else:
+			icon = gtk.image_new_from_stock(gtk.STOCK_NETWORK,
+				gtk.ICON_SIZE_MENU)
+			send_custom_status_menuitem.set_image(icon)
+		status_menuitems = gtk.Menu()
+		send_custom_status_menuitem.set_submenu(status_menuitems)
+		iconset = gajim.config.get('iconset')
+		path = os.path.join(helpers.get_iconset_path(iconset), '16x16')
+		for s in ['online', 'chat', 'away', 'xa', 'dnd', 'offline']:
+			# icon MUST be different instance for every item
+			state_images = self.load_iconset(path)
+			status_menuitem = gtk.ImageMenuItem(helpers.get_uf_show(s))
+			status_menuitem.connect('activate', self.on_send_custom_status,
+				[(contact, account)], s)
+			icon = state_images[s]
+			status_menuitem.set_image(icon)
+			status_menuitems.append(status_menuitem)
+		menu.append(send_custom_status_menuitem)
+		
 		item = gtk.SeparatorMenuItem() # separator
 		menu.append(item)
 
@@ -2801,11 +2895,19 @@ class RosterWindow:
 		if gajim.account_is_disconnected(account):
 			item.set_sensitive(False)
 
-		# Edit
-		item = gtk.ImageMenuItem(_('_Edit'))
-		icon = gtk.image_new_from_stock(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_MENU)
+		# Manage Transport submenu
+		item = gtk.ImageMenuItem(_('_Manage Transport'))
+		icon = gtk.image_new_from_stock(gtk.STOCK_PROPERTIES, gtk.ICON_SIZE_MENU)
 		item.set_image(icon)
+		manage_transport_submenu = gtk.Menu()
+		item.set_submenu(manage_transport_submenu)
 		menu.append(item)
+
+		# Modify Transport
+		item = gtk.ImageMenuItem(_('_Modify Transport'))
+		icon = gtk.image_new_from_stock(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_MENU)
+		item.set_image(icon)
+		manage_transport_submenu.append(item)
 		item.connect('activate', self.on_edit_agent, contact, account)
 		if gajim.account_is_disconnected(account):
 			item.set_sensitive(False)
@@ -2818,23 +2920,27 @@ class RosterWindow:
 		img = gtk.Image()
 		img.set_from_file(path_to_kbd_input_img)
 		item.set_image(img)
-		menu.append(item)
+		manage_transport_submenu.append(item)
 		item.connect('activate', self.on_rename, iter, path)
 		if gajim.account_is_disconnected(account):
 			item.set_sensitive(False)
 		
-		item = gtk.SeparatorMenuItem() # sepator
-		menu.append(item)
+		item = gtk.SeparatorMenuItem() # separator
+		manage_transport_submenu.append(item)
 
 		# Remove
-		item = gtk.ImageMenuItem(_('_Remove from Roster'))
+		item = gtk.ImageMenuItem(_('_Remove'))
 		icon = gtk.image_new_from_stock(gtk.STOCK_REMOVE, gtk.ICON_SIZE_MENU)
 		item.set_image(icon)
-		menu.append(item)
+		manage_transport_submenu.append(item)
 		item.connect('activate', self.on_remove_agent, [(contact, account)])
 		if gajim.account_is_disconnected(account):
 			item.set_sensitive(False)
+		
+		item = gtk.SeparatorMenuItem() # separator
+		menu.append(item)
 
+		# Information
 		information_menuitem = gtk.ImageMenuItem(_('_Information'))
 		icon = gtk.image_new_from_stock(gtk.STOCK_INFO, gtk.ICON_SIZE_MENU)
 		information_menuitem.set_image(icon)
@@ -2893,6 +2999,7 @@ class RosterWindow:
 			account_context_menu = xml.get_widget('account_context_menu')
 
 			status_menuitem = xml.get_widget('status_menuitem')
+			start_chat_menuitem = xml.get_widget('start_chat_menuitem')
 			join_group_chat_menuitem = xml.get_widget('join_group_chat_menuitem')
 			muc_icon = self.load_icon('muc_active')
 			if muc_icon:
@@ -2971,6 +3078,9 @@ class RosterWindow:
 			contact = gajim.contacts.create_contact(jid = hostname) # Fake contact
 			execute_command_menuitem.connect('activate',
 				self.on_execute_command, contact, account)
+			
+			start_chat_menuitem.connect('activate', 
+				self.on_new_chat_menuitem_activate, account)
 
 			gc_sub_menu = gtk.Menu() # gc is always a submenu
 			join_group_chat_menuitem.set_submenu(gc_sub_menu)
@@ -2979,8 +3089,8 @@ class RosterWindow:
 			# make some items insensitive if account is offline
 			if gajim.connections[account].connected < 2:
 				for widget in [add_contact_menuitem, service_discovery_menuitem,
-				join_group_chat_menuitem,
-				execute_command_menuitem, pep_menuitem]:
+				join_group_chat_menuitem, execute_command_menuitem, pep_menuitem,
+				start_chat_menuitem]:
 					widget.set_sensitive(False)
 		else:
 			xml = gtkgui_helpers.get_glade('zeroconf_context_menu.glade')
@@ -3170,7 +3280,7 @@ class RosterWindow:
 			self.make_transport_menu(event, iters[0])
 		elif type_ in ('contact', 'self_contact') and len(iters) == 1:
 			self.make_contact_menu(event, iters[0])
-		elif type_  == 'contact':
+		elif type_ == 'contact':
 			self.make_multiple_contact_menu(event, iters)
 		elif type_ == 'account' and len(iters) == 1:
 			self.make_account_menu(event, iters[0])
@@ -3195,6 +3305,21 @@ class RosterWindow:
 
 		return True
 
+	def on_roster_treeview_button_release_event(self, widget, event):
+		try:
+			path, column, x, y = self.tree.get_path_at_pos(int(event.x),
+				int(event.y))
+		except TypeError:
+			return False
+
+		if event.button == 1: # Left click
+			if gajim.single_click and not event.state & gtk.gdk.SHIFT_MASK and \
+			not event.state & gtk.gdk.CONTROL_MASK:
+				# Check if button has been pressed on the same row
+				if self.clicked_path == path:
+					self.on_row_activated(widget, path)
+				self.clicked_path = None
+
 	def on_roster_treeview_button_press_event(self, widget, event):
 		# hide tooltip, no matter the button is pressed
 		self.tooltip.hide_tooltip()
@@ -3255,6 +3380,24 @@ class RosterWindow:
 			type_ = model[path][C_TYPE]
 			if gajim.single_click and not event.state & gtk.gdk.SHIFT_MASK and \
 			not event.state & gtk.gdk.CONTROL_MASK:
+				# Don't handle dubble click if we press icon of a metacontact
+				iter = model.get_iter(path)
+				if x < 27 and type_ == 'contact' and model.iter_has_child(iter):
+					account = model[path][C_ACCOUNT].decode('utf-8')
+					jid = model[path][C_JID].decode('utf-8')
+					# first cell in 1st column (the arrow SINGLE clicked)
+					iters = self.get_contact_iter(jid, account)
+					for iter in iters:
+						path = model.get_path(iter)
+						if (self.tree.row_expanded(path)):
+							self.tree.collapse_row(path)
+						else:
+							self.tree.expand_row(path, False)
+					return
+				# We just save on which row we press button, and open chat window on
+				# button release to be able to do DND without opening chat window
+				self.clicked_path = path
+				return
 				self.on_row_activated(widget, path)
 			else:
 				if type_ == 'group' and x < 27:
@@ -3278,12 +3421,11 @@ class RosterWindow:
 
 	def on_req_usub(self, widget, list_):
 		'''Remove a contact. list_ is a list of (contact, account) tuples'''
-		def on_ok(widget, list_):
-			self.dialog.destroy()
+		def on_ok(is_checked, list_):
 			remove_auth = True
 			if len(list_) == 1:
 				contact = list_[0][0]
-				if contact.sub != 'to' and self.dialog.is_checked():
+				if contact.sub != 'to' and is_checked:
 					remove_auth = False
 			for (contact, account) in list_:
 				gajim.connections[account].unsubscribe(contact.jid, remove_auth)
@@ -3305,18 +3447,22 @@ class RosterWindow:
 					if _('Not in Roster') in contact.groups:
 						gajim.events.remove_events(account, contact.jid)
 					self.readd_if_needed(contact, account)
+
+		def on_ok2(list_):
+			on_ok(False, list_)
+
 		if len(list_) == 1:
 			contact = list_[0][0]
 			account = list_[0][1]
 			pritext = _('Contact "%s" will be removed from your roster') % \
 				contact.get_shown_name()
 			if contact.sub == 'to':
-				self.dialog = dialogs.ConfirmationDialog(pritext,
+				dialogs.ConfirmationDialog(pritext,
 					_('By removing this contact you also remove authorization '
 					'resulting in him or her always seeing you as offline.'),
-					on_response_ok = (on_ok, list_))
+					on_response_ok = (on_ok2, list_))
 			else:
-				self.dialog = dialogs.ConfirmationDialogCheck(pritext,
+				dialogs.ConfirmationDialogCheck(pritext,
 					_('By removing this contact you also by default remove '
 					'authorization resulting in him or her always seeing you as '
 					'offline.'),
@@ -3331,14 +3477,9 @@ class RosterWindow:
 			sectext = _('By removing these contacts:%s\nyou also remove '
 				'authorization resulting in them always seeing you as offline.') % \
 				jids
-			self.dialog = dialogs.ConfirmationDialog(pritext, sectext,
-				on_response_ok = (on_ok, list_))
-
+			dialogs.ConfirmationDialog(pritext, sectext,
+				on_response_ok = (on_ok2, list_))
 
-	def forget_gpg_passphrase(self, keyid):
-		if self.gpg_passphrase.has_key(keyid):
-			del self.gpg_passphrase[keyid]
-		return False
 
 	def set_connecting_state(self, account):
 		model = self.tree.get_model()
@@ -3377,61 +3518,10 @@ class RosterWindow:
 						gajim.config.set_per('accounts', account, 'savepass', True)
 						passwords.save_password(account, passphrase)
 
-			keyid = None
-			use_gpg_agent = gajim.config.get('use_gpg_agent')
-			# we don't need to bother with the passphrase if we use the agent
-			if use_gpg_agent:
-				save_gpg_pass = False
-			else:
-				save_gpg_pass = gajim.config.get_per('accounts', account,
-					'savegpgpass')
-			keyid = gajim.config.get_per('accounts', account, 'keyid')
-			if keyid and not gajim.config.get('usegpg'):
-				#TODO: make this string translatable
-				dialog = dialogs.WarningDialog('GPG is not usable', _('You will be connected to %s without OpenPGP.') % account)
-			if keyid and gajim.connections[account].connected < 2 and \
-				gajim.config.get('usegpg'):
-
-				if use_gpg_agent:
-					self.gpg_passphrase[keyid] = None
-				else:
-					if save_gpg_pass:
-						passphrase = gajim.config.get_per('accounts', account,
-							'gpgpassword')
-					else:
-						if self.gpg_passphrase.has_key(keyid):
-							passphrase = self.gpg_passphrase[keyid]
-							save = False
-						else:
-							password_ok = False
-							count = 0
-							title = _('Passphrase Required')
-							second = _('Enter GPG key passphrase for account %s.') % \
-								account
-							while not password_ok and count < 3:
-								count += 1
-								w = dialogs.PassphraseDialog(title, second,
-									_('Save passphrase'))
-								passphrase, save = w.run()
-								if passphrase == -1:
-									passphrase = None
-									password_ok = True
-								else:
-									password_ok = gajim.connections[account].\
-										test_gpg_passphrase(passphrase)
-									title = _('Wrong Passphrase')
-									second = _('Please retype your GPG passphrase or '
-										'press Cancel.')
-							if passphrase != None:
-								self.gpg_passphrase[keyid] = passphrase
-								gobject.timeout_add(30000, self.forget_gpg_passphrase,
-									keyid)
-						if save:
-							gajim.config.set_per('accounts', account, 'savegpgpass',
-								True)
-							gajim.config.set_per('accounts', account, 'gpgpassword',
-								passphrase)
-					gajim.connections[account].gpg_passphrase(passphrase)
+				keyid = gajim.config.get_per('accounts', account, 'keyid')
+				if keyid and not gajim.connections[account].gpg:
+					dialog = dialogs.WarningDialog(_('GPG is not usable'),
+						_('You will be connected to %s without OpenPGP.') % account)
 
 		if gajim.account_is_connected(account):
 			if status == 'online' and gajim.interface.sleeper.getState() != \
@@ -3465,6 +3555,8 @@ class RosterWindow:
 			if was_invisible and status != 'offline':
 				# We come back from invisible, join bookmarks
 				for bm in gajim.connections[account].bookmarks:
+					if bm['autojoin'] not in ('1', 'true'):
+						continue
 					room_jid = bm['jid']
 					if room_jid in gajim.gc_connected[account] and \
 					gajim.gc_connected[account][room_jid]:
@@ -3491,24 +3583,21 @@ class RosterWindow:
 		return False
 
 	def change_status(self, widget, account, status):
-		def change(widget, account, status):
-			if self.dialog:
-				self.dialog.destroy()
+		def change(account, status):
 			message = self.get_status_message(status)
 			if message is None:
 				# user pressed Cancel to change status message dialog
 				return
 			self.send_status(account, status, message)
 
-		self.dialog = None
 		if status == 'invisible' and self.connected_rooms(account):
-			self.dialog = dialogs.ConfirmationDialog(
+			dialogs.ConfirmationDialog(
 				_('You are participating in one or more group chats'),
 				_('Changing your status to invisible will result in disconnection '
 				'from those group chats. Are you sure you want to go invisible?'),
 				on_response_ok = (change, account, status))
 		else:
-			change(None, account, status)
+			change(account, status)
 
 	def on_send_custom_status(self, widget, contact_list, show, group=None):
 		'''send custom status'''
@@ -3543,8 +3632,9 @@ class RosterWindow:
 			self.update_status_combobox()
 			return
 		status = model[active][2].decode('utf-8')
-
-		if active == 7: # We choose change status message (7 is that)
+		statuses_unified = helpers.statuses_unified()
+		if (active == 7 and statuses_unified) or (active == 9 and not statuses_unified):
+			# We choose change status message (7 is that, or 9 if there is the "desync'ed" option)
 			# do not change show, just show change status dialog
 			status = model[self.previous_status_combobox_active][2].decode('utf-8')
 			dlg = dialogs.ChangeStatusMessageDialog(status)
@@ -3632,17 +3722,37 @@ class RosterWindow:
 				self._music_track_changed_signal = None
 			self._music_track_changed(None, None)
 
+	## enable setting status msg from a Last.fm account
+	def enable_syncing_status_msg_from_lastfm(self, enabled):
+		'''if enabled is True, we start polling the Last.fm server,
+		and we update our status message accordinly'''
+		if enabled:
+			if self._music_track_changed_signal is None:
+				listener = LastFMTrackListener.get(
+					gajim.config.get('lastfm_username'))
+				self._music_track_changed_signal = listener.connect(
+					'music-track-changed', self._music_track_changed)
+				track = listener.get_playing_track()
+				self._music_track_changed(listener, track)
+		else:
+			if self._music_track_changed_signal is not None:
+				listener = LastFMTrackListener.get(
+					gajim.config.get('lastfm_username'))
+				listener.disconnect(self._music_track_changed_signal)
+				self._music_track_changed_signal = None
+				self._music_track_changed(None, None)
+
 	def _change_awn_icon_status(self, status):
 		if not dbus_support.supported:
 			# do nothing if user doesn't have D-Bus bindings
 			return
-		bus = dbus.SessionBus()
 		try:
+			bus = dbus.SessionBus()
 			if not 'com.google.code.Awn' in bus.list_names():
 				# Awn is not installed
 				return
 		except:
-			pass
+			return
 		iconset = gajim.config.get('iconset')
 		prefix = os.path.join(helpers.get_iconset_path(iconset), '32x32')
 		if status in ('chat', 'away', 'xa', 'dnd', 'invisible', 'offline'):
@@ -3659,18 +3769,18 @@ class RosterWindow:
 			pass
 
 	def _music_track_changed(self, unused_listener, music_track_info,
-			account=''):
-		from common import pep
-		if account == '':
-			accounts = gajim.connections.keys()
-		if music_track_info is None:
-				artist = ''
-				title = ''
-				source = ''
-				track = ''
-				length = ''
-		else:
-			if hasattr(music_track_info, 'paused') and \
+	account=''):
+		if gajim.config.get('use_pep'):
+			from common import pep
+			if account == '':
+				accounts = gajim.connections.keys()
+			if music_track_info is None:
+					artist = ''
+					title = ''
+					source = ''
+					track = ''
+					length = ''
+			elif hasattr(music_track_info, 'paused') and \
 			music_track_info.paused == 0:
 				artist = ''
 				title = ''
@@ -3681,30 +3791,72 @@ class RosterWindow:
 				artist = music_track_info.artist
 				title = music_track_info.title
 				source = music_track_info.album
-		print "change (%s - %s - %s) for %s" % (artist, source, title, account)
-		if account == '':
-			print "Multi accounts"
-			for account in accounts:
-				if not gajim.config.get_per('accounts', account,
-				'sync_with_global_status'):
-					continue
-				if not gajim.connections[account].pep_supported:
-					continue
+			if account == '':
+				print "Multi accounts"
+				for account in accounts:
+					if not gajim.config.get_per('accounts', account,
+					'sync_with_global_status'):
+						continue
+					if not gajim.connections[account].pep_supported:
+						continue
+					pep.user_send_tune(account, artist, title, source)
+			else:
+				print "Single account"
 				pep.user_send_tune(account, artist, title, source)
+			return
+		# No PEP
+		accounts = gajim.connections.keys()
+		if music_track_info is None:
+			status_message = ''
 		else:
-			print "Single account"
-			pep.user_send_tune(account, artist, title, source)
-
+			if hasattr(music_track_info, 'paused') and \
+			music_track_info.paused == 0:
+				status_message = ''
+			else:
+				status_message = '♪ ' + _('"%(title)s" by %(artist)s') % \
+				{'title': music_track_info.title,
+					'artist': music_track_info.artist } + ' ♪'
+		for account in accounts:
+			if not gajim.config.get_per('accounts', account,
+			'sync_with_global_status'):
+				continue
+			if gajim.connections[account].connected < gajim.SHOW_LIST.index(
+			'online') or gajim.connections[account].connected > gajim.SHOW_LIST.\
+			index('invisible'):
+				continue
+			current_show = gajim.SHOW_LIST[gajim.connections[account].connected]
+			# Keep the last status message, replacing only the current song part
+			current_status_message = gajim.connections[account].status
+			song_offset = current_status_message.find('♪')
+			if song_offset >= 0:
+				current_status_message = current_status_message[0:song_offset]
+			current_status_message = current_status_message.strip() + '\n' + \
+				status_message
+			self.send_status(account, current_show, current_status_message.strip())
 
 	def update_status_combobox(self):
 		# table to change index in connection.connected to index in combobox
 		table = {'offline':9, 'connecting':9, 'online':0, 'chat':1, 'away':2,
 			'xa':3, 'dnd':4, 'invisible':5}
+
+		# we check if there are more options in the combobox that it should
+		# if yes, we remove the first ones
+		while len(self.status_combobox.get_model()) > len(table)+2:
+			self.status_combobox.remove_text(0)
+
 		show = helpers.get_global_show()
 		# temporarily block signal in order not to send status that we show
 		# in the combobox
 		self.combobox_callback_active = False
-		self.status_combobox.set_active(table[show])
+		if helpers.statuses_unified():
+			self.status_combobox.set_active(table[show])
+		else:
+			uf_show = helpers.get_uf_show(show)
+			liststore = self.status_combobox.get_model()
+			liststore.prepend(['SEPARATOR', None, '', True])
+			liststore.prepend([uf_show+" "+"(desync'ed)", self.jabber_state_images['16'][show],
+			show, False])
+			self.status_combobox.set_active(0)
 		self._change_awn_icon_status(show)
 		self.combobox_callback_active = True
 		if gajim.interface.systray_enabled:
@@ -3734,21 +3886,27 @@ class RosterWindow:
 				self.quit_on_next_offline -= 1
 				if self.quit_on_next_offline < 1:
 					self.quit_gtkgui_interface()
-			if accountIter:
-				model[accountIter][C_SECPIXBUF] = None
-			if gajim.con_types.has_key(account):
-				gajim.con_types[account] = None
-			for jid in gajim.contacts.get_jid_list(account):
-				lcontact = gajim.contacts.get_contacts(account, jid)
-				lcontact_copy = []
-				for contact in lcontact:
-					lcontact_copy.append(contact)
-				for contact in lcontact_copy:
-					self.chg_contact_status(contact, 'offline', '', account)
+			else:
+				# No need to redraw contacts if we're quitting
+				if accountIter:
+					model[accountIter][C_SECPIXBUF] = None
+				if gajim.con_types.has_key(account):
+					gajim.con_types[account] = None
+				for jid in gajim.contacts.get_jid_list(account):
+					lcontact = gajim.contacts.get_contacts(account, jid)
+					lcontact_copy = []
+					for contact in lcontact:
+						lcontact_copy.append(contact)
+					for contact in lcontact_copy:
+						self.chg_contact_status(contact, 'offline', '', account)
 			self.actions_menu_needs_rebuild = True
 		self.update_status_combobox()
+		# Force the rebuild now since the on_activates on the menu itself does
+		# not work with the os/x top level menubar
+		if sys.platform == 'darwin':
+			self.make_menu(force = True)
 
-	def new_private_chat(self, gc_contact, account):
+	def new_private_chat(self, gc_contact, account, session = None):
 		contact = gajim.contacts.contact_from_gc_contact(gc_contact)
 		type_ = message_control.TYPE_PM
 		fjid = gc_contact.room_jid + '/' + gc_contact.name
@@ -3756,24 +3914,25 @@ class RosterWindow:
 		if not mw:
 			mw = gajim.interface.msg_win_mgr.create_window(contact, account, type_)
 
-		chat_control = PrivateChatControl(mw, gc_contact, contact, account)
+		chat_control = PrivateChatControl(mw, gc_contact, contact, account, session)
 		mw.new_tab(chat_control)
 		if len(gajim.events.get_events(account, fjid)):
 			# We call this here to avoid race conditions with widget validation
 			chat_control.read_queue()
 
-	def new_chat(self, contact, account, resource = None):
+	def new_chat(self, contact, account, resource = None, session = None):
 		# Get target window, create a control, and associate it with the window
 		type_ = message_control.TYPE_CHAT
 
 		fjid = contact.jid
 		if resource:
 			fjid += '/' + resource
+
 		mw = gajim.interface.msg_win_mgr.get_window(fjid, account)
 		if not mw:
 			mw = gajim.interface.msg_win_mgr.create_window(contact, account, type_)
 
-		chat_control = ChatControl(mw, contact, account, resource)
+		chat_control = ChatControl(mw, contact, account, session, resource)
 
 		mw.new_tab(chat_control)
 
@@ -3804,19 +3963,20 @@ class RosterWindow:
 			mc = mw.get_control(fjid, account)
 			mc.user_nick = gajim.nicks[account]
 
-	def new_room(self, room_jid, nick, account):
+	def new_room(self, room_jid, nick, account, is_continued=False):
 		# Get target window, create a control, and associate it with the window
 		contact = gajim.contacts.create_contact(jid = room_jid, name = nick)
 		mw = gajim.interface.msg_win_mgr.get_window(contact.jid, account)
 		if not mw:
 			mw = gajim.interface.msg_win_mgr.create_window(contact, account,
-								GroupchatControl.TYPE_ID)
-		gc_control = GroupchatControl(mw, contact, account)
+				GroupchatControl.TYPE_ID)
+		gc_control = GroupchatControl(mw, contact, account,
+			is_continued=is_continued)
 		mw.new_tab(gc_control)
 
-	def on_message(self, jid, msg, tim, account, encrypted = False,
-			msg_type = '', subject = None, resource = '', msg_id = None,
-			user_nick = '', advanced_notif_num = None, xhtml = None):
+	def on_message(self, jid, msg, tim, account, encrypted=False, msg_type='',
+	subject=None, resource='', msg_id=None, user_nick='',
+	advanced_notif_num=None, xhtml=None, session=None, form_node=None):
 		'''when we receive a message'''
 		contact = None
 		# if chat window will be for specific resource
@@ -3871,9 +4031,9 @@ class RosterWindow:
 		popup = helpers.allow_popup_window(account, advanced_notif_num)
 
 		if msg_type == 'normal' and popup: # it's single message to be autopopuped
-			dialogs.SingleMessageWindow(account, contact.jid,
-				action = 'receive', from_whom = jid, subject = subject,
-				message = msg, resource = resource)
+			dialogs.SingleMessageWindow(account, contact.jid, action='receive',
+				from_whom=jid, subject=subject, message=msg, resource=resource,
+				session=session, form_node=form_node)
 			return
 
 		# We print if window is opened and it's not a single message
@@ -3881,6 +4041,8 @@ class RosterWindow:
 			typ = ''
 			if msg_type == 'error':
 				typ = 'status'
+			if session:
+				ctrl.set_session(session)
 			ctrl.print_conversation(msg, typ, tim = tim, encrypted = encrypted,
 						subject = subject, xhtml = xhtml)
 			if msg_id:
@@ -3896,12 +4058,12 @@ class RosterWindow:
 		show_in_roster = notify.get_show_in_roster(event_type, account, contact)
 		show_in_systray = notify.get_show_in_systray(event_type, account, contact)
 		event = gajim.events.create_event(type_, (msg, subject, msg_type, tim,
-			encrypted, resource, msg_id, xhtml), show_in_roster = show_in_roster,
-			show_in_systray = show_in_systray)
+			encrypted, resource, msg_id, xhtml, session, form_node),
+			show_in_roster=show_in_roster, show_in_systray=show_in_systray)
 		gajim.events.add_event(account, fjid, event)
 		if popup:
 			if not ctrl:
-				self.new_chat(contact, account, resource = resource_for_chat)
+				self.new_chat(contact, account, resource=resource_for_chat)
 				if path and not self.dragging and gajim.config.get(
 				'scroll_roster_to_last_message'):
 					# we curently see contact in our roster OR he
@@ -3981,6 +4143,13 @@ class RosterWindow:
 			gajim.interface.instances['file_transfers'].window.present()
 		else:
 			gajim.interface.instances['file_transfers'].window.show_all()
+	
+	def on_history_menuitem_activate(self, widget):
+		if gajim.interface.instances.has_key('logs'):
+			gajim.interface.instances['logs'].window.present()
+		else:
+			gajim.interface.instances['logs'] = history_window.\
+				HistoryWindow()
 
 	def on_show_transports_menuitem_activate(self, widget):
 		gajim.config.set('show_transports_group', widget.get_active())
@@ -4132,8 +4301,9 @@ class RosterWindow:
 
 				for ctrl in win.controls():
 					fjid = ctrl.get_full_jid()
-					if gajim.last_message_time[acct].has_key(fjid):
-						if time.time() - gajim.last_message_time[acct][fjid] < 2:
+					if gajim.last_message_time[ctrl.account].has_key(fjid):
+						if time.time() - gajim.last_message_time[ctrl.account][fjid]\
+						< 2:
 							recent = True
 							break
 			if unread:
@@ -4165,8 +4335,8 @@ class RosterWindow:
 		ft = gajim.interface.instances['file_transfers']
 		if event.type_ == 'normal':
 			dialogs.SingleMessageWindow(account, jid,
-				action = 'receive', from_whom = jid, subject = data[1],
-				message = data[0], resource = data[5])
+				action='receive', from_whom=jid, subject=data[1], message=data[0],
+				resource=data[5], session=data[8], form_node=data[9])
 			gajim.interface.remove_first_event(account, jid, event.type_)
 			return True
 		elif event.type_ == 'file-request':
@@ -4203,14 +4373,14 @@ class RosterWindow:
 			jid = jid + u'/' + resource
 		adhoc_commands.CommandWindow(account, jid)
 
-	def on_open_chat_window(self, widget, contact, account, resource = None):
+	def on_open_chat_window(self, widget, contact, account, resource = None, session = None):
 		# Get the window containing the chat
 		fjid = contact.jid
 		if resource:
 			fjid += '/' + resource
 		win = gajim.interface.msg_win_mgr.get_window(fjid, account)
 		if not win:
-			self.new_chat(contact, account, resource = resource)
+			self.new_chat(contact, account, resource = resource, session = session)
 			win = gajim.interface.msg_win_mgr.get_window(fjid, account)
 			ctrl = win.get_control(fjid, account)
 			# last message is long time ago
@@ -4257,7 +4427,10 @@ class RosterWindow:
 						jid = child_jid
 					else:
 						child_iter = model.iter_next(child_iter)
+			session = None
 			if first_ev:
+				if first_ev.type_ in ('chat', 'normal'):
+					session = first_ev.parameters[8]
 				fjid = jid
 				if resource:
 					fjid += '/' + resource
@@ -4268,7 +4441,7 @@ class RosterWindow:
 				c = gajim.contacts.get_contact_with_highest_priority(account, jid)
 			if jid == gajim.get_jid_from_account(account):
 				resource = c.resource
-			self.on_open_chat_window(widget, c, account, resource = resource)
+			self.on_open_chat_window(widget, c, account, resource = resource, session = session)
 
 	def on_roster_treeview_row_activated(self, widget, path, col = 0):
 		'''When an iter is double clicked: open the first event window'''
@@ -4302,7 +4475,7 @@ class RosterWindow:
 					self.tree.expand_row(pathG, False)
 			self.draw_account(account)
 		elif type_ == 'contact':
-			jid =  model[iter][C_JID].decode('utf-8')
+			jid = model[iter][C_JID].decode('utf-8')
 			account = model[iter][C_ACCOUNT].decode('utf-8')
 			self.draw_contact(jid, account)
 
@@ -4329,7 +4502,7 @@ class RosterWindow:
 				self.collapsed_rows.append(account)
 			self.draw_account(account)
 		elif type_ == 'contact':
-			jid =  model[iter][C_JID].decode('utf-8')
+			jid = model[iter][C_JID].decode('utf-8')
 			account = model[iter][C_ACCOUNT].decode('utf-8')
 			self.draw_contact(jid, account)
 
@@ -4434,10 +4607,14 @@ class RosterWindow:
 			# standard transport iconsets are loaded one time in init()
 			t_path = os.path.join(gajim.DATA_DIR, 'iconsets', 'transports')
 			folders = os.listdir(t_path)
+			if os.path.isdir(os.path.join(gajim.MY_ICONSETS_PATH, 'transports')):
+				t_path = os.path.join(gajim.MY_ICONSETS_PATH, 'transports')
+				folders += os.listdir(t_path)
 			for transport in folders:
 				if transport == '.svn':
 					continue
-				folder = os.path.join(t_path, transport, '16x16')
+				folder = os.path.join(helpers.get_transport_path(transport),
+					'16x16')
 				self.transports_state_images['opened'][transport] = \
 					self.load_iconset(folder, pixo, transport = True)
 				self.transports_state_images['closed'][transport] = \
@@ -4474,6 +4651,8 @@ class RosterWindow:
 		for account in gajim.connections:
 			for addr in gajim.interface.instances[account]['disco']:
 				gajim.interface.instances[account]['disco'][addr].paint_banner()
+			for ctrl in gajim.interface.minimized_controls[account].values():
+				ctrl.repaint_themed_widgets()
 
 	def on_show_offline_contacts_menuitem_activate(self, widget):
 		'''when show offline option is changed:
@@ -4758,16 +4937,15 @@ class RosterWindow:
 
 	def on_drop_in_contact(self, widget, account_source, c_source, account_dest,
 		c_dest, was_big_brother, context, etime):
-		if not gajim.connections[account_source].metacontacts_supported or not \
-		gajim.connections[account_dest].metacontacts_supported:
+		if not gajim.connections[account_source].private_storage_supported or not\
+		gajim.connections[account_dest].private_storage_supported:
 			dialogs.WarningDialog(_('Metacontacts storage not supported by your '
 				'server'),
 				_('Your server does not support storing metacontacts information. '
-				'So those information will not be save on next reconnection.'))
-		def merge_contacts(widget = None):
-			if widget: # dialog has been shown
-				dlg.destroy()
-				if dlg.is_checked(): # user does not want to be asked again
+				'So those information will not be saved on next reconnection.'))
+		def merge_contacts(is_checked=None):
+			if is_checked != None: # dialog has been shown
+				if is_checked: # user does not want to be asked again
 					gajim.config.set('confirm_metacontacts', 'no')
 				else:
 					gajim.config.set('confirm_metacontacts', 'yes')
@@ -4777,6 +4955,7 @@ class RosterWindow:
 			# remove the source row
 			self.remove_contact(c_source, account_source)
 			# brother inherite big brother groups
+			old_groups = c_source.groups
 			c_source.groups = []
 			for g in c_dest.groups:
 				c_source.groups.append(g)
@@ -4797,7 +4976,10 @@ class RosterWindow:
 						self.draw_contact(_jid, _account)
 			self.add_contact_to_roster(c_source.jid, account_source)
 			self.draw_contact(c_dest.jid, account_dest)
-
+			# FIXME: Why do groups have to be redrawn by hand?
+			for g in old_groups:
+				self.draw_group(g, account_source)
+			self.draw_account(account_source)	
 			context.finish(True, True, etime)
 
 		confirm_metacontacts = gajim.config.get('confirm_metacontacts')
@@ -4894,8 +5076,16 @@ class RosterWindow:
 			uri = data.strip()
 			uri_splitted = uri.split() # we may have more than one file dropped
 			nb_uri = len(uri_splitted)
-			def _on_send_files(widget, account, jid, uris):
-				dialog.destroy()
+			# Check the URIs
+			bad_uris = []
+			for a_uri in uri_splitted:
+				path = helpers.get_file_path_from_dnd_dropped_uri(a_uri)
+				if not os.path.isfile(path):
+					bad_uris.append(a_uri)
+			if len(bad_uris):
+				dialogs.ErrorDialog(_('Invalid file URI:'), '\n'.join(bad_uris))
+				return
+			def _on_send_files(account, jid, uris):
 				c = gajim.contacts.get_contact_with_highest_priority(account, jid)
 				for uri in uris:
 					path = helpers.get_file_path_from_dnd_dropped_uri(uri)
@@ -4904,7 +5094,7 @@ class RosterWindow:
 							account, c, path)
 			# Popup dialog to confirm sending
 			prim_text = 'Send file?'
-			sec_text =  i18n.ngettext('Do you want to send that file to %s:',
+			sec_text = i18n.ngettext('Do you want to send this file to %s:',
 				'Do you want to send those files to %s:', nb_uri) %\
 				c_dest.get_shown_name()
 			for uri in uri_splitted:
@@ -4989,13 +5179,7 @@ class RosterWindow:
 			return
 
 		# Is the contact we drag a meta contact?
-		is_meta_contact = False
-		is_big_brother = False
-		tag = gajim.contacts.get_metacontacts_tag(account_source, jid_source)
-		if tag:
-			is_meta_contact = True
-			if model.iter_has_child(iter_source):
-				is_big_brother = True
+		is_big_brother = gajim.contacts.is_big_brother(account_source, jid_source)
 
 		# Contact drop on group row or between two contacts
 		if type_dest == 'group' or position == gtk.TREE_VIEW_DROP_BEFORE or \
@@ -5085,6 +5269,52 @@ class RosterWindow:
 			self._last_selected_contact.append((jid, account))
 			self.draw_contact(jid, account, selected = True)
 
+	def setup_for_osx(self):
+		# Massage the GTK menu so it will match up to the OS/X nib style menu
+		# when passed to sync-menu and merged
+		main_menu = self.xml.get_widget('menubar')
+		app_item = gtk.MenuItem('Gajim')
+		main_menu.insert(app_item, 0)
+		win_item = gtk.MenuItem('Window')
+		main_menu.insert(win_item, 4)
+		actions_menu = self.xml.get_widget('actions_menu_menu')
+		quit_item = self.xml.get_widget('quit_menuitem')
+		actions_menu.remove(quit_item)
+		actions_menu.remove(self.xml.get_widget('separator1'))
+		edit_menu = self.xml.get_widget('edit_menu_menu')
+		#edit_menu.remove(self.xml.get_widget('preferences_menuitem'))
+		edit_menu.remove(self.xml.get_widget('separator2'))
+		help_menu = self.xml.get_widget('help_menu_menu')
+		about_item = self.xml.get_widget('about_menuitem')
+		help_menu.remove(about_item)
+		# Build up App menu
+		app_menu = gtk.Menu()
+		app_item.set_submenu(app_menu)
+		app_menu.append(about_item)
+		app_menu.append(gtk.MenuItem('__SKIP__'))
+		prefs_item = gtk.MenuItem('Preferences...')
+		prefs_item.connect('activate', self.on_preferences_menuitem_activate)
+		accels = gtk.AccelGroup()
+		self.xml.get_widget('roster_window').add_accel_group(accels)
+		prefs_item.add_accelerator('activate', accels, ord(','),
+								   gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
+		app_menu.append(prefs_item)
+		app_menu.append(gtk.MenuItem('__SKIP__'))
+		app_menu.append(gtk.MenuItem('__SKIP__'))
+		app_menu.append(gtk.MenuItem('__SKIP__'))
+		app_menu.append(gtk.MenuItem('__SKIP__'))
+		app_menu.append(gtk.MenuItem('__SKIP__'))
+		app_menu.append(gtk.MenuItem('__SKIP__'))
+		app_menu.append(gtk.MenuItem('__SKIP__'))
+		app_menu.append(quit_item)
+		app_menu.show_all()
+		# Do the merge baby!
+		syncmenu.takeover_menu(main_menu)
+		self.make_menu(force = True)
+		# Hide the GTK menubar itself and let the OS/X menubar do its thing
+		#self.xml.get_widget('menubar').hide()
+		return
+
 	def __init__(self):
 		self.xml = gtkgui_helpers.get_glade('roster_window.glade')
 		self.window = self.xml.get_widget('roster_window')
@@ -5106,14 +5336,16 @@ class RosterWindow:
 			'closed': {}}
 
 		self.last_save_dir = None
-		self.editing_path = None  # path of row with cell in edit mode
+		self.editing_path = None # path of row with cell in edit mode
 		self.add_new_contact_handler_id = False
 		self.service_disco_handler_id = False
 		self.new_chat_menuitem_handler_id = False
+		self.single_message_menuitem_handler_id = False
 		self.profile_avatar_menuitem_handler_id = False
 		self.pep_services_menuitem_handler_id = False
 		self.actions_menu_needs_rebuild = True
 		self.regroup = gajim.config.get('mergeaccounts')
+		self.clicked_path = None # Used remember on wich row we clicked
 		if len(gajim.connections) < 2: # Do not merge accounts if only one exists
 			self.regroup = False
 		#FIXME: When list_accel_closures will be wrapped in pygtk
@@ -5129,7 +5361,6 @@ class RosterWindow:
 
 		self.popups_notification_height = 0
 		self.popup_notification_windows = []
-		self.gpg_passphrase = {}
 
 		#(icon, name, type, jid, account, editable, secondary_pixbuf)
 		model = gtk.TreeStore(gtk.Image, str, str, str, str, gtk.gdk.Pixbuf)
@@ -5143,13 +5374,16 @@ class RosterWindow:
 
 		path = os.path.join(gajim.DATA_DIR, 'iconsets', 'transports')
 		folders = os.listdir(path)
+		if os.path.isdir(os.path.join(gajim.MY_ICONSETS_PATH, 'transports')):
+			path = os.path.join(gajim.MY_ICONSETS_PATH, 'transports')
+			folders += os.listdir(path)
 		for transport in folders:
 			if transport == '.svn':
 				continue
-			folder = os.path.join(path, transport, '32x32')
+			folder = os.path.join(helpers.get_transport_path(transport), '32x32')
 			self.transports_state_images['32'][transport] = self.load_iconset(
 				folder, transport = True)
-			folder = os.path.join(path, transport, '16x16')
+			folder = os.path.join(helpers.get_transport_path(transport), '16x16')
 			self.transports_state_images['16'][transport] = self.load_iconset(
 				folder, transport = True)
 
@@ -5274,7 +5508,20 @@ class RosterWindow:
 		self.tooltip = tooltips.RosterTooltip()
 		self.draw_roster()
 
-		self.enable_syncing_status_msg_from_current_music_track(gajim.config.get('publish_tune'))
+		if gajim.config.get('use_pep'):
+			self.enable_syncing_status_msg_from_current_music_track(gajim.config.get('publish_tune'))
+		else:
+			## Music Track notifications
+			## FIXME: we use a timeout because changing status of
+			## accounts has no effect until they are connected.
+			st = gajim.config.get('set_status_msg_from_current_music_track')
+			if st:
+				gobject.timeout_add(1000,
+					self.enable_syncing_status_msg_from_current_music_track, st)
+			else:
+				gobject.timeout_add(1000,
+					self.enable_syncing_status_msg_from_lastfm,
+					gajim.config.get('set_status_msg_from_lastfm'))
 
 		if gajim.config.get('show_roster_on_startup'):
 			self.window.show_all()
@@ -5292,3 +5539,6 @@ class RosterWindow:
 			# Create zeroconf in config file
 			zeroconf = common.zeroconf.connection_zeroconf.ConnectionZeroconf(
 				gajim.ZEROCONF_ACC_NAME)
+
+		if sys.platform == 'darwin':
+			self.setup_for_osx()
diff --git a/src/search_window.py b/src/search_window.py
index ce40eb282926c19c66643d781041f15a39d3fda2..df7af6ce775619ab65ab02ada623cfd58a7ff66a 100644
--- a/src/search_window.py
+++ b/src/search_window.py
@@ -1,21 +1,26 @@
 # -*- coding: utf-8 -*-
 ##	search_window.py
 ##
-## Copyright (C) 2007 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2007 Yann Leboulanger <asterix@lagaule.org>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
 
 import gobject
 import gtk
 
-from common import xmpp, gajim, dataforms
+from common import gajim, dataforms
 
 import gtkgui_helpers
 import dialogs
@@ -191,6 +196,11 @@ class SearchWindow:
 			return
 
 		self.dataform = dataforms.ExtendForm(node = form)
+		if len(self.dataform.items) == 0:
+			# No result
+			self.label.set_text(_('No result'))
+			self.label.show()
+			return
 
 		self.data_form_widget.set_sensitive(True)
 		try:
diff --git a/src/secrets.py b/src/secrets.py
new file mode 100644
index 0000000000000000000000000000000000000000..a95f4cd0d609f82c54ca7e2446b39380fa81b508
--- /dev/null
+++ b/src/secrets.py
@@ -0,0 +1,194 @@
+from common.configpaths import gajimpaths
+
+from common import crypto
+from common import exceptions
+
+import dialogs
+
+import os
+import pickle
+
+import gtk
+
+import Crypto.Cipher.AES
+import Crypto.Hash.SHA256
+import Crypto.PublicKey.RSA
+
+secrets_filename = gajimpaths['SECRETS_FILE']
+secrets_cache = None
+
+secrets_cipher = None
+secrets_counter = None
+
+# strength of the encryption used on SECRETS_FILE
+n = 256
+
+class Counter:
+	def __init__(self, n, iv):
+		self.n = n
+		self.c = crypto.decode_mpi(iv)
+
+	def __call__(self):
+		self.c = (self.c + 1) % (2 ** self.n)
+		return crypto.encode_mpi_with_padding(self.c)
+
+# return en/decrypter if it's cached, otherwise create it from the user's 
+# passphrase
+def get_key(counter, passph=None):
+	global secrets_cipher, secrets_counter
+
+	if secrets_cipher:
+		return secrets_cipher
+
+	if not passph:
+		passph, checked = dialogs.PassphraseDialog(_('Passphrase Required'),
+			_('To continue, Gajim needs to access your stored secrets. Enter your passphrase')
+			).run()
+
+		if passph == -1:
+			raise exceptions.Cancelled
+
+	sh = Crypto.Hash.SHA256.new()
+	sh.update(passph)
+	key = sh.digest()
+
+	secrets_counter = counter
+
+	secrets_cipher = Crypto.Cipher.AES.new(key, Crypto.Cipher.AES.MODE_CTR,
+		counter=secrets_counter)
+
+	return secrets_cipher
+
+class Secrets:
+	def __init__(self, filename):
+		self.filename = filename
+		self.srs = {}
+		self.pubkeys = {}
+		self.privkeys = {}
+
+	def _save(self):
+		global secrets_cipher, secrets_counter
+
+		old_counter = secrets_counter.c
+
+		# pickle doesn't appear to have problems with trailing whitespace
+		padded = crypto.pad_to_multiple(pickle.dumps(self), n / 8, ' ', False)
+		encrypted = secrets_cipher.encrypt(padded)
+
+		f = open(secrets_filename, 'w')
+		f.write(crypto.encode_mpi_with_padding(old_counter) + encrypted)
+		f.close()
+
+	def cancel(self):
+		raise exceptions.Cancelled
+
+	def save(self):
+		passph1 = None
+
+		def _cont1(passph, checked):
+			dialogs.PassphraseDialog(_('Confirm Passphrase'),
+				_('Enter your new passphrase again for confirmation'),
+				is_modal=False, ok_handler=(_cont2, passph), cancel_handler=self.cancel)
+
+		def _cont2(passph, checked, passph1):
+			if passph != passph1:
+				dialogs.PassphraseDialog(_('Create Passphrase'),
+					_('Passphrases did not match.\n') + 
+					_('Gajim needs you to create a passphrase to encrypt stored secrets'),
+					is_modal=False, ok_handler=_cont1, cancel_handler=self.cancel)
+				return
+
+			counter = Counter(16, crypto.random_bytes(16))
+			get_key(counter, passph1)
+
+			self._save()
+
+		if not os.path.exists(self.filename):
+			dialogs.PassphraseDialog(_('Create Passphrase'),
+				_('Gajim needs you to create a passphrase to encrypt stored secrets'),
+				is_modal=False, ok_handler=_cont1, cancel_handler=self.cancel)
+		else:
+			self._save()
+
+	def retained_secrets(self, account, bare_jid):
+		try:
+			return self.srs[account][bare_jid]
+		except KeyError:
+			return []
+
+	# retained secrets are stored as a tuple of the secret and whether the user 
+	# has verified it
+	def save_new_srs(self, account, jid, secret, verified):
+		if not account in self.srs:
+			self.srs[account] = {}
+
+		if not jid in self.srs[account]:
+			self.srs[account][jid] = []
+
+		self.srs[account][jid].append((secret, verified))
+
+		self.save()
+
+	def find_srs(self, account, jid, srs):
+		our_secrets = self.srs[account][jid]
+		return filter(lambda (x,y): x == srs, our_secrets)[0]
+
+	# has the user verified this retained secret?
+	def srs_verified(self, account, jid, srs):
+		return self.find_srs(account, jid, srs)[1]
+		
+	def replace_srs(self, account, jid, old_secret, new_secret, verified):
+		our_secrets = self.srs[account][jid]
+
+		idx = our_secrets.index(self.find_srs(account, jid, old_secret))
+
+		our_secrets[idx] = (new_secret, verified)
+
+		self.save()
+
+	# the public key associated with 'account'
+	def my_pubkey(self, account):
+		try:
+			pk = self.privkeys[account]
+		except KeyError:
+			pk = Crypto.PublicKey.RSA.generate(384, crypto.random_bytes)
+
+			self.privkeys[account] = pk
+			self.save()
+
+		return pk
+
+def load_secrets(filename):
+	f = open(filename, 'r')
+
+	counter = Counter(16, f.read(16))
+
+	decrypted = get_key(counter).decrypt(f.read())
+
+	try:
+		secrets = pickle.loads(decrypted)
+	except:
+		f.close()
+
+		global secrets_cipher
+
+		secrets_cipher = None
+
+		return load_secrets(filename)
+	else:
+		f.close()
+
+		return secrets
+
+def secrets():
+	global secrets_cache
+
+	if secrets_cache:
+		return secrets_cache
+
+	if os.path.exists(secrets_filename):
+		secrets_cache = load_secrets(secrets_filename)
+	else:
+		secrets_cache = Secrets(secrets_filename)
+
+	return secrets_cache
diff --git a/src/statusicon.py b/src/statusicon.py
index 6610e0087e8423412d5370af4c19b73332e016f0..2b26fd9990ac093e8fa47ade180b92b60079a45d 100644
--- a/src/statusicon.py
+++ b/src/statusicon.py
@@ -3,23 +3,33 @@
 ## Copyright (C) 2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
 ##
-## This program is free software; you can redistribute it and/or
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or
 ## modify it under the terms of the GNU General Public License
 ## as published by the Free Software Foundation; either version 2
 ## of the License, or (at your option) any later version.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
+import sys
 import gtk
 import systray
+import gobject
 
 from common import gajim
 from common import helpers
 
+if sys.platform == 'darwin':
+	import osx
+
 class StatusIcon(systray.Systray):
 	'''Class for the notification area icon'''
 	#FIXME: when we migrate to GTK 2.10 stick only to this class
@@ -39,16 +49,18 @@ class StatusIcon(systray.Systray):
 				self.on_status_icon_right_clicked)
 
 		self.set_img()
-		self.status_icon.props.visible = True	
+		self.status_icon.set_visible(True)
+		self.subscribe_events()
 
 	def on_status_icon_right_clicked(self, widget, event_button, event_time):
 		self.make_menu(event_button, event_time)
 
 	def hide_icon(self):
-		self.status_icon.props.visible = False
+		self.status_icon.set_visible(False)
+		self.unsubscribe_events()
 
 	def on_status_icon_left_clicked(self, widget):
-		self.on_left_click()
+		gobject.idle_add(self.on_left_click)
 
 	def set_img(self):
 		'''apart from image, we also update tooltip text here'''
@@ -57,16 +69,18 @@ class StatusIcon(systray.Systray):
 		text = helpers.get_notification_icon_tooltip_text()
 		self.status_icon.set_tooltip(text)
 		if gajim.events.get_nb_systray_events():
+			if sys.platform == 'darwin':
+				osx.nsapp.requestUserAttention()
 			state = 'event'
-			self.status_icon.props.blinking = True
+			self.status_icon.set_blinking(True)
 		else:
 			state = self.status
-			self.status_icon.props.blinking = False
+			self.status_icon.set_blinking(False)
 		
 		#FIXME: do not always use 16x16 (ask actually used size and use that)
 		image = gajim.interface.roster.jabber_state_images['16'][state]
 		if image.get_storage_type() == gtk.IMAGE_PIXBUF:
-			self.status_icon.props.pixbuf = image.get_pixbuf()
+			self.status_icon.set_from_pixbuf(image.get_pixbuf())
 		#FIXME: oops they forgot to support GIF animation?
 		#or they were lazy to get it to work under Windows! WTF!
 		#elif image.get_storage_type() == gtk.IMAGE_ANIMATION:
diff --git a/src/systray.py b/src/systray.py
index 84ae498772e8510464a9b5d9b9d5cad9a3c8fe00..2d6df9fd493e6724b88585e0074478346267e9ca 100644
--- a/src/systray.py
+++ b/src/systray.py
@@ -1,6 +1,6 @@
 ##	systray.py
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2003-2004 Vincent Hanquez <tab@snarc.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2005 Dimitur Kirov <dkirov@gmail.com>
@@ -8,15 +8,20 @@
 ## Copyright (C) 2005 Norman Rasmussen <norman@rasmussen.co.za>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gobject
@@ -285,7 +290,8 @@ class Systray:
 	def on_left_click(self):
 		win = gajim.interface.roster.window
 		# toggle visible/hidden for roster window
-		if win.get_property('visible'): # visible in ANY virtual desktop?
+		if win.get_property('visible') and win.get_property('has-toplevel-focus'):
+			# visible in ANY virtual desktop?
 
 			# we could be in another VD right now. eg vd2
 			# and we want to show it in vd2
@@ -326,7 +332,12 @@ class Systray:
 		l = ['online', 'chat', 'away', 'xa', 'dnd', 'invisible', 'SEPARATOR',
 			'CHANGE_STATUS_MSG_MENUITEM', 'SEPARATOR', 'offline']
 		index = l.index(show)
-		gajim.interface.roster.status_combobox.set_active(index)
+		if not helpers.statuses_unified():
+			gajim.interface.roster.status_combobox.set_active(index + 2)
+			return
+		current = gajim.interface.roster.status_combobox.get_active()
+		if index != current:
+			gajim.interface.roster.status_combobox.set_active(index)
 
 	def on_change_status_message_activate(self, widget):
 		model = gajim.interface.roster.status_combobox.get_model()
diff --git a/src/tooltips.py b/src/tooltips.py
index d1394357d18e587b4d80bb4a471411a7c177a526..ecc8741b8a7391b7a8b72c3400d16aa0a317a72b 100644
--- a/src/tooltips.py
+++ b/src/tooltips.py
@@ -3,18 +3,23 @@
 ##
 ## Copyright (C) 2005-2006 Dimitur Kirov <dkirov@gmail.com>
 ## Copyright (C) 2005-2007 Nikos Kouremenos <kourem@gmail.com>
-## Copyright (C) 2005-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2005-2006 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2007 Julien Pivotto <roidelapluie@gmail.com>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 import gtk
 import gobject
@@ -26,7 +31,6 @@ import gtkgui_helpers
 
 from common import gajim
 from common import helpers
-from common import i18n
 
 class BaseTooltip:
 	''' Base Tooltip class;
@@ -65,6 +69,8 @@ class BaseTooltip:
 		self.win.set_border_width(3)
 		self.win.set_resizable(False)
 		self.win.set_name('gtk-tooltips')
+		if gtk.gtk_version >= (2, 10, 0) and gtk.pygtk_version >= (2, 10, 0):
+			self.win.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_TOOLTIP)
 		
 		self.win.set_events(gtk.gdk.POINTER_MOTION_MASK)
 		self.win.connect_after('expose_event', self.expose)
@@ -90,7 +96,7 @@ class BaseTooltip:
 		half_width = requisition.width / 2 + 1
 		if self.preferred_position[0] < half_width: 
 			self.preferred_position[0] = 0
-		elif self.preferred_position[0]  + requisition.width > \
+		elif self.preferred_position[0] + requisition.width > \
 			self.screen.get_width() + half_width:
 			self.preferred_position[0] = self.screen.get_width() - \
 				requisition.width
@@ -100,7 +106,7 @@ class BaseTooltip:
 		if self.preferred_position[1] + requisition.height > \
 			self.screen.get_height():
 			# flip tooltip up
-			self.preferred_position[1] -= requisition.height  + \
+			self.preferred_position[1] -= requisition.height + \
 				self.widget_height + 8
 		if self.preferred_position[1] < 0:
 			self.preferred_position[1] = 0
@@ -437,8 +443,8 @@ class RosterTooltip(NotificationAreaTooltip):
 			transport = gajim.get_transport_name_from_jid(
 				prim_contact.jid)
 			if transport:
-				file_path = os.path.join(gajim.DATA_DIR, 'iconsets', 
-					'transports', transport , '16x16')
+				file_path = os.path.join(helpers.get_transport_path(transport),
+					'16x16')
 			else:
 				iconset = gajim.config.get('iconset')
 				if not iconset:
@@ -576,7 +582,7 @@ class RosterTooltip(NotificationAreaTooltip):
 			if property[1]:
 				label.set_markup(property[0])
 				vcard_table.attach(label, 1, 2, vcard_current_row,
-					vcard_current_row + 1, gtk.FILL,  vertical_fill, 0, 0)
+					vcard_current_row + 1, gtk.FILL, vertical_fill, 0, 0)
 				label = gtk.Label()
 				label.set_alignment(0, 0)
 				label.set_markup(property[1])
@@ -617,7 +623,7 @@ class FileTransfersTooltip(BaseTooltip):
 		properties.append((_('Name: '), 
 			gobject.markup_escape_text(file_name)))
 		if file_props['type'] == 'r':
-			type =  _('Download')
+			type = _('Download')
 			actor = _('Sender: ') 
 			sender = unicode(file_props['sender']).split('/')[0]
 			name = gajim.contacts.get_first_contact_from_jid( 
@@ -639,18 +645,18 @@ class FileTransfersTooltip(BaseTooltip):
 		properties.append((_('Transferred: '), helpers.convert_bytes(transfered_len)))
 		status = '' 
 		if not file_props.has_key('started') or not file_props['started']:
-			status =  _('Not started')
+			status = _('Not started')
 		elif file_props.has_key('connected'):
 			if file_props.has_key('stopped') and \
 			file_props['stopped'] == True:
 				status = _('Stopped')
 			elif file_props['completed']:
-					status = _('Completed')
+				status = _('Completed')
 			elif file_props['connected'] == False:
 				if file_props['completed']:
 					status = _('Completed')
 			else:
-				if file_props.has_key('paused') and  \
+				if file_props.has_key('paused') and \
 				file_props['paused'] == True:
 					status = _('?transfer status:Paused')
 				elif file_props.has_key('stalled') and \
@@ -660,8 +666,12 @@ class FileTransfersTooltip(BaseTooltip):
 				else:
 					status = _('Transferring')
 		else:
-			status =  _('Not started')
+			status = _('Not started')
 		properties.append((_('Status: '), status))
+		if 'desc' in file_props:
+			file_desc = file_props['desc']
+			properties.append((_('Description: '), gobject.markup_escape_text(
+				file_desc)))
 		while properties:
 			property = properties.pop(0)
 			current_row += 1
@@ -669,7 +679,7 @@ class FileTransfersTooltip(BaseTooltip):
 			label.set_alignment(0, 0)
 			label.set_markup(property[0])
 			ft_table.attach(label, 1, 2, current_row, current_row + 1, 
-				gtk.FILL,  gtk.FILL, 0, 0)
+				gtk.FILL, gtk.FILL, 0, 0)
 			label = gtk.Label()
 			label.set_alignment(0, 0)
 			label.set_line_wrap(True)
diff --git a/src/vcard.py b/src/vcard.py
index 3e11a3cb6cf019e0bafc5b82f3349faa20d6f917..4784d9f0d0af7b91ef6040652446bb0c0896cb7f 100644
--- a/src/vcard.py
+++ b/src/vcard.py
@@ -1,19 +1,24 @@
 ##	vcard.py (has VcardWindow class and a func get_avatar_pixbuf_encoded_mime)
 ##
-## Copyright (C) 2003-2006 Yann Le Boulanger <asterix@lagaule.org>
+## Copyright (C) 2003-2007 Yann Leboulanger <asterix@lagaule.org>
 ## Copyright (C) 2005-2006 Nikos Kouremenos <kourem@gmail.com>
 ## Copyright (C) 2006 Stefan Bethge <stefan@lanpartei.de>
 ## Copyright (C) 2007 Lukas Petrovicky <lukas@petrovicky.net>
 ##
-## This program is free software; you can redistribute it and/or modify
+## This file is part of Gajim.
+##
+## Gajim is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published
-## by the Free Software Foundation; version 2 only.
+## by the Free Software Foundation; version 3 only.
 ##
-## This program is distributed in the hope that it will be useful,
+## Gajim is distributed in the hope that it will be useful,
 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 ## GNU General Public License for more details.
 ##
+## You should have received a copy of the GNU General Public License
+## along with Gajim.  If not, see <http://www.gnu.org/licenses/>.
+##
 
 # THIS FILE IS FOR **OTHERS'** PROFILE (when we VIEW their INFO)
 
@@ -258,18 +263,24 @@ class VcardWindow:
 			connected_contact_list = contact_list
 		# stats holds show and status message
 		stats = ''
-		one = True # Are we adding the first line ?
 		if connected_contact_list:
+			# Start with self.contact, as with resources
+			stats = helpers.get_uf_show(self.contact.show)
+			if self.contact.status:
+				stats += ': ' + self.contact.status
+			if self.contact.last_status_time:
+				stats += '\n' + _('since %s') % time.strftime('%c',
+					self.contact.last_status_time).decode(
+					locale.getpreferredencoding())
 			for c in connected_contact_list:
-				if not one:
+				if c.resource != self.contact.resource:
 					stats += '\n'
-				stats += helpers.get_uf_show(c.show)
-				if c.status:
-					stats += ': ' + c.status
-				if c.last_status_time:
-					stats += '\n' + _('since %s') % time.strftime('%c',
-						c.last_status_time).decode(locale.getpreferredencoding())
-				one = False
+					stats += helpers.get_uf_show(c.show)
+					if c.status:
+						stats += ': ' + c.status
+					if c.last_status_time:
+						stats += '\n' + _('since %s') % time.strftime('%c',
+							c.last_status_time).decode(locale.getpreferredencoding())
 		else: # Maybe gc_vcard ?
 			stats = helpers.get_uf_show(self.contact.show)
 			if self.contact.status: